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

講義

基礎講座
第2回授業報告(2008.06.06)

文責:林 叔克 (2008年6月 7日) カテゴリ:基礎講座日誌

今回の授業は、新たに文学部や法学部の1年生の参加となった。自然現象のアルゴリズムを見いだし、シミュレーションを構築することで、自然の原理を解明していこうという方向性を最初に提示した。

ボールの運動を記述するのに、座標軸の導入が必要となるが、との必然性をデカルトが、どのように「ここはどこ? いまはいつ?」という問いに答えようとしたかという逸話を紹介した。ここという場所を指し示すのに、基準となる場所が必要になる。この基準を原点とよび、座標軸を自然界に導入したことこそが、自然い対して人が見方を提示した瞬間である。この座標軸によって速度の定義など、他の物理量の定義が可能となる。

さて、ビリヤードの玉が壁にぶつかって反射していく世界を予測しよう!というのが課題である。

プログラムの実行文である等式、x=x+1;がこの瞬間と未来のつなぐ式であることを理解するとは、右辺のxは今のこの瞬間を表し、左辺のxは、未来の玉の位置を表していることを理解することである。 for文が繰り返される中で、xという変数に入る値が変わっていく。授業では数字がはいる箱という意味で、ブラックボックスという言い方をした。forループという繰り返しの中で、xという値がワンステップ毎に更新されていき、玉の運動が記述される。

玉が壁にぶつかる瞬間になにがおこるのか?「運動の向きがかわる」という意見がでてきたが、向きが変わるとは、どういう意味なのか?速度が方向性を持ち、方向性が導入した座標のプラス方向か、マイナス方向かで、符号がきまる。まず、ここで全員が立ち止まって考えた。

次にプログラム上で、速度の方向がどのように変化を書き表すことが必要となる。衝突が起こった瞬間におこる、過去と未来をつなぐ式を、過去を表す右辺、未来を表す左辺で表すにはどのようにしたらいいのだろうか?
C言語のプログラミングにおける課題としては、プログラム上におけるイコール=の意味は、数学の等式とは異なっているので、授業ではこのプログラム上のイコールという概念を構築するのに時間をかけた。
アルゴリズムを構築するさいに、繰り返し計算と条件分岐の理解が必要となるが、ボールが壁にぶつかるという瞬間をどのように条件とするのか、さらにボールが壁にぶつかる瞬間に「真」、ぶつからないならば「偽」という判定がなされる。

以上、「ボールが跳ね返るということは、どういうことか?」のアルゴリズムを繰り返し計算と条件分岐で構築した。


衝突するボールのプログラミング

for ループによる繰り返し計算
{
   x=x+Vx;//ボールの位置を更新する

  if(衝突の条件判定)
 {
  ーVx=Vx;//衝突の前後のワンステップにおこる現象を捉える
  }

}
cs1-3-2.gif

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

講義

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

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


▲このページのトップ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との接続に失敗しました