「がんばれない」けど「がんばりたい」

ITエンジニアの仕事のこと。AI、機械学習、ディープラーニング。地頭力。車のこと。

Programming Interactivity #3 〜Vector (3)〜

次に複数のオブジェクトについて考えてみる。
ベクトルを利用するにあたって、追加の概念として、
衝突を考えてみたい。

衝突した後の方向もやはり、それぞれの質量を元に計算される。

ボールクラスにcollisionメソッドを追加しながら考察してみよう。
ボールがぶつかる時、何が起こるか?

一般的には、

  1. 両方のベクトルの差分から、新しいベクトルを決定する。
  2. 新ベクトルの角度を決める。
    ※どのくらい直接的にぶつかったのか?
    ※かすめる程度なのか?真っ向からぶつかったのか?
  3. 速度の差を決める。1.で決まった新ベクトルと角度を基に。
  4. 新ベクトルをオブジェクトに設定する。

続く…