3次ベジェ曲線の変曲点は、どうやって求められるだろうか。
よく考えてみたら2次方程式を解くだけで簡単に求められた。
制御点の並び方を見てみると、変曲点があるパターンがわかるので、変曲点があるかもしれない区間を十分に小さくなるまで分割していけば、変曲点を求められるだろう。それか、曲率の式をニュートン法などでとけばよさそうな気もした。 が、そんなことはやらなくてよくなった。
まず、ベジェ曲線を分割するときのことを考える。
制御点同士を結ぶ線分の、t:1-tの地点を結び、そのまたt:1-tの地点を結び、分割された曲線の制御点を得る。その1回目にあたる線が緑色で示されている。
上図のように、変曲点で分割した場合は、制御点間をt:1-tに内分する点が、1つの直線上にある。
これを使用して式を立てる。
下式で、P0P1間の点からP1P2間の点へ向かう線が最初の中括弧で、P1P2間の点からP2P3間の点へ向かう線が次の中括弧。
2つのベクトルが平行であることを確かめたいので、後ろのベクトルを90度回転させて、内積が0となる t を計算する。
内積の部分を書いていくと、結構長い。
Maxima で計算した結果。
上式 = 0 となる t が、変曲点になる。
「13: 3次ベジェ曲線の変曲点」への1件のフィードバック