⚠ ローカルファイルとして開いています。Chromeのセキュリティ制限によりコンソール警告が出ますが動作に影響はありません。

ベジエ曲面どうしの交差(SSI)

S₁(u,v) = S₂(s,t) — 未知数4・条件3、解は1次元の交差曲線。(u,v,s,t) の4次元の箱に凸包による棄却と FAT 平面クリップを適用
★ 曲面A
曲面A: 32 パッチ
★ 曲面B(1枚の双3次パッチ)
★ ベジエクリッピング設定
両パッチがこの値より平坦になれば末端とみなし、平面どうしの交線を取り出す
FAT 平面クリップを使う
OFF にすると境界箱の棄却と4分割だけになります。判定ノード数の差が統計に現れます
表示設定
曲面A(青)
曲面B(橙)
交差曲線
ワイヤ
パッチ境界線
統計
パッチ対
判定ノード数
棄却
クリップで収縮
末端パッチ対
交差線分数
計算時間
🖱 ドラッグ → 視点回転 🖱 ホイール → ズーム

S₁(u,v) = S₂(s,t) は未知数 4・条件 3 なので、解は 1 次元の交差曲線です。 (u,v,s,t) の 4 次元の箱に対し、凸包による棄却を 2 段構えで行います。

① 制御点の境界箱が重ならなければ交差しない(最も安い棄却)
② 一方の曲面を包む平行 2 平面(FAT 平面)を作り、他方からその平面への 符号付き距離を考える。これは制御点について線形なので、係数がそのまま n·Pij − d で得られる 3×3 次のベジエ関数になる。凸包性より、 距離が帯に入り得ない UV 範囲を確実に削り落とせる。

曲線どうしの交点計算で使う FAT Line の曲面版にあたります。 捨てられなければ大きい方を 4 分割して再帰し、両者が十分平坦になった末端で 平面どうしの交線を線分として取り出します。
視点: 左ドラッグ / ズーム: ホイール