なっちの備忘録

ピカチュウ美味しい

三角関数でBPM同期のエクスプレッションを考えてみる【After Effects】

色々方法はありそうですが、今回考えたのはこんなエクスプレッション

c=BPM;
s=初期条件;

100*Math.abs(Math.round(Math.sin(Math.PI*(time/c-s))));


BPM=155,s=1/6とし、z座標に適用した場合の実行結果↓
f:id:nachizail:20200521113358g:plain

アルゴリズム

sinの値が-1と1の間を周期的に変動することを利用し、四捨五入→絶対値という順番で処理をします。

図示するとこんなかんじ
赤い部分で値が0、それ以外の部分で値が100になります
f:id:nachizail:20200521121818g:plain




if文を使って条件分岐をすることでもBPMの表現はできます。
今回は、三角関数という美しいものを利用する紹介でした。