ねこでじ(Nekodigi)

Nekodigi’s diary

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

【Processing】Pendulum Waveを実装する

成果物

www.youtube.com
簡単だと思っていましたが、意外と難しかったです。残像が残らず、飛び飛びで表示されるので若干違和感があります。モーションブラーで軽減できるかもしれないですが、今回は、止めておきます。

仕組み

振り子の計算

振り子の長さLと重力g、スタート時点の角度θmaxが分かれば、ある時点での角度がわかり、そこからx,y座標が分かります。ただ、範囲が+-θmaxなので、円の時とは違ってsinが先に来ます。
 \begin{array}{l}
\theta =\theta _{max}\sin\sqrt{\frac{\text{g}}{L}} t\\
( L\sin \theta ,L\cos \theta )
\end{array}
Pendulum

紐の長さ

適当な長さでは、もちろんPendulum Waveになりません。
先ほど式を変形などして、このような式を導くことができます。Tmaxは周期の長さです。
L( n) =\text{g}\left[\frac{Tmax}{2\pi ( k+n+1)}\right]^{2}
Pendulum Waves | Science project | Education.com

コード