物体を移動させる (メモ)

 どの方向にも一定の移動量で動かしたい場合



 ・移動量 : 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平面の分をズラしてやる。

(上図の水色の分だけ動かす。)

…ような感じで。