ベジエクリッピング法による曲線交差判定

2本のカトマル・ロム曲線(曲線A曲線B)をそれぞれ3次ベジエ曲線列に変換し、 ベジエクリッピング法(fat line による区間の反復絞り込み)で全交点を求めます。
カトマル・ロム曲線は「①各区間が3次(次数3)の多項式、②全ての制御点を必ず通過する、③隣接区間の接線が一致する(C¹連続)」という条件を満たす補間曲線です。

編集対象

曲線A の張力

0.5

曲線B の張力

0.5



交点数: 0

・クリック: 選択中の曲線に点を追加
・ドラッグ: どちらの曲線の点も移動可
・右クリック: 最も近い点を削除

アルゴリズム: 各曲線をカトマル・ロム→3次ベジエ区間列に変換後、全区間ペアに対しベジエクリッピング(fat line 反復絞り込み + 収束不良時の2分割)で交点を探索します。

次数: 各区間を表す多項式の最高べき数。カトマル・ロム、ベジエとも各区間は3次(cubic)で、4つの係数(制御点)で1区間の形が決まります。

張力(tension): 各点での接線の強さを弱める係数(0〜1)。0で標準的なカトマル・ロム曲線、1に近づくほど接線が弱まり、より直線的でシャープな折れ線に近づきます。