暗黙の表面

暗黙的表面トーラスR = 40、a = 15)
種数 2 の暗黙曲面。
暗黙の非代数面(ワイングラス)。

数学において、暗黙曲面はユークリッド空間内の方程式によって定義される 曲面である。

F×yz0。{\displaystyle F(x,y,z)=0.}

陰関数面とは、 3変数関数の集合です。陰関数面とは、方程式がxyzのいずれについても解けないことを意味します。

関数のグラフは通常、方程式で記述され、明示的表現と呼ばれます。曲面の3つ目の重要な記述はパラメトリック表現です。 ここで、曲面点のxyz座標は、共通のパラメータに依存する3つの関数で表されます。一般的に、表現の変更は明示的表現が与えられている場合にのみ簡単です。 (暗黙的)、(パラメトリック)。 zf×y{\displaystyle z=f(x,y)}×stystzst{\displaystyle (x(s,t),y(s,t),z(s,t))}×stystzst{\displaystyle x(s,t)\,,y(s,t)\,,z(s,t)}st{\displaystyle s,t}zf×y{\displaystyle z=f(x,y)}zf×y0{\displaystyle zf(x,y)=0}stfst{\displaystyle (s,t,f(s,t))}

:

  1. 飛行機×+2y3z+10。{\displaystyle x+2y-3z+1=0.}
  2. 球体×2+y2+z240。{\displaystyle x^{2}+y^{2}+z^{2}-4=0.}
  3. トーラス×2+y2+z2+R21つの224R2×2+y20。{\displaystyle (x^{2}+y^{2}+z^{2}+R^{2}-a^{2})^{2}-4R^{2}(x^{2}+y^{2})=0.}
  4. 種数2の表面: (図を参照)。2yy23×21z2+×2+y229z211z20{\displaystyle 2y(y^{2}-3x^{2})(1-z^{2})+(x^{2}+y^{2})^{2}-(9z^{2}-1)(1-z^{2})=0}
  5. 回転面(ワイングラスの 図を参照×2+y2lnz+3.220.020{\displaystyle x^{2}+y^{2}-(\ln(z+3.2))^{2}-0.02=0}

平面、球面、トーラスには単純な媒介変数表現が存在します。しかし、4番目の例ではそうではありません。

関数定理は、方程式がxy 、またはzについて(少なくとも暗黙的に)解ける条件を記述します。しかし、一般には解を明示的に示すことはできません。この定理は、曲面の重要な幾何学的特徴、すなわち接平面面法線曲率(下記参照)を計算するための鍵となります。しかし、これらには重要な欠点があります。それは、視覚化が難しいということです。 F×yz0{\displaystyle F(x,y,z)=0}

がxyzに関して多項式である場合、その曲面は代数的であると呼ばれます。例5は代数的であると言えます。 F×yz{\displaystyle F(x,y,z)}

視覚化が難しいにもかかわらず、暗黙的曲面は理論的(例えば、シュタイナー曲面)かつ実際的(下記参照)に興味深い曲面を生成するための比較的簡単な手法を提供します。

数式

以下の考察を通して、陰関数曲面は、 関数が微分可能条件を満たす方程式で表される。の 偏微分はである。 F×yz0{\displaystyle F(x,y,z)=0}F{\displaystyle F}F{\displaystyle F}F×FyFzF××{\displaystyle F_{x},F_{y},F_{z},F_{xx},\ldots }

接平面と法線ベクトル

面点が正則であるとは、の勾配がベクトルでない場合に限ります。つまり 、×0y0z0{\displaystyle (x_{0},y_{0},z_{0})}F{\displaystyle F}×0y0z0{\displaystyle (x_{0},y_{0},z_{0})}000{\displaystyle (0,0,0)}

F××0y0z0Fy×0y0z0Fz×0y0z0000{\displaystyle (F_{x}(x_{0},y_{0},z_{0}),F_{y}(x_{0},y_{0},z_{0}),F_{z}(x_{0},y_{0},z_{0}))\neq (0,0,0)}

表面の点が正則でない場合は特異点と呼ばれます。 ×0y0z0{\displaystyle (x_{0},y_{0},z_{0})}

正則点における接平面の方程式は ×0y0z0{\displaystyle (x_{0},y_{0},z_{0})}

F××0y0z0××0+Fy×0y0z0yy0+Fz×0y0z0zz00{\displaystyle F_{x}(x_{0},y_{0},z_{0})(x-x_{0})+F_{y}(x_{0},y_{0},z_{0})(y-y_{0})+F_{z}(x_{0},y_{0},z_{0})(z-z_{0})=0,}

そして法線ベクトル

n×0y0z0F××0y0z0Fy×0y0z0Fz×0y0z0T{\displaystyle \mathbf {n} (x_{0},y_{0},z_{0})=(F_{x}(x_{0},y_{0},z_{0}),F_{y}(x_{0},y_{0},z_{0}),F_{z}(x_{0},y_{0},z_{0}))^{T}。}

法線曲率

式を単純にするために引数は省略します。 ×0y0z0{\displaystyle (x_{0},y_{0},z_{0})}

κnvHFv卒業生F{\displaystyle \kappa _{n}={\frac {\mathbf {v} ^{\top }H_{F}\mathbf {v} }{\|\operatorname {grad} F\|}}}

は、単位接線方向における正規の点の表面の法曲率です。は、(2次導関数の行列) のヘッセ行列です。v{\displaystyle \mathbf {v} }HF{\displaystyle H_{F}}F{\displaystyle F}

この公式の証明は(暗黙曲線の場合と同様に)暗黙関数定理とパラメトリック曲面の法線曲率の公式に依存します。

暗黙曲面の応用

暗黙曲線の場合と同様に、単純なプリミティブに代数演算 (加算、乗算) を適用することで、目的の形状を持つ暗黙サーフェスを生成するのは簡単な作業です。

4点電荷の等電位面

点電荷の等電位面

点電荷の電位は 点に電位 を生成する(物理定数は省略)q{\displaystyle q_{i}}p×yz{\displaystyle \mathbf {p} _{i}=(x_{i},y_{i},z_{i})}p×yz{\displaystyle \mathbf {p} =(x,y,z)}

F×yzqpp{\displaystyle F_{i}(x,y,z)={\frac {q_{i}}{\|\mathbf {p} -\mathbf {p} _{i}\|}}.}

ポテンシャル値の等ポテンシャル面は、点 を中心とする球面である暗黙の面です 。 c{\displaystyle c}Fi(x,y,z)c=0{\displaystyle F_{i}(x,y,z)-c=0}pi{\displaystyle \mathbf {p} _{i}}

点電荷 の電位は次のように表される。4{\displaystyle 4}

F(x,y,z)=q1pp1+q2pp2+q3pp3+q4pp4.{\displaystyle F(x,y,z)={\frac {q_{1}}{\|\mathbf {p} -\mathbf {p} _{1}\|}}+{\frac {q_{2}}{\|\mathbf {p} -\mathbf {p} _{2}\|}}+{\frac {q_{3}}{\|\mathbf {p} -\mathbf {p} _{3}\|}}+{\frac {q_{4}}{\|\mathbf {p} -\mathbf {p} _{4}\|}}.}

図では、4つの電荷は1に等しく、点 に位置します 。表示されている表面は等電位面(暗黙面) です。 (±1,±1,0){\displaystyle (\pm 1,\pm 1,0)}F(x,y,z)2.8=0{\displaystyle F(x,y,z)-2.8=0}

一定距離積面

カシニ楕円は、与えられた2点までの距離の積が一定となる点集合として定義できます(楕円の場合は、その和は一定です)。同様に、暗黙曲面は、複数の固定点までの距離の積が一定となることで定義できます。

図の変態において、左上の面は次の規則によって生成されます。

F(x,y,z)=(x1)2+y2+z2(x+1)2+y2+z2x2+(y1)2+z2x2+(y+1)2+z2{\displaystyle {\begin{aligned}F(x,y,z)={}&{\sqrt {(x-1)^{2}+y^{2}+z^{2}}}\cdot {\sqrt {(x+1)^{2}+y^{2}+z^{2}}}\\&\quad \cdot {\sqrt {x^{2}+(y-1)^{2}+z^{2}}}\cdot {\sqrt {x^{2}+(y+1)^{2}+z^{2}}}\end{aligned}}}

一定距離の積面 が表示されます。 F(x,y,z)1.1=0{\displaystyle F(x,y,z)-1.1=0}

2 つの暗黙的サーフェス (トーラスと一定距離積サーフェス) 間の変態。

暗黙の表面の変容

新しい暗黙曲面を生成するさらに簡単な方法は、暗黙曲面のメタモルフォーシスまたはホモトピーと呼ばれます。

2つの暗黙的な表面(図では、一定距離積表面とトーラス)に対して、設計パラメータを使用して新しい表面を定義します。 F0(x,y,z)=0,F1(x,y,z)=0{\displaystyle F_{0}(x,y,z)=0,F_{1}(x,y,z)=0}μ[0,1]{\displaystyle \mu \in [0,1]}

Fμ(x,y,z)=μF1(x,y,z)+(1μ)F0(x,y,z)=0{\displaystyle F_{\mu }(x,y,z)=\mu F_{1}(x,y,z)+(1-\mu )\,F_{0}(x,y,z)=0}

図では、設計パラメータは連続的に です。 μ=0,0.33,0.66,1{\displaystyle \mu =0,\,0.33,\,0.66,\,1}

3つのトーラスの近似(平行投影
3 つのトーラスの近似のPOV-Ray画像 (中心投影)。

いくつかの暗黙曲面の滑らかな近似

Π{\displaystyle \Pi }-曲面[ 1 ]は、任意の滑らかで有界な物体を近似するために用いることができ、その表面は補助多項式の積として単一の多項式で定義される。言い換えれば、任意の滑らかな物体を単一の代数曲面を用いて設計することができる。定義多項式を と表記する。すると、近似物体は多項式によって定義される。 R3{\displaystyle R^{3}}fiR[x1,,xn](i=1,,k){\displaystyle f_{i}\in \mathbb {R} [x_{1},\ldots ,x_{n}](i=1,\ldots ,k)}

F(x,y,z)=ifi(x,y,z)r{\displaystyle F(x,y,z)=\prod _{i}f_{i}(x,y,z)-r}[ 1 ]

ここで、は近似誤差を制御するブレンディングパラメータを表します。 rR{\displaystyle r\in \mathbb {R} }

暗黙曲線による滑らかな近似と同様に、方程式

F(x,y,z)=F1(x,y,z)F2(x,y,z)F3(x,y,z)r=0{\displaystyle F(x,y,z)=F_{1}(x,y,z)\cdot F_{2}(x,y,z)\cdot F_{3}(x,y,z)-r=0}

適切なパラメータに対して、3つの交差するトーラスの滑らかな近似を方程式で 表す。c{\displaystyle c}

F1=(x2+y2+z2+R2a2)24R2(x2+y2)=0,F2=(x2+y2+z2+R2a2)24R2(x2+z2)=0,F3=(x2+y2+z2+R2a2)24R2(y2+z2)=0.{\displaystyle {\begin{aligned}F_{1}=(x^{2}+y^{2}+z^{2}+R^{2}-a^{2})^{2}-4R^{2}(x^{2}+y^{2})=0,\\[3pt]F_{2}=(x^{2}+y^{2}+z^{2}+R^{2}-a^{2})^{2}-4R^{2}(x^{2}+z^{2})=0,\\[3pt]F_{3}=(x^{2}+y^{2}+z^{2}+R^{2}-a^{2})^{2}-4R^{2}(y^{2}+z^{2})=0.\end{aligned}}}

(図中のパラメータは) R=1,a=0.2,r=0.01.{\displaystyle R=1,\,a=0.2,\,r=0.01.}

POV-Ray イメージ: 球と一定距離の積面 (6 点) 間の変形。

暗黙曲面の可視化

暗黙曲面をレンダリングするためのアルゴリズムには様々なものがあり、 [ 2 ]マーチングキューブアルゴリズムもその一つである。[ 3 ]基本的に暗黙曲面を視覚化する方法は2つある。1つは視覚化されるポリゴンのネットを生成する方法(曲面の三角形分割を参照)、もう1つは光線と曲面の交点を求めるレイトレーシングを利用する方法である。 [ 4 ]交点は球面トレーシングによって近似することができ、符号付き距離関数を使って曲面までの距離を求めることができる。[ 5 ]

暗黙的な表面ソフトウェア

無料の暗黙曲面ソフトウェア

代数的暗黙曲面モデリングをサポートするオープンソースまたはフリーソフトウェア:

  • K3DSurf — 3次元から6次元の数学的モデルを視覚化し、操作するためのプログラム。K3DSurfはパラメトリック方程式と等値面をサポートしています。
  • C++ で記述されたCGAL (計算幾何学アルゴリズム ライブラリ) は、暗黙的なサーフェス モデリング (暗黙的なサーフェス上のブール演算、視覚化のためのサーフェス メッシュ、暗黙的な曲線の配置) を強力にサポートします。
  • PyVista [ 6 ]は、 VTKをPythonでラッパー化したもので、暗黙的な曲面をより簡単に扱えるようにするものです。暗黙的な曲面のレンダリングと操作のための簡略化されたAPIです。numpyと統合可能です。
  • いくつかのBlenderアドオン (暗黙的サーフェスのメタボールとボリューム モデリング、およびカスタム暗黙的関数のスクリプト サポート)。
  • SculptsFEM(暗黙曲面上の偏微分方程式の解法、暗黙曲線の生成)
  • ImpliSolid [ 7 ](オープンソース)は鋭いエッジをサポートします。
  • Houdini(SDFと手続き型手法を用いた暗黙的なサーフェスモデリングをサポート)。Houdini Apprenticeライセンスは無料です。 [ 8 ]
  • POV-Ray(Persistence of Vision Raytracer)には、複雑な暗黙的なサーフェスを定義するためのサポートが組み込まれています。 [ 9 ]
  • ビジョンベースの表面再構成では、表面の統計的モデリングに暗黙関数を使用します:SDFStudio、[ 10 ] Geo-Neus、[ 11 ] PointSDF、[ 12 ]など。
  • マーチング キューブのコンテキスト、および一般的なイメージ ベース メッシュ生成や のコンテキストでは、暗黙的なサーフェスのポリゴン化を行うさまざまなソフトウェアが存在します。ただし、それらは必ずしも代数的閉形式フィールドに基づいているわけではありません。

暗黙的なサーフェスソフトウェアを使用した産業用または商用ソフトウェア

  • アルタイルインスパイア[ 13 ] [ 14 ]
  • Leapfrog は、 Seequentによる暗黙的な地質モデリング ソフトウェアで、鉱業や環境アプリケーションで広く使用されています。
  • Datamine Softwareの地質モデリングソフトウェアであるStudio RMは、鉱物資源の推定のための暗黙的なサーフェス生成をサポートします。
  • K-MINE は、鉱体モデリングに暗黙的なサーフェスを使用する採鉱および地質モデリング ソフトウェアです。
  • Maple には暗黙的なサーフェスをプロットするためのライブラリがあります。

参照

参考文献

  1. ^ a b Adriano N. Raposo; Abel JP Gomes (2019). 「π曲面:3Dオブジェクトの構成的構成に向けた暗黙曲面の積」WSCG 2019 27. 中央ヨーロッパにおけるコンピュータグラフィックス、視覚化、コンピュータビジョンに関する国際会議. arXiv : 1906.06751 .
  2. ^ジュールス・ブルーメンタール、チャンドラジット・バジャジ、ブライアン・ワイヴィル(1997年8月15日)。『陰関数曲面入門』モーガン・カウフマン、ISBN 978-1-55860-233-5
  3. ^イアン・スティーブンソン(2004年12月1日)『プロダクションレンダリング:設計と実装』Springer Science & Business Media. ISBN 978-1-85233-821-3
  4. ^エリック・ヘインズ、トーマス・アケニン・モラー:レイトレーシングの宝石、シュプリンガー、2019年、 ISBN 978-1-4842-4427-2
  5. ^ Hardy, Alexandre; Steeb, Willi-Hans (2008). C#実装によるコンピュータグラフィックスにおける数学ツール. World Scientific. ISBN 978-981-279-102-3
  6. ^ PyVista: https://github.com/pyvista/pyvista/blob/main/LICENSE
  7. ^インプリソリッド[1]
  8. ^ cgwiki: ボリューム: Houdini & CG のヒント: https://tokeru.com/cgwiki/HoudiniVolumes.html (2025年1月20日にアクセス)
  9. ^ https://www.povray.org/documentation/view/3.7.0/301/
  10. ^ SDFStudio: [2]
  11. ^ジオノウス[3]
  12. ^ PointSDF: [4]
  13. ^ Patrick J. Flynn著「Altairにおける暗黙的モデリングを用いた(確率的)格子設計」
  14. ^ Welch, Ken. 「Altair Inspire 2023: ... 暗黙的モデリングソリューション」Altairブログ、2023年11月30日。 [5]から入手可能。2025年1月20日にアクセス。

さらに読む