前提・実現したいこと
こちらの動画の(21:36辺り)で、ジャンプの処理に関して質問です。
ジャンプの処理を下記のようにしていますが、
velocity.y = Mathf.Sqrt(jumpHeight * -2f * gravity);
根拠としているv=√2gh とは何でしょうか?
ご教示お願いします。
試したこと
こちらのサイトで、
【9】高さhから落下 ・mgh=(1/2)mv^2 ・v=√2gh
とあり、mgh=(1/2)mv^2の
式変形から、v=√2ghが求まることはわかったのですが、
mgh=(1/2)mv^2
は見覚えがあるんですが、忘れてしまい、この式はなんでしょうか?(質問1)
検索してみると、mghが位置エネルギーで、1/2mv^2が運動エネルギーみたいですが(合っていますか?)、
この=で結ばれているのは、運動量保存の法則ですか?
しかし、運動量保存の法則で検索すると、思っていたのものと違う式が多々ヒットするので、違うのかなとも思ってしまいました。
質問2。
また、v=√2ghは、hの高さを落下しきったときの速さでしょうか?
hの高さの落下途中のときはこの速さではないということですか?
質問3。
ジャンプ処理のコードは、ジャンプボタンを押した瞬間に、高さhから落下した(落下しきった(?))速度を、
上向きに瞬間的にかけていると思いますが、
ジャンプ上昇中も、
C#
1velocity.y += gravity * Time.deltaTime
が効くはずなので、実際は、jumpHeightの高さまではジャンプしないという認識で合っていますか?
質問を閉じた後の調査メモ。
力とエネルギーの関係
エネルギーは(力 × 距離)の次元を持っている。 ある物体に力Fがかかっている場の中で、 その物体を力に逆らう方向に、距離xだけ移動させると その物体はエネルギーFxを得る。
参考サイト:位置エネルギー(ポテンシャルエネルギー)
高さhの重力の位置エネルギーは、
重力の位置エネルギー = 力 × 距離 = 重力 × h
力は、F=maの運動方程式で表せる。(Fが力で、mが質量、aが加速度)。
重力の加速度(重力加速度)は、記号gで表わされるので、
高さhの重力の位置エネルギーは、
位置エネルギー = 重力 × h = F × h = mgh
高さhから落下しきったときの位置エネルギーと運動エネルギーの関係。
位置エネルギーは運動エネルギーに移り変わる。
mgh=(1/2)mv^2
上記の式を式変形して、重力で高さhから落下しきったときの速度、
つまり、重力で、高さh進んだ時の速度は下記。
v=√2gh
Unityでは、高さhから0まで落ちる間に掛かる外力(重力)と、高さ0からhまで上昇する間に掛かる外力は、等しい。
これより、高さ0からhまで上昇する間に掛かる外力で、高さh進んだ時の速度も、
重力の高さh進んだ時の速度と等しいので、
高さ0からhまで上昇する間に掛かる外力で高さh進んだ時の速度は、
v=√2gh
となる。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/01/23 15:20
2020/01/24 14:48 編集
退会済みユーザー
2020/01/24 17:19