TOP > n.s.研究所 > 講義 > コンピュータ・サイエンス講座 > 基礎講座

講義

基礎講座
コンピュータサイエンス―基礎講座・第二回―

文責:田村 友里恵 (2009年3月 7日) カテゴリ:基礎講座

今日はボールを斜めに動かして、壁にあたったら跳ね返るプログラムを作成した。
壁は、x=1, x=-1, y=1, y=-1のときである。

解答例

プログラムの解答例は以下のとおりである。
(初期値は省略)

double x;  //ボールのx座標
double y; //ボールのy座標
double Vx; //ボールのx軸方向の速さ
double Vy; //ボールのy軸方向の速さ

x = x + Vx;
y = y + Vy;

if(x <= -1 || x >= 1)
{
    Vx = -Vx;
}

if(y <= -1 || y >= 1)
{
    Vy = -Vy;
}

プログラムの意味

今回、ボールを斜めに動かして、壁にあたったら跳ね返るプログラムを作成したのは、ボールの動きをx軸とy軸に分けて考えるためである。
例えば、ボールが右の壁(x=1)にあたって跳ね返ったとき、跳ね返る前と跳ね返る後で変わっているのは、x軸方向の速度、つまり、進む方向が変わっているだけなのだ。
同様に、左の壁(x=-1)、上の壁(y=1)、下の壁(y=-1)にボールがあたって跳ね返るときを考えていくと、右の壁か、左の壁に当たった時にはx軸方向の速度が変わっており、上の壁か、下の壁にあたった時にはy軸方向の速度が変わっているということがわかる。

IMG_1612.JPG

■現在のカテゴリ: 講義 > コンピュータ・サイエンス講座 > 基礎講座

講義

コンピュータ・サイエンス講座

マイコン・サイエンス講座


▲このページのトップn.s.研究所 トップ

▲このページのトップn.s.研究所 トップ

n.s.研究所

About n.s.研究所

Activity 活動予定

Thema 研究テーマ

単細胞生物の行動に関する研究

多細胞生物の行動に関する研究

社会性昆虫の行動に関する研究

人の認識に関する研究

環境に関する研究

Thema 開発テーマ

ロボットの開発

作ってみた

Lecture 講義

コンピュータ・サイエンス講座

マイコン・サイエンス講座

Library ライブラリ

LabVIEWを使った物理数学集

VisualC++

Report 報告

学会等での発表

論文発表

その他の報告




Warning: mysqli_connect(): (28000/1045): Access denied for user 'xsvx1015071_ri'@'sv102.xserver.jp' (using password: YES) in /home/xsvx1015071/include/natural-science/include_counter-d.php on line 8
MySQL DBとの接続に失敗しました