# 曲率定义
有了第一、第二基本形式和形算子,我们现在已经可以很好的去描述曲面的性质。第一个要面对的就是曲率 (Curvature)「曲率」。
定义
令 (S,n) 为有向正则三维曲面,σ(u,v):D→R3 为其正向参数表示,TpS 为 S 在 p∈S 处的切空间,Σp:TpS→TpS 为 S 在 p 处的形算子。此时,称
K(p):=det(Σp)
为 S 在 p 处的高斯曲率 (Gaussian curvature)「ガウス曲率」,
称
H(p):=21tr(Σp)
为 S 在 p 处的平均曲率 (Mean curvature)「平均曲率」,
称 Σp 的两个特征值(根据实对称行列的性质可得有两个实数特征值)
κ1,κ2
为 S 在 p 处的主曲率 (Principal curvatures)「主曲率」,其对应的单位化的特征向量叫做主曲率方向 (Principal directions)「主曲率方向」
如果利用第一、第二基本量进行计算:
K(σ(u,v))=det((EFFG)−1(LMMN))=EG−F2LN−M2
H(σ(u,v))=21tr((EFFG)−1(LMMN))=2EG−2F2GL−2FM+EN
根据特征值的性质,主曲率可由关于 κ 的二次方程
det(κidTpS−Σp)=0
κ2−2H(p)κ+K(p)=0
求出,并且利用韦达定理进一步得到
κ1,2=H±H2−K
K=κ1κ2
H=2κ1+κ2
高斯曲率,平均曲率本身是点 p∈S 的函数,所以理论上来说应该是 x,y,z 的形式
但是如果 p 由参数化给出,就可以直接用参数化变量 u,v 来表示
通常来说,在曲面给出了隐函数方程的情况下,选择用 x,y,z 来表示
与曲线一样,刚体变换不会改变曲率,也不会改变第一、第二基本量。
但是曲率依赖于定向,所以如果将曲面反向定向,也就是说 n→−n,则
形算子,平均曲率,主曲率会变号
Σp→−Σp,H(p)→−H(p),κ1,2(p)→−κ1,2(p)
但是高斯曲率不变
K(p)→K(p)
# 曲率计算注意事项
在实际计算问题中,往往会遇到复杂的诸如 σ(u,v)=(u,v,f(u,v)) 的参数表示。例如 σ(u,v)=(u,v,ca2x2+b2y2+1)。此时依照定义计算第一、第二基本量会非常复杂,进一步让曲率计算困难。针对此类参数表示,有如下简化方法:
示例
(隐函数下的曲率计算)令 σ(u,v)=⎝⎛uvf(u,v)⎠⎞ 为曲面 S 的参数表示
(1) 求使得 σ 正向的法向量场
(2) 令 S 以 (1) 求得的法向量场定向,求 S 关于 σ 的第一基本量和第二基本量
(3) 求在点 p∈S 处的高斯曲率,平均曲率
证明
(1)
σu=⎝⎛10fu⎠⎞σv=⎝⎛01fv⎠⎞n=∥σu×σv∥σu×σv=1+fu2+fv21⎝⎛−fu−fv1⎠⎞
(2)
E=σu⋅σu=1+fu2F=σu⋅σv=fufvG=σv⋅σv=1+fv2
L=σuu⋅n=1+fu2+fv2fuuM=σuv⋅n=1+fu2+fv2fuvN=σvv⋅n=1+fu2+fv2fvv
(3)
K(p)=EG−F2LN−M2=(1+fu2+fv2)2fuufvv−fuv2H(p)=2(EG−F2)GL−2FM+EN=2(1+fu2+fv2)3/2(1+fv2)fuu−2fufvfuv+(1+fu2)fvv
通过这种方式,我们可以避免在内部进行复杂的微分计算,而只需要计算 f 的一阶二阶偏导数并在最后代入。
另一个希望注意的情况是,曲面片的定义域一定是开集,所以像球面、环面这样的闭曲面基本上难以直接找到一个能覆盖全场的参数表示。这就意味着,就算给了显式的参数表示,希望你求其任意点的曲率,你也不可以用参数微分来进行基本量的计算,因为这样算出来的曲率是残缺的,无法覆盖整个曲面。对于这类问题,我们只能使用特殊办法,并且有的时候为了简化计算需要一些注意力技巧。
示例
(环面曲率)R,r>0,D:=(0,2π)2,令环面 TR,r 和参数表示 σ:D→R3 如下
TR,r:={(x,y,z)∈R3∣(x2+y2−R)2+z2=r2},σ(u,v):=⎝⎛(R+rcosv)cosu(R+rcosv)sinursinv⎠⎞
求在点 p=t(x,y,z)∈TR,r 处的高斯曲率,平均曲率和主曲率
证明
一定要注意定义域是开区间,这意味着环面上有两条线上的点是无法用这个参数表示的(实际上换个参数表示很可能也表示不了)。
![环面参数化遗漏]()
红线为 TR,r\σ(D)
所以我们考虑计算形算子 Σp 的表现行列来得到。首先我们需要得到切空间,所以计算曲面方程的梯度来获取法向量场,注意取正方向。
f(x,y,z):=(x2+y2−R)2+z2−r2
∇f=⎝⎜⎜⎜⎛2(x2+y2−R)x2+y2x2(x2+y2−R)x2+y2y2z⎠⎟⎟⎟⎞
n=−∥∇f∥∇f=−(x2+y2−R)2+z21⎝⎜⎜⎜⎛(x2+y2−R)x2+y2x(x2+y2−R)x2+y2yz⎠⎟⎟⎟⎞=−r1⎝⎜⎜⎜⎛(x2+y2−R)x2+y2x(x2+y2−R)x2+y2yz⎠⎟⎟⎟⎞
接着构造切空间的基底。这是最考验观察力的部分。如果这里的基选取不好,会极大程度加重后续计算难度,出于这里是展示算法,直接给出良好性质的第一个基底
u1=⎝⎛−yx0⎠⎞
注意基本的几何事实:u1 位于切空间 Tp(TR,r) 中,而法向量垂直于切空间,所以可以利用向量积来获取另外一个正交基,长度不纳入考虑,可以移除系数
u2=n×u1=−r1⎝⎛−xz−yz(x2+y2−R)x2+y2⎠⎞⟶⎝⎛−xz−yz(x2+y2−R)x2+y2⎠⎞
那么此时显然 (u1,u2) 线性独立并成为 Tp(TR,r) 内的基底。
令 v=t(v1,v2,v3)∈Tp(TR,r),则对于满足 γ(0)=p,dtdγ(0)=v 的 C∞ 曲线
γ(t)=⎝⎛γ1γ2γ3⎠⎞
代入可得
n(γ)=−r1⎝⎛⎝⎛γ1γ2γ3⎠⎞−γ12+γ22R⎝⎛γ1γ20⎠⎞⎠⎞
进而
Σp(v)=−dtdn(γ(t))∣∣∣∣∣t=0=r1⎝⎛⎝⎛γ1′γ2′γ3′⎠⎞+(γ12+γ22)3/2R(γ1γ1′+γ2γ2′)⎝⎛γ1γ20⎠⎞−γ12+γ22R⎝⎛γ1′γ2′0⎠⎞⎠⎞∣∣∣∣∣t=0=r1⎝⎛v+(x2+y2)3/2R(xv1+yv2)⎝⎛xy0⎠⎞−x2+y2R⎝⎛v1v20⎠⎞⎠⎞
代入基底计算
Σp(u1)=r1(1−x2+y2R)u1
Σp(u2)=r1u2
所以可得表现行列
Σp=r1(1−x2+y2R001)
注意此处因为我们挑选的第一个基底性质足够好,才使得后面计算出来的表现行列直接就是对角行列,不然的话还要对角化一遍。最后得到主曲率(特征值)和高斯曲率,平均曲率
κ1=r1,κ2=r1(1−x2+y2R)
K(p)=κ1κ2=r21(1−x2+y2R)
H(p)=2κ1+κ2=2r1(2−x2+y2R)
# 曲率与曲面形状
本节我们研究一下曲率 K(p) 和 H(p) 究竟如何决定点 p 附近的曲面形状。
注意,由于刚体变换并不会改变几何性质。所 i 以我们完全可以为了简化计算而要求
p=⎝⎛000⎠⎞,n(p)=⎝⎛001⎠⎞
此时曲面 S 在原点与 xy 平面相切
对于曲面方程 f,由于
∇f(p)=⎝⎛001⎠⎞=0
所以由隐函数定理可知,可以在 p 的附近找到 C∞ 函数 z=g(x,y),使得 S 成为 z=g(x,y) 的图像,并且 g(0,0)=0
此时由先前所说的隐函数下的曲率计算可知两个基本量为
(EFFG)=(1001),(LMMN)=(guu(0,0)guv(0,0)guv(0,0)gvv(0,0))
即曲率
K(p)=guu(0,0)gvv(0,0)−guv(0,0)2
H(p)=2guu(0,0)+gvv(0,0)
回想一下数学分析中学的多元函数的极值问题,就可以知道
- 当 K(p)>0 时,g 在 p 处取极值,且 H(p)>0 时取极小值,H(p)<0 时取极大值
- 当 K(p)<0 时,g 在 p 处不取极值
所以 K,H 可以反映这一点以及周边的弯曲情况
- 如果 K(p)>0,称 p 为椭圆点 (Elliptic point)「楕円点」,p 附近的曲面像一个碗(H(p)>0 时朝着 −n 的方向凸)或者一个倒扣的碗(H(p)<0 时朝着 n 的方向凸)
- 如果 K(p)<0,称 p 为双曲点 (Hyperbolic point)「双曲点」,p 附近的曲面像一个马鞍
- 如果 K(p)=0,称 p 为抛物点 (Parabolic point)「放物点」,p 附近的曲面像一个折纸
![曲率与曲面形状]()
接下来我们看一下主曲率又可以做什么
如果令 κ1,κ2 为 S 的主曲率,意味着对于形算子矩阵
Σp=(guu(0,0)guv(0,0)guv(0,0)gvv(0,0))
存在一个一个 2 阶正交矩阵 P,使得(参照线性代数)
Σp=P(κ100κ2)P−1
利用这个 P,我们取变量代换
(uv)=P(u~v~)
(这实际上效果是旋转)
那么在 (u,v)=(0,0) 附近用 Taylor 展开到二次项的时候,会发现
g(u,v)∣∣∣∣∣(0,0)≃21guu(0,0)u2+guv(0,0)uv+21gvv(0,0)v2=21(u,v)(guu(0,0)guv(0,0)guv(0,0)gvv(0,0))(uv)=21(u~,v~)PTΣpP(u~v~)=21(u~,v~)(κ100κ2)(u~v~)=21(κ1u~2+κ2v~2)
从线性代数的角度考虑,主曲率方向就是在优化计算时,我们想寻求的那个最优基底
几何性质上,如果 κ1=κ2,称 p 为 肚脐点 (navel point)「臍点」
并且此时 H2=K
命题
p 为肚脐点 ⟺Σp 为标量倍映射
证明
(⇒) 设 κ1=κ2=κ,则对于对角化使用的正交矩阵 P,有
Σp=P(κ00κ)P−1=κPP−1=κidTpS
(⇐) 设 Σp=κidTpS,那显然有 Σp 的两个特征值均为 κ
我们实际上可以证明,如果曲面 S 上的每一个点都是肚脐点,那么 S 一定是球面或者平面的一部分