物体を移動させる (メモ)
どの方向にも一定の移動量で動かしたい場合
・移動量 : v
・2D の場合
※x, y
… 各座標
※r
… 移動方向
要するに、
x += v * cos( r );
y += v * sin( r );
これの灰色の分だけ動かす。
・3D の場合
※x, y, z
… 各座標
※r_xy, r_xz
… (各平面上の)移動方向
要するに、
x += v * cos( r_xy ) * cos( r_xz );
y += v * sin( r_xy ) * cos( r_xz );
z += v * cos( r_xy ) * sin( r_xz );
これのピンクの分だけ動かす。
……わけだけど、分かりにくいので、
各平面ごとに、分割して考えてやると、
まずxy平面の分だけズラして、
(上図の水色の分だけ動かして)
次にxz平面の分をズラしてやる。
(上図の水色の分だけ動かす。)
…ような感じで。