曲線
曲線是二維空間上可微分的一維流形既们。曲線可以用參數(shù)方程表示為如下形式:
其中x和y分別是關(guān)于u的可微函數(shù)心褐,那么曲線在某一點(diǎn)的切向量則為各分量的一階導(dǎo)數(shù)組成的向量次和,即:
借由上式,如果p'(u)在u處不為0更胖,則把這一點(diǎn)成為曲線的正則點(diǎn)酵颁。曲線上的點(diǎn)處處正則的曲線稱為正則曲線(Regular Curve)米丘。
下式可以求曲線在某一點(diǎn)的法向量的值:
同樣的曲線是可以通過(guò)參數(shù)變換使用不同的參數(shù)來(lái)表示的蚕甥。曲線的微分幾何關(guān)注諸如弧長(zhǎng)蝌以、曲率之類的炕舵,獨(dú)立于特定參數(shù)之外的屬性,也就是說(shuō)無(wú)論參數(shù)如何變換跟畅,這些屬性的值都是相等的咽筋。
弧長(zhǎng)
對(duì)于上述曲線,起始點(diǎn)a到曲線上任意點(diǎn)u之間的弧長(zhǎng)可以表示為:
即弧長(zhǎng)是切向量長(zhǎng)度對(duì)曲線參數(shù)的積分徊件〖楣ィ可以發(fā)現(xiàn),弧長(zhǎng)獨(dú)立與特定參數(shù)庇忌,并且將參數(shù)u從區(qū)間[a, b]映射到了區(qū)間[0, L] (其中L是曲線的弧長(zhǎng))舞箍。
可以發(fā)現(xiàn)這是一個(gè)變上限積分函數(shù),對(duì)兩側(cè)同時(shí)求導(dǎo)得到:
當(dāng)切向量的模為1皆疹,即曲線的切向量為單位向量場(chǎng)的時(shí)候,參數(shù)u就是曲線的弧長(zhǎng)參數(shù)了
曲率
曲線的曲率(curvature)就是針對(duì)曲線上某個(gè)點(diǎn)的切線方向角對(duì)弧長(zhǎng)的轉(zhuǎn)動(dòng)率占拍,即單位弧長(zhǎng)內(nèi)曲線轉(zhuǎn)過(guò)的角度略就。
假設(shè)正則曲線的參數(shù)方程的參數(shù)為其弧長(zhǎng)捎迫,圖像如上圖所示,α表示是曲線上的切向量(即p(s)的導(dǎo)數(shù)p’(s))表牢,根據(jù)定義曲線的曲率為:
其中θ表示的是α(s)和α(s+Δs)兩個(gè)向量的夾角窄绒,要證明這個(gè)式子只需要按照導(dǎo)數(shù)定義展開(kāi)即可:
對(duì)于曲率還有另外一個(gè)很重要且相關(guān)的屬性,即曲率半徑崔兴,即把那一段曲線盡可能地微分彰导,直到最后近似為一個(gè)圓弧,此圓弧所對(duì)應(yīng)的半徑即為曲線上該點(diǎn)的曲率半徑敲茄。這個(gè)圓弧所對(duì)應(yīng)的圓一般稱作:Osculating Circle(密切圓)位谋。
我們知道弧長(zhǎng)與半徑的比值是弧度。對(duì)于這一段圓弧曲率的值為弧度于弧長(zhǎng)的比值堰燎,而半徑的值為弧長(zhǎng)于弧度的比值掏父。
對(duì)于曲率和曲率半徑,可以得到下面的關(guān)系:
曲面
曲面的參數(shù)化表示
以地球地圖的展開(kāi)為例秆剪,地球表面是一個(gè)閉合的曲面赊淑,為了印刷地圖,一般需要將其表面進(jìn)行展開(kāi)仅讽。
展開(kāi)之前陶缺,首先沿著子午線將其“切開(kāi)”,然后按下面這個(gè)樣子進(jìn)行展開(kāi):
可以發(fā)現(xiàn)洁灵,北極點(diǎn)被變換為了線段AC组哩,而南極點(diǎn)被變換了線段BD
這樣的一個(gè)球面,假設(shè)半徑為R处渣,有兩種坐標(biāo)表示的方法伶贰,分別是:(x, y, z)和(θ, ?)
前一種非常好理解,即球面某一點(diǎn)在3維笛卡爾坐標(biāo)系下的坐標(biāo)罐栈,那么球面的可以用下列隱式方程表示:
通過(guò)該方程能夠很快速地判斷空間中某個(gè)點(diǎn)與球面地位置關(guān)系黍衙。
后一種坐標(biāo)中有兩個(gè)參數(shù)θ和?,其意義可以通過(guò)下面這張圖來(lái)理解(和球坐標(biāo)非常類似)
理解后就不難得出兩種坐標(biāo)的轉(zhuǎn)換方法:
其中θ的取值范圍為[0, 2π]荠诬,?的取值范圍為[-0.5π, 0.5π]琅翻,可以發(fā)現(xiàn)通過(guò)這張表示方法將“方形”區(qū)域映射到了一個(gè)球面上。
通過(guò)θ和?這兩個(gè)參數(shù)柑贞,可以畫(huà)出兩組類似經(jīng)緯度的平行線方椎,通過(guò)這些平行線,可以清楚的觀察出球面不同部分被扭曲的程度钧嘶。
度量性質(zhì)(Metric Property)
假設(shè)一個(gè)三維曲面的參數(shù)方程如下
其中x,y,z是關(guān)于參數(shù)u,v的可微函數(shù)棠众,Ω是參數(shù)u,v的定義域。
同曲線類似,曲面的度量是由它的一階導(dǎo)數(shù)決定闸拿。x關(guān)于參數(shù)u,v的偏導(dǎo)數(shù)如下
這兩個(gè)偏導(dǎo)數(shù)表示的是如下兩條曲線上的切向量
很明顯這兩個(gè)方程分別是當(dāng)曲面方程的某個(gè)參數(shù)固定后空盼,以另一個(gè)參數(shù)為參數(shù)的方程。
通過(guò)上面這張圖新荤,能夠很清晰的看出Cv,Cu,Xv,Xu的具體含義揽趾。
如果想要表示表示在平面某一點(diǎn)的法向量也很簡(jiǎn)單,曲線方程在某一點(diǎn)關(guān)于參數(shù)u苛骨,v的偏導(dǎo)數(shù)確定了兩條切向量Xv,Xv篱瞎,將這兩個(gè)向量做叉積即可得到曲面在這一點(diǎn)的法向量
上面的導(dǎo)數(shù)方向只有沿兩個(gè)參數(shù)的方向,如果要求曲面關(guān)于某一點(diǎn)在任意方向的導(dǎo)數(shù)痒芝,可以引入方向?qū)?shù)的概念俐筋。
在求解方向?qū)?shù)的時(shí)候需要給定一個(gè)方向向量,由于曲面方程以參數(shù)方程的形式給出吼野,先定義一個(gè)在曲線方程參數(shù)空間u,v下的方向向量
那么曲面通過(guò)這一點(diǎn)校哎,在參數(shù)空間上沿上述方向前進(jìn)的曲線方程可以表示為
這時(shí)曲面在點(diǎn)(u0, v0)處,w方向的方向?qū)?shù)為:
向量w是定義在三維空間下的瞳步,而已知的方向向量是在二維參數(shù)空間上的闷哆,現(xiàn)在要將其從參數(shù)空間變換為曲面上的切向量:
只需要應(yīng)用到雅可比矩陣即可完成這個(gè)變換:
此時(shí)雅可比矩陣的值為:
曲面的第一基本型
通過(guò)上面求解方向?qū)?shù)的過(guò)程可以發(fā)現(xiàn),雅可比矩陣代表了一種從參數(shù)的定義域空間到曲面坐標(biāo)空間的變換单起。通過(guò)雅可比矩陣可以知道一些量抱怔,諸如角度、距離和面積等嘀倒,在這兩個(gè)空間之間的映射關(guān)系屈留。
假設(shè)又兩個(gè)單位向量w1,w2,這兩個(gè)向量之間夾角的余弦值等于兩向量的內(nèi)積测蘑。
向量在曲面空間和參數(shù)空間下的表示形式不同灌危,單數(shù)可以明確的一點(diǎn)是,無(wú)論如何表示碳胳,向量之間的夾角是不會(huì)變的勇蝙。
在上面的等式中,J乘以J的轉(zhuǎn)置這一部分就被稱為曲面的第一基本型
借由I挨约,要通過(guò)參數(shù)來(lái)表示下面曲線的弧長(zhǎng):
首先觀察曲面的弧長(zhǎng)公式:
接下來(lái)味混,用參數(shù)t來(lái)表示切向量w (ut, vt),則其模長(zhǎng)為:
最后帶入計(jì)算可以得到弧長(zhǎng)公式:
同理诫惭,可以用下面的方法求得曲面的面積:
曲面的曲率
曲面的曲率的定義是由曲線的曲率的定義擴(kuò)充而來(lái)的翁锡,對(duì)于曲面上的一點(diǎn),存在無(wú)數(shù)個(gè)切向量夕土。對(duì)于曲面上的一點(diǎn)p馆衔,以及一條切向量t,這時(shí)可以定義曲率為:切向量t和曲面在這一點(diǎn)的法向量所成平面與曲面相交形成的直線在點(diǎn)p處的曲率。
將這個(gè)曲率寫(xiě)成式子為:
其中II為第二基本型
上面關(guān)于曲面曲率的函數(shù)在切線方向變化的時(shí)候會(huì)有兩個(gè)極值(極大值和極小值)哈踱,一般稱它們?yōu)?strong>主曲率(principal curvatures)荒适,如果兩極值不相等梨熙,就把取這兩個(gè)極值時(shí)的兩個(gè)切向量稱為主方向(principal directions)开镣。如果兩極值相等,則曲面上這一點(diǎn)稱為臍點(diǎn)(umbilical)咽扇,曲面上這一點(diǎn)的所有切向量都可以稱為主方向(principal directions)邪财,并且曲面這一點(diǎn)各方向的曲率相等。特殊地质欲,當(dāng)且僅當(dāng)曲面為球面或平面時(shí)树埠,其上所有的點(diǎn)都是臍點(diǎn)(umbilical)。
對(duì)于曲面的兩個(gè)主曲率和其在同一點(diǎn)任意方向的曲率嘶伟,有如下的關(guān)系:
其中ψ為主方向 t1和指定方向t的夾角怎憋。可以看出九昧,曲面的曲率僅僅由其兩個(gè)主曲率決定绊袋,這一點(diǎn)任意方向的法曲率都是這兩個(gè)主曲率的凸組合(convex combination),另外還能得出的一點(diǎn)是主方向永遠(yuǎn)是相互正交的铸鹰。
曲面的某個(gè)區(qū)域內(nèi)的性質(zhì)同樣可以用曲率張量來(lái)表示癌别,曲率張量 C可以用下面的方法得到:
其中D是對(duì)角線元素為κ1,κ2,0的三階方陣,P也為三階方陣蹋笼,由t1,t2,n三個(gè)列向量組成展姐。
另外,還有兩種廣泛使用的描述曲率的方式:
- 平均曲率
- 高斯曲率
高斯曲率可以將曲面上的點(diǎn)分為3類:
橢圓點(diǎn)(elliptical point) K > 0:橢圓點(diǎn)在其附近的區(qū)域上通常是凸出的
雙曲線點(diǎn)(hyperbolic point) K < 0:雙曲點(diǎn)在其附近的區(qū)域上通常是馬鞍形
拋物線點(diǎn)(parabolic point) K = 0:拋物線點(diǎn)通常在橢圓曲線和雙曲線區(qū)域的分界線處
高斯曲率和平均曲率通常用在曲面的可視化分析上
內(nèi)蘊(yùn)幾何學(xué)(Intrinsic geometry)
在微分幾何中圾笨,那些只依賴于第一基本型的屬性被稱為是內(nèi)蘊(yùn)的(Intrinsic)。直觀上來(lái)說(shuō)它們可以僅僅通過(guò)曲面二維特征來(lái)導(dǎo)出逊谋。例如曲面上曲線的長(zhǎng)度擂达,角度等都是內(nèi)蘊(yùn)的(Intrinsic)。
對(duì)于高斯曲率和平均曲率涣狗,前者在等距變換下是不變的谍婉,所以它是內(nèi)蘊(yùn)的(Intrinsic),即高斯曲率是可以由第一基本型直接決定的镀钓;而后者則不是穗熬,它依賴于曲面。
內(nèi)蘊(yùn)的(Intrinsic)通常被用來(lái)取表示參數(shù)的獨(dú)立性丁溅。
拉普拉斯算子
一般稱某函數(shù)梯度的散度為拉普拉斯算子唤蔗,對(duì)于二元函數(shù)f(u, v),其在歐式空間上的二階差分算子(拉普拉斯算子)可以寫(xiě)為:
拉普拉斯算子還可以推廣到二階流形曲面S上,其推廣形式稱為拉普拉斯-貝爾特拉米算子妓柜,定義為:
對(duì)于曲面上某一個(gè)具體的點(diǎn)x,其拉普拉斯-貝爾特拉米算子和其平均曲率存在下面的關(guān)系:
雖然這個(gè)式子說(shuō)明平均曲率(非內(nèi)蘊(yùn)的)和拉普拉斯-貝爾特拉米算子之間存在某種關(guān)系棍掐,但是拉普拉斯-貝爾特拉米算子本身僅取決于第一基本型藏雏,是內(nèi)蘊(yùn)的。
離散微分算子
由于3D網(wǎng)格并不是連續(xù)的作煌,而上面的討論是建立在曲面是光滑的基礎(chǔ)之上的掘殴。要將上述算子運(yùn)用到3D網(wǎng)格上,需要將網(wǎng)格看作一個(gè)很粗糙的曲面粟誓,然后通過(guò)網(wǎng)格數(shù)據(jù)去計(jì)算這個(gè)近似曲面的微分屬性奏寨。
局部平均區(qū)域
一般的想法就是計(jì)算網(wǎng)格某個(gè)點(diǎn)以及與其相鄰點(diǎn)的微分屬性的平均值。
當(dāng)網(wǎng)格某個(gè)點(diǎn)以及與其相鄰點(diǎn)組成這個(gè)區(qū)域的面積較大的時(shí)候鹰服,通過(guò)計(jì)算平均值得到的微分屬性會(huì)很穩(wěn)定病瞳;而面積較小的時(shí)候,精細(xì)的變化則會(huì)被更好的保留悲酷。
常用的由下面三種定義這個(gè)面積的方法套菜,其區(qū)別主要是在頂點(diǎn)周圍的三角形中取點(diǎn)的方式不同:
其中右圖中笼踩,當(dāng)三角形為鈍角三角形時(shí)則取中心點(diǎn)對(duì)邊的中點(diǎn),否則取三角形的外心亡嫌。
法向量
在3D網(wǎng)格中嚎于,要計(jì)算某個(gè)三角面的法向量是比較容易的,只需要取兩條邊向量坐叉乘即可:
如果要計(jì)算某個(gè)頂點(diǎn)的法向量挟冠,同樣考慮對(duì)頂點(diǎn)周圍相鄰的三角形的法向量做加權(quán)平均:
權(quán)值αT的取法于购,一般常用的有下面幾種:
αT取常數(shù)1,這樣計(jì)算的時(shí)候就忽略了鄰邊的長(zhǎng)度知染,三角形的面積肋僧,角度。對(duì)于不規(guī)則的網(wǎng)格控淡,計(jì)算的結(jié)果一般都是違反直覺(jué)的嫌吠。
αT取三角形的面積,這樣取的好處是便于計(jì)算(只需要進(jìn)行叉乘運(yùn)算就可以了掺炭,還不用對(duì)向量進(jìn)行單位化)辫诅,不過(guò)這種方法得到的結(jié)果有的時(shí)候也會(huì)出現(xiàn)違反直覺(jué)的情況。
αT取鄰邊的夾角涧狮,不過(guò)由于計(jì)算過(guò)程涉及到了三角函數(shù)炕矮,效率上相對(duì)要低一些么夫,不過(guò)效果比前兩者好。
梯度
同樣是基于加權(quán)平均的方法肤视,求解網(wǎng)格中某個(gè)三角形上某一點(diǎn)的坐標(biāo)可以由三個(gè)頂點(diǎn)的梯度根據(jù)重心坐標(biāo)的三個(gè)權(quán)值做加權(quán)平均档痪。
對(duì)于分段線性函數(shù)f來(lái)說(shuō),其在三角形頂點(diǎn)上有對(duì)應(yīng)的值邢滑「可以考慮用拉格朗日插值法來(lái)表示三角上任意一點(diǎn)的函數(shù)值(u是二維參數(shù)):
由于拉格朗日插值公式的基函數(shù)B具有下面的性質(zhì)
兩邊同時(shí)做梯度運(yùn)算可以得到
消去Bi后原來(lái)的式子為
頂點(diǎn)i處基函數(shù)的梯度為從頂點(diǎn)i處沿著對(duì)邊上高的方向的向量,且向量的模長(zhǎng)為高的倒數(shù)殊鞭,化簡(jiǎn)后(向量旋轉(zhuǎn)90度后除以底邊的長(zhǎng)得到單位向量遭垛,再除以高度的結(jié)果尼桶,其中底邊長(zhǎng)乘以高度整好為面積的兩倍)為:
代入后可以得到三角形上分段線性函數(shù)的梯度為
離散形式的拉普拉斯算子
- Uniform形式的拉普拉斯算子
這一種形式直觀上來(lái)說(shuō)就是以中心點(diǎn)i為起點(diǎn)操灿,相鄰頂點(diǎn)平均值為終點(diǎn)的向量。
由于平面的平均曲率H為0泵督,這時(shí)算子的結(jié)果應(yīng)該是0趾盐,不過(guò)上式的結(jié)果并不一定是非0的,所以這種方法不太適合用在非等距網(wǎng)格上小腊。救鲤。
這種方法只考慮了網(wǎng)格的連接性,所以使用范圍有限秩冈。
- 余切形式的拉普拉斯算子
這種形式更加的精準(zhǔn)本缠,直接計(jì)算頂點(diǎn)vi周圍的平均區(qū)域(之前提到過(guò),有若干種取法)入问,然后對(duì)其梯度的散度進(jìn)行曲面積分丹锹,然后使用散度定理(高斯公式)進(jìn)行展開(kāi)計(jì)算,最后可以得到:
- 離散散度
因?yàn)槔绽顾阕拥亩x為是梯度的散度芬失,對(duì)于每一個(gè)三角形T給定一個(gè)向量w(如個(gè)給定分段線性函數(shù)f下的梯度向量)楣黍,則其散度為
離散曲率
根據(jù)上面的式子,可以得到在離散形式下的平均曲率:
在[Meyer et al. 03]這篇文章中提到了離散形式下高斯曲率的表示方式:
根據(jù)高斯曲率棱烂、平均曲率和兩個(gè)主曲率的關(guān)系租漂,可以得到主曲率的計(jì)算方法:
離散形式的曲率張量
其中β(e)表示和邊e相鄰三角形所在平面的有方向的二面角,e∩A(v)表示邊e在區(qū)域A中的長(zhǎng)度颊糜,ē指邊e的單位向量哩治。