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