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

ベジエ曲面スライサー

Bezier Clipping による断面(等高線)抽出 — 包絡線によるUV範囲収縮 + 凸包判定 + マーチングスクエア + トリム曲線(18次距離関数のBezierクリッピング)
★ 形状選択
32パッチ / 290制御点
★ スライス面の向き
水平 (Y)
垂直 (X)
垂直 (Z)
スライダーで任意方向の法線を指定できます(自動正規化)
★ スライス配置(等高線)
▶ 自動アニメ(面を掃引)
★ ベジエクリッピング設定
0=パッチ単位のみ判定(粗い) 9=最大細分化(高精度・低速)
分割済み末端パッチ内をマーチングスクエアで細分(線分抽出)
★ トリム曲線(トリムド曲面)
トリム有効
内側を残す
トリム曲線
交点の球
距離関数グラフ(左下)
表示設定
半透明曲面
曲面ワイヤ
断面線
面ごとに色分け
UV分割図(右下)
統計
パッチ数
事前キャッシュ数
スライス面数
クリッピングテスト数
断面線分数
トリム曲線
距離関数の次数
トリム交点(球)
計算時間
スライス面一覧
🖱 ドラッグ → 視点回転
🖱 ホイール → ズーム
法線は3スライダーで任意方向に設定可能。
各パッチの制御点凸包が平面の片側に完全収容されている場合は判定を打ち切り(Bezier Clippingの核)、 それ以外は行・列の制御点から作る包絡線でUV範囲を直接絞り込み(本物のBezier Clipping)、 縮まない場合のみ4分木状に分割してマーチングスクエアで線分を抽出します。

★トリム:UV空間の3次ベジエ曲線(円=4本の閉ループ)で曲面を切り込みます。曲面上の曲線 C(t)=S(u(t),v(t)) を厳密なt の18次ベジエに合成し、平面との距離関数 g(t) の制御多角形(凸包)を使った1次元ベジエクリッピングで根=交点を求め、小さな球で表示します。断面線はUV追跡でトリム境界にて切り、交点の球へ接続します。
視点: 左ドラッグ / ズーム: ホイール