隐函数定理
对于任意的隐函数,全局上很难写出 y=f(x)形式。
但在任意一个局部,可以定义出y=f(x)
隐式曲线的绘制
将隐函数升高一维,看成是x和y的二元函数
z=f(x,y),
x,y∈[a,b]×[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
-
假设𝛻𝑓(𝒙)≠0,否则为奇异点,不考虑这种情况
-
unit normal为:
𝑛(𝒙)=∇f(x)||∇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𝐻(𝒙)=𝛻⋅𝒏(𝒙)=𝜕𝜕𝑥nx(x)+𝜕𝜕yny(x)+𝜕𝜕znz(x)=𝛻⋅𝛻𝑓(𝒙)||𝛻𝑓(𝒙)||- For a signed distance function, the formula simplifies to:
−2𝐻(𝒙)=𝛻⋅𝛻𝑓(𝑥)=𝜕2𝜕𝑥2f(x)+𝜕2𝜕y2f(x)+𝜕2𝜕z2f(x)=𝛻𝑓(𝑥)
本文出自CaterpillarStudyGroup,转载请注明出处。 https://caterpillarstudygroup.github.io/GAMES102_mdbook/