Algodoo

一見お絵かきツールのようですが、物理モデルのシミュレーションにより、描いた図形を動かすことができます。

http://www.algodoo.com/

一つひとつのオブジェクトに対して、その性質を細かく設定できるため、かなりリアリティのある動きが再現できます。特にバネの動きはとても気にいりました。
またぶつかったりするイベントごとにプログラミングにより動きを制御することができます。

まずは空間に矩形を固定したものをシーソーとして上からボールを落としてその動きを作ってみました。

シーソーができたらシミュレーションを開始します。

円形はシミレーションしながらドラッグして作成します。ドラッグの長さが半径になります。
これだけでもなかなか面白いです。
次は、斜面から転がってきたボールが下の障害物にあたったとき、また斜面にボールを戻すことによってずっと繰り替えす動きをつくります。

ぶつかったときに座標を変更するプログラムは、スクリプトメニュー(オブジェクトを右クリック)よりonCollideに以下のように記述します。
座標は仮のオブジェクトを作って、同じくスクリプトメニューのposから読み取ります。

やれることがありすぎてちょっと戸惑いますが、これはかなり遊べます。