餘切拉普拉斯算子(cotangent Laplacian)
拉普拉斯算子是把一個函數在某點的值與其鄰居平均值相比較的算子——熱沿其梯度流動,鼓在其特徵模態下振動,而它消滅的正是光滑函數。在三角網格上,你需要一個尊重實際幾何、而不僅是「誰挨著誰」的離散拉普拉斯算子。餘切拉普拉斯算子就是那個算子:一個加權圖拉普拉斯算子,其邊權由三角形的角構成,它是幾何處理中最重要的單一矩陣。
對存在三角網格頂點上的函數 u,餘切拉普拉斯算子為 (L u)(i) = (1/2) * 對鄰居 j 求和 (cot(alpha_ij) + cot(beta_ij)) * (u_i - u_j),其中 alpha_ij 與 beta_ij 是邊 (i, j) 在共有它的兩個三角形中所對的兩個角。通常會除以一個頂點(Voronoi 或重心)面積 A_i,以逐點逼近光滑的拉普拉斯-貝爾特拉米算子,得對稱系統 (1/A_i) L。這個公式並非臨時湊出:它恰好是由線性有限元(分片線性帽函數的剛度矩陣)、由離散外微分作為 d^T *_1 d、由極小化狄利克雷能量 (1/2) |grad u|^2 的積分所得——三種推導匯於同一組餘切。它的特徵函數是拉普拉斯-貝爾特拉米特徵函數的離散對應物,是譜網格方法的基。
餘切拉普拉斯算子無所不在:熱方法測地線、平均曲率流與整流(把 L 作用在座標上就得到平均曲率法向量)、調和與共形參數化、譜形狀描述子、網格形變、卜瓦松曲面重建全都仰賴它。著名的告誡是鈍角三角形問題:若某三角形有大於 pi/2 的角,其餘切為負,一個非對角權重可能變負,離散極大值原理失效——插值出的值可能過衝,算子甚至可能對某些量失去半正定性。標準的修補是改用德勞內(或內蘊德勞內)三角剖分,它保證非負的餘切權重,或把權重夾住,接受一個受控的偏差。
要在固定邊界值的網格上算一個光滑場,就在那些邊界約束下解 L u = 0:解就是離散調和函數,即狄利克雷能量的極小元。同一個矩陣作用在三個座標函數上,回傳每個頂點的平均曲率法向量——這正是為何「把拉普拉斯算子作用在位置上」是網格平滑的一行配方。
一個矩陣,多種用途:調和場、平滑與曲率全都來自餘切拉普拉斯算子。
鈍角三角形帶來的負餘切權重會破壞離散極大值原理,並可能毀掉求解器的表現,儘管該公式在細化下仍「收斂」。使用(內蘊)德勞內網格以保證非負權重;別假定餘切拉普拉斯算子在任意網格上都無害。