| # | 動作 | 区間 | クリップ後 | 縮小率 |
|---|
使い方: 青い丸(制御点)はドラッグで移動。左キャンバスの空いた場所をクリックすると外部点 P(赤丸)が置かれ、P から曲線への接線(緑)が自動計算されます。P の上をドラッグすれば P も移動可。
根の求め方: (C(t)−P)×C'(t) を展開すると (2n−1) 次のベルンシュタイン多項式 f(t) になります。この f(t)=0 の解はすべてベジエクリッピング法で求めています。f(t) の制御点の凸包が y=0 の直線と交差する範囲だけに解がありうるので、その範囲へ区間を反復的にクリップし、縮小が遅い場合は区間を2分割して複数根を分離します(二分法は使っていません)。右のサブパネルで各根ごとの反復過程をステップ実行・再生できます。
ベジエ曲線 C(t)
制御多角形
点 P / 接点
接線