ねこでじ(Nekodigi)

Nekodigi’s diary

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

【Processing】あるxでの三次ベジェ曲線のyを求める。(ニュートン法)

成果物

f:id:Nekodigi:20200915171838g:plain
今回は、前回の二次ベジェ曲線に続き、あるxでの3次ベジェ曲線のyを求めてみました。三次方程式を使った方法もあるのですが、うまくいかなかったうえ、三角関数などを多く使用していることが原因で重かったのでニュートン法を使用しました。

仕組み

tが値の範囲の半分の時のxの値を求め、その結果に応じて範囲を絞り込みます。これを、誤差が許容範囲になるまで繰り返すと、あるxでのtが求められます。そうすると、そのtからyが求められます。
二次ベジェ曲線の場合についてはこちらをどうぞ。
nekodigi.hatenablog.com
※三次方程式を使い改良しています。詳しくはこちら
nekodigi.hatenablog.com

コード

Cubic Bezier given Xという名前で追加しています。
github.com