Processing その1

Processingを使ってアニメーションのお勉強。そのためのメモです。

移動の考え方

ものが移動するときの考え方は、「移動距離 = 速さ × 時間」になる。たいていのアニメーションさせるツールは、フレームという一定の時間を持っているのでオブジェクトを動かすときには、フレームごとに速さ分位置を動かしてあげればいい。

つまり、1フレームだけを見てみると、

次の位置 = 今の位置 + 速さ

になる。
これが、フレームレートで動かされる分だけ物体が移動していっているように見える。

X = X + Vx;
Y = Y + Vy;
X:横方向の位置、Y:縦方向の位置、Vx:横方向の速さ、Vy:縦方向の速さ

これが、フレームがくるくる回ることに実行されて、動いていく!

跳ね返りの考え方

ものが跳ね返るということは、速さが、反対になること。 
ものがぶつかると、今まで右に進んでいたものが、左に進むことになる。
速さの符号(+−)は、動いている方向を意味しているから、
速さにマイナスをかけてあげれば反対側に向かって進んでいくことを意味している。

速さ → −1 × 速さ

Vx = -Vx;
X = X + Vx;
Vy = -Vy;
Y = Y + Vy;

後、考えなくてはいけないのは、どこでものとぶつかるか。
物には大きさがあるので、「ものの位置+ものの大きさ」を考える。

円であれば、自分の位置(たいてい円の真ん中)+ 半径。
その位置とぶつかるものの位置を比較することで、判定する。

速さを変化する。重力。加速度。ばねの力とかとか。

重力は、速さを変化させるもの。
だから、「次の速さ = 今の速さ + 重力」ということになる。

Vy = Vy + G;

で、この重力のようなもの、つまり速さを変化させるものは加速度といわれる。

そこで、ばねの動きを表現するためには、
ばねの引く力が速さを変化させる。

ばねの力 = 定数 × ばねの伸び

このばねの力をさっきの重力と同じように扱ってあげればいい。
って、すこし強引すぎる気もするけど。

覚えたいこと

アークタンジェントの考え方