★ 形状選択
32パッチ / 290制御点
★ 条件関数 F(u,v)
—
★ ベジエクリッピング設定
OFF にすると単純4分割のみになり、判定ノード数の差が統計に現れます
統計
パッチ数—
F の次数—
判定ノード数—
凸包で棄却—
クリップで収縮—
抽出線分数—
計算時間—
🖱 ドラッグ → 視点回転 🖱 ホイール → ズーム
ここで解いている問題はすべて同じ形です。
曲面上の条件を1つのスカラー2変数ベジエ関数 F(u,v) に表し、
その零集合を UV 領域の再分割で追い込んで線分列として出力する、というものです。
条件式が S(u,v) の多項式で書ければ、ベジエ関数の積の公式で係数を厳密に組み立てられます。
あとは 全係数が同符号なら解なし(凸包性による棄却)、
符号混在なら凸包クリップで UV 範囲を収縮、という手順が共通に使えます。
コード上は fieldCoefs() の中身を差し替えるだけです。
輪郭線は視点に依存するため回転のたびに再計算しますが、
抜き勾配・球との交線は視点に依存しないので、回転しても再計算は走りません。