ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】着地地点から発射角度を求める(同じ高さ)

成果物

www.youtube.com
着地地点から発射角度を求めることが出来るのかなと思って調べたところ見つかったので作ってみました。導く過程は長いですが、本体は1行で記述できます。異なる高さに対応させると、どんな高さでも対応できるので、次回やっていこうと思います。

仕組み

 \begin{array}{l}
今回は、発射地点と落下地点の高さが同じ場合、\\
発射速度v_{0} と距離xから発射角度を求める式を導きます。\\
結果だけ知りたい方は完了と書いてあるところににお進みください。\\
y=y_{0} +v_{0} t+\frac{1}{2}\text{g} t^{2} ,x=v_{0} t\\
0=0+v_{0}\sin \theta \ t-\frac{1}{2}\text{g} t^{2} ,x=v_{0}\cos \theta \ t\\
0=v_{0}\sin \theta \left(\frac{x}{v_{0}\cos \theta }\right) -\frac{1}{2}\text{g}\left(\frac{x^{2}}{v^{2}_{0}\cos^{2} \theta }\right) ,t=\frac{x}{v_{0}\cos \theta }\\
\left( 0=\frac{\sin \theta }{\cos \theta } -\frac{\text{g} x}{2v^{2}_{0}\cos^{2} \theta }\right)\cos^{2} \theta \\
0=\sin \theta \cos \theta -\frac{\text{g} x}{2v^{2}_{0}}\\
積和の公式を利用\\
0=\frac{1}{2}\sin 2\theta -\frac{\text{g} x}{2v^{2}_{0}}\\
0=\sin 2\theta -\frac{\text{g} x}{v^{2}_{0}}\\
\sin 2\theta =\frac{\text{g} x}{v^{2}_{0}}\\
2\theta =\arcsin\left(\frac{\text{g} x}{v^{2}_{0}}\right)\\
完了\\
\theta =\frac{1}{2}\arcsin\left(\frac{\text{g} x}{v^{2}_{0}}\right)\\
積和の公式\\
\ \sin \alpha \cos \beta =\frac{1}{2}(\sin( \alpha +\beta ) +\sin( \alpha -\beta ))
\end{array}

コード

github.com