Surface in 3D space defined by an implicit function of three variables
暗黙曲面トーラス ( R = 40、 a = 15) 。 種数 2 の暗黙曲面。 暗黙の非代数面( ワイングラス )。 数学 において 、 暗黙曲面は ユークリッド空間 内の 方程式によって定義される 曲面 である。
F ( x , y , z ) = 0. {\displaystyle F(x,y,z)=0.} 陰関数面 とは、 3変数関数の 零 点 集合です 。 陰関数面 とは、方程式が x 、 y 、 z のいずれについても解けないことを意味します。
関数のグラフは通常、方程式で記述され、 明示的 表現と呼ばれます 。曲面の3つ目の重要な記述は パラメトリック 表現です。 ここで、曲面点の x 、 y 、 z 座標は、共通のパラメータに依存する 3つの関数で表されます。一般的に、表現の変更は明示的表現 が与えられている 場合にのみ簡単です。 (暗黙的)、 (パラメトリック)。 z = f ( x , y ) {\displaystyle z=f(x,y)} ( x ( s , t ) , y ( s , t ) , z ( s , t ) ) {\displaystyle (x(s,t),y(s,t),z(s,t))} x ( s , t ) , y ( s , t ) , z ( s , t ) {\displaystyle x(s,t)\,,y(s,t)\,,z(s,t)} s , t {\displaystyle s,t} z = f ( x , y ) {\displaystyle z=f(x,y)} z − f ( x , y ) = 0 {\displaystyle z-f(x,y)=0} ( s , t , f ( s , t ) ) {\displaystyle (s,t,f(s,t))}
例 :
平面 x + 2 y − 3 z + 1 = 0. {\displaystyle x+2y-3z+1=0.} 球面 x 2 + y 2 + z 2 − 4 = 0. {\displaystyle x^{2}+y^{2}+z^{2}-4=0.} トーラス ( x 2 + y 2 + z 2 + R 2 − a 2 ) 2 − 4 R 2 ( x 2 + y 2 ) = 0. {\displaystyle (x^{2}+y^{2}+z^{2}+R^{2}-a^{2})^{2}-4R^{2}(x^{2}+y^{2})=0.} 種数 2 の表面: (図を参照)。 2 y ( y 2 − 3 x 2 ) ( 1 − z 2 ) + ( x 2 + y 2 ) 2 − ( 9 z 2 − 1 ) ( 1 − z 2 ) = 0 {\displaystyle 2y(y^{2}-3x^{2})(1-z^{2})+(x^{2}+y^{2})^{2}-(9z^{2}-1)(1-z^{2})=0} 回転面(ワイングラスの 図 を参照 ) 。 x 2 + y 2 − ( ln ( z + 3.2 ) ) 2 − 0.02 = 0 {\displaystyle x^{2}+y^{2}-(\ln(z+3.2))^{2}-0.02=0} 平面、球面、トーラスには単純な媒介変数表現が存在します。しかし、4番目の例ではそうではありません。
陰 関数定理は、 方程式が x 、 y 、 または z について(少なくとも暗黙的に)解ける条件を記述します。しかし、一般には解を明示的に示すことはできません。この定理は、曲面の重要な幾何学的特徴、 すなわち接平面 、 面法線 、 曲率 (下記参照)を計算するための鍵となります 。しかし、これらには重要な欠点があります。それは、視覚化が難しいということです。 F ( x , y , z ) = 0 {\displaystyle F(x,y,z)=0}
がx 、 y 、 z に関して多項式である 場合 、その曲面は 代数的で あると呼ばれます。例5は 非 代数的であると言えます。 F ( x , y , z ) {\displaystyle F(x,y,z)}
視覚化が難しいにもかかわらず、暗黙的曲面は理論的に(例えば、 シュタイナー曲面 )そして実際的に(以下を参照)興味深い曲面を生成するための比較的簡単な手法を提供します。
以下の考察を通して、陰関数曲面は、関数が微分可能条件を満たす方程式で表されます 。 の 偏 微分 は です F ( x , y , z ) = 0 {\displaystyle F(x,y,z)=0} F {\displaystyle F} F {\displaystyle F} F x , F y , F z , F x x , … {\displaystyle F_{x},F_{y},F_{z},F_{xx},\ldots }
接平面と法線ベクトル 面点が 正則である とは、 の 勾配が 零 ベクトルでない場合に 限ります 。つまり 、 ( x 0 , y 0 , z 0 ) {\displaystyle (x_{0},y_{0},z_{0})} F {\displaystyle F} ( x 0 , y 0 , z 0 ) {\displaystyle (x_{0},y_{0},z_{0})} ( 0 , 0 , 0 ) {\displaystyle (0,0,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 ) ) ≠ ( 0 , 0 , 0 ) {\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)} 。 面の点が正則 でない 場合 、それは 特異点 と
呼ばれます ( x 0 , y 0 , z 0 ) {\displaystyle (x_{0},y_{0},z_{0})}
正則点における接平面の方程式 は ( x 0 , y 0 , z 0 ) {\displaystyle (x_{0},y_{0},z_{0})}
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 , {\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 ( 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 . {\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}.}
法線曲率 式を簡潔にするため、引数 は省略します ( x 0 , y 0 , z 0 ) {\displaystyle (x_{0},y_{0},z_{0})}
κ n = v ⊤ H F v ‖ grad F ‖ {\displaystyle \kappa _{n}={\frac {\mathbf {v} ^{\top }H_{F}\mathbf {v} }{\|\operatorname {grad} F\|}}} は、単位接線方向における正規の点の表面の法曲率です 。は 、(2次導関数の行列) の ヘッセ行列 です。 v {\displaystyle \mathbf {v} } H F {\displaystyle H_{F}} F {\displaystyle F}
この公式の証明は(暗黙曲線の場合と同様に)暗黙関数定理と パラメトリック曲面 の法線曲率の公式に依存します。
暗黙曲面の応用 暗黙曲線の場合と同様に、単純なプリミティブに代数演算 (加算、乗算) を適用することで、目的の形状を持つ暗黙サーフェスを生成するのは簡単な作業です。
4点電荷の等電位面
点電荷の等電位面 点電荷の電位は 点に 電位 を生成する(物理定数は省略) q i {\displaystyle q_{i}} p i = ( x i , y i , z i ) {\displaystyle \mathbf {p} _{i}=(x_{i},y_{i},z_{i})} p = ( x , y , z ) {\displaystyle \mathbf {p} =(x,y,z)}
F i ( x , y , z ) = q i ‖ p − p i ‖ . {\displaystyle F_{i}(x,y,z)={\frac {q_{i}}{\|\mathbf {p} -\mathbf {p} _{i}\|}}.} ポテンシャル値の等ポテンシャル面は、 点 を中心とする球面である 暗黙の面です 。 c {\displaystyle c} F i ( x , y , z ) − c = 0 {\displaystyle F_{i}(x,y,z)-c=0} p i {\displaystyle \mathbf {p} _{i}}
点電荷 の電位は次のように表される。 4 {\displaystyle 4}
F ( x , y , z ) = q 1 ‖ p − p 1 ‖ + q 2 ‖ p − p 2 ‖ + q 3 ‖ p − p 3 ‖ + q 4 ‖ p − p 4 ‖ . {\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 ) = ( x − 1 ) 2 + y 2 + z 2 ⋅ ( x + 1 ) 2 + y 2 + z 2 ⋅ x 2 + ( y − 1 ) 2 + z 2 ⋅ x 2 + ( y + 1 ) 2 + z 2 {\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つの暗黙的な表面 (図では、一定距離積表面とトーラス)に対して、設計パラメータを使用して新しい表面を定義します 。 F 0 ( x , y , z ) = 0 , F 1 ( 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 ) = μ F 1 ( x , y , z ) + ( 1 − μ ) F 0 ( 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] は、任意の滑らかで有界な物体を近似するために用いることができ、 その表面は補助多項式の積として単一の多項式で定義される。言い換えれば、任意の滑らかな物体を単一の代数曲面を用いて設計することができる。定義多項式を と表記する 。すると、近似物体は多項式によって定義される。 R 3 {\displaystyle R^{3}} f i ∈ R [ x 1 , … , x n ] ( i = 1 , … , k ) {\displaystyle f_{i}\in \mathbb {R} [x_{1},\ldots ,x_{n}](i=1,\ldots ,k)}
F ( x , y , z ) = ∏ i f i ( x , y , z ) − r {\displaystyle F(x,y,z)=\prod _{i}f_{i}(x,y,z)-r} [1] ここで、は 近似誤差を制御するブレンディングパラメータを表します。 r ∈ R {\displaystyle r\in \mathbb {R} }
暗黙曲線による滑らかな近似と同様に、方程式
F ( x , y , z ) = F 1 ( x , y , z ) ⋅ F 2 ( x , y , z ) ⋅ F 3 ( 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}
F 1 = ( x 2 + y 2 + z 2 + R 2 − a 2 ) 2 − 4 R 2 ( x 2 + y 2 ) = 0 , F 2 = ( x 2 + y 2 + z 2 + R 2 − a 2 ) 2 − 4 R 2 ( x 2 + z 2 ) = 0 , F 3 = ( x 2 + y 2 + z 2 + R 2 − a 2 ) 2 − 4 R 2 ( y 2 + z 2 ) = 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] など。 マーチング キューブ のコンテキスト や、一般的な イメージベース メッシュ生成 や のコンテキストでは、暗黙的なサーフェスのポリゴン化を行うためのさまざまなソフトウェアが存在しますが、それらは必ずしも代数的閉形式フィールドに基づいているわけではありません。
暗黙的なサーフェスソフトウェアを使用した産業用または商用ソフトウェア
参照
参考文献 ^ ab Adriano N. Raposo; Abel JP Gomes (2019). 「π曲面:3Dオブジェクトの構成的構成に向けた暗黙曲面の積」WSCG 2019 27. 中央ヨーロッパにおけるコンピュータグラフィックス、視覚化、コンピュータビジョンに関する国際会議 . arXiv : 1906.06751 ^ ジュールス・ブルーメンタール、チャンドラジット・バジャジ、ブライアン・ワイヴィル(1997年8月15日)。『陰関数曲面入門』モーガン・カウフマン、 ISBN 978-1-55860-233-5 。 ^ イアン・スティーブンソン(2004年12月1日). プロダクションレンダリング:設計と実装. シュプリンガー・サイエンス&ビジネス・メディア. ISBN 978-1-85233-821-3 。 ^ エリック・ヘインズ、トーマス・アケニン=モラー著: レイトレーシングの宝石 、シュプリンガー、2019年、 ISBN 978-1-4842-4427-2 ^ ハーディ、アレクサンドル、スティーブ、ウィリー・ハンス (2008). C#実装によるコンピュータグラフィックスの数学的ツール. World Scientific. ISBN 978-981-279-102-3 。 ^ PyVista: https://github.com/pyvista/pyvista/blob/main/LICENSE ^ インプリソリッド [1] ^ cgwiki: ボリューム: Houdini & CG のヒント: https://tokeru.com/cgwiki/HoudiniVolumes.html (2025年1月20日にアクセス) ^ https://www.povray.org/documentation/view/3.7.0/301/ ^ SDFStudio: [2] ^ ジオノウス [3] ^ PointSDF: [4] ^ Patrick J. Flynn著「Altairにおける暗黙的モデリングを用いた(確率的)格子設計」 ^ Welch, Ken. 「Altair Inspire 2023: ... 暗黙的モデリングソリューション」Altairブログ、2023年11月30日。[5]から入手可能。2025年1月20日にアクセス。
さらに読む Gomes, A., Voiculescu, I., Jorge, J., Wyvill, B., Galbraith, C.: Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms , 2009, Springer-Verlag London, ISBN 978-1-84882-405-8 ソープ著『 微分幾何学の初等的主題』 、シュプリンガー・フェアラーク、ニューヨーク、1979年、 ISBN 0-387-90357-7
次元空間 他の次元 多面体 と 図形 数体系 数字による次元 参照