隐函数定理
对于任意的隐函数,全局上很难写出 \(y=f(x)\)形式。
但在任意一个局部,可以定义出\(y=f(x)\)
隐式曲线的绘制
将隐函数升高一维,看成是\(x\)和\(y\)的二元函数
\(z=f(x,y), \)
\(x,y\in [a,b]\times [c,d]\)
则该隐式曲线为上述二元函数的0等值线(平面\(z=0\)与\(z=f(x,y)\)的交线)
• \(f(x,y)=0\), 曲线上;
• \(f(x,y)<0\), 曲线的左侧(内部);
• \(f(x,y)>0\), 曲线的右侧(外部);
找一个隐式函数上的点的过程称为显式化或参数化。这是一个比较难的问题,常用方法是Marching Cube。
隐式函数表达
已知一条封闭曲线,如何构造隐式函数表达?
General case
- Non‐zero gradient at zero crossings
- Otherwise arbitrary
没有解释这种方法
Signed implicit function:
sign (𝑓):
- 负:inside
- 正:outside
Signed distance field (SDF)
|𝑓|:distance to the surface
sign(𝑓): negative inside, positive outside
Squared distance function
𝑓 = \((\)distance to the surface\()^2\)
微分属性 Differential Properties
对于曲面表面上的点x,满足以下性质:
-
\( 𝑓(𝒙)=0\)
-
假设\(𝛻𝑓(𝒙)\ne 0\),否则为奇异点,不考虑这种情况
-
unit normal为:
$$ 𝑛(𝒙)=\frac{\nabla f(x) }{||\nabla f(x)|| } $$- For signed functions, the normal is pointing outward
- For signed distance functions, this simplifies to 𝒏(𝒙)=𝛻𝑓(𝒙)
-
mean curvature与the divergence of the unit normal成正比:
$$ -2𝐻(𝒙)=𝛻⋅𝒏(𝒙)=\frac{𝜕}{𝜕𝑥} n_x(x)+\frac{𝜕}{𝜕y}ny(x)+\frac{𝜕}{𝜕z}n_z(x)\\ =𝛻 ⋅\frac{𝛻𝑓(𝒙)}{||𝛻𝑓(𝒙)||} $$- For a signed distance function, the formula simplifies to:
$$ -2𝐻(𝒙)=𝛻 ⋅ 𝛻𝑓(𝑥)=\frac{𝜕^2}{𝜕𝑥^2} f(x)+\frac{𝜕^2}{𝜕y^2}f(x)+\frac{𝜕^2}{𝜕z^2}f(x)=𝛻𝑓(𝑥) $$
本文出自CaterpillarStudyGroup,转载请注明出处。 https://caterpillarstudygroup.github.io/GAMES102_mdbook/