エネルギー保存とアニメーション
- 2023/09/30
- 22:57
運動エネルギーとエネルギー保存の法則
運動をしている物体はその運動に用いられているエネルギーを持っています。そのエネルギーは運動エネルギーといいます。
運動エネルギーは通常は摩擦や衝突などで減っていきますが、もし運動エネルギーが減らない状態で物体が運動していればその運動は永続的に続きます。その法則をエネルギー保存の法則といいます。
今回はエネルギー保存の法則に基づく永続的なアニメーションを作ってみたいと思います。
位置エネルギーと落下運動
物体がエネルギーをともない運動を行っているという事は、そのエネルギーを何らかの形で獲得しているともいえます。
動物だったら食料を食べてそれをエネルギーとして動きますし、車ならガソリンや電気を運動エネルギーに変えて動いています。
今回は落下物の運動をアニメーションとして再現したいと思います。
落下運動は重力に拠る等加速度運動です。地球上での重力に拠る加速度は9.8m/s2で、その加速度を重力加速度といいます。その時のエネルギーはより高い場所から落下すればより衝撃がより大きくなるように、その高さに拠ります。このエネルギーを位置エネルギーといいます。
落下運動で衝突が起こればそこで発生した衝撃の分だけエネルギーが減り、物体が跳ね返る場合には減ったエネルギーだけ跳ね返りの高さが低くなります。ここでエネルギーが減らない跳ね返り(完全弾性衝突)が起こればその物体が落下を始めた位置の高さまで届きます。
このアニメーションは鉛直方向の等加速度運動を落下運動としたものです。
Canvasの下枠を基準に速度を反転させることでバウンドの描写を行っています。その際にアニメーションの描写の指定に元の位置への指定は行っていませんが、描写が元の位置に戻りアニメーションが続いています。これによってエネルギー保存の法則に基づくアニメーションとしています。
速度を反転させる条件式についてですが、以上ではなくより大きいを用いています。それによりCanvasの下枠に達した次の描写の時点で速度を反転させた状態の描写になります。以上を条件式に用いた場合、1pxほどの位置エネルギーが元の位置に戻るのに必要という事になり、バウンドの大きさが小さくなっていくアニメーションになります。
スポンサーサイト