平面 → NURBS曲面 最短距離・最遠距離 — 有理ベジエクリッピング法

rational Bézier decomposition · f=A/W−d · stationary eqs A′W−W′A=0 · convex-hull clipping
★ 形状データ
平面の向き(計測平面・断面 共通)
水平(等高線)
垂直⊥X
垂直⊥Y
★ 距離計測平面
±100 で曲面の最下点・最上点に接する位置。内側では平面が曲面と交差(最短距離 0)
計測平面
最短・最遠点
—
★ 曲面の境界箱
境界箱を表示
制御点の箱(点線)
yz・xz・xy 平面(法線 x, y, z)からの最近点・最遠点=各座標の最小・最大から作る直方体
(「境界箱を表示」で計算)
★ セグメント(有理ベジエパッチ)の境界箱
セグメント境界箱
全セグメント(枠のみ)
—
(「セグメント境界箱」で表示)
スライス面の配置
自動間隔(等間隔) ON
自動間隔ON時: 形状の外接範囲内にN枚を等間隔配置(等高線と同じ考え方)
有理ベジエクリッピング設定
NURBS曲面はまずノット挿入により有理ベジエパッチ(多項式区間ごとの4角形制御網、重み付き)に分解。 重み wᵢ>0 の有理ベジエ曲面は、デカルト座標の制御点の凸包内に収まる性質(凸包性)を非有理と同じ次数のまま保つため、 平面の片側に制御点がすべて収まれば交差なしと断定して枝刈りできる。両側にまたがる区間のみ de Casteljau 法で 4分割を再帰し、葉ノードの4隅(=厳密な曲面上の点)を線形補間して断面線分を求める。

最短・最遠距離:符号付き距離 f=A/W−d(A=Σw(n·P)B, W=ΣwB)の極値は ①パッチ4隅 ②境界の有理曲線の停留点(a′w−w′a=0 の根)③内部停留点 (Gs=A_sW−W_sA=0, Gt=A_tW−W_tA=0)のいずれか。③は Gs, Gt の Bernstein 係数の凸包と 0 の交差で s,t 範囲を交互に絞り込み(ベジエクリッピング)、縮まなければ4分割。制御値の比 a/w の範囲が 現在の最小・最大を更新しえない部分パッチは枝刈りし、末端はニュートン法で精密化。 Gs, Gt は d を含まないので平面の平行移動では再計算不要。
表示設定
半透明曲面
ベジエ制御網
断面線(等距離線)
統計
元NURBS曲面数—
有理ベジエパッチ数—
スライス面数—
断面線分数—
計算時間—
🖱 ドラッグ → 視点回転(Z軸が上方向)
🖱 ホイール/ピンチ → ズーム
各スライス面ごとに色分けして断面を表示しています。
視点: ドラッグで回転 / ホイールでズーム