參數(shù)化的主要目標(biāo)是將復(fù)雜的3維模型轉(zhuǎn)換到2維空間上县恕。對于一個(gè)三角形網(wǎng)格模型芯义,就是把它拍平到一個(gè)平面上嵌洼。
從數(shù)學(xué)上解釋,對三角形網(wǎng)格參數(shù)化的過程就是尋找一種映射祝沸,它能夠把網(wǎng)格的每一個(gè)頂點(diǎn)i映射到(ui, vi)上矮烹。需要注意的一點(diǎn)是,經(jīng)過映射后罩锐,任意兩個(gè)三角形公共的部分只有可能是:一條邊奉狈,一個(gè)頂點(diǎn)或者不存在。
重心映射(Barycentric Mapping)
重心映射是一種在三角化網(wǎng)格中比較常用的參數(shù)的方法涩惑。使用這種方法的網(wǎng)格必須滿足下面的條件:
- 三角形網(wǎng)格與圓盤是同胚的(簡單地說就是網(wǎng)格必須有邊界并且不能有洞)仁期,并且網(wǎng)格的邊界在一個(gè)凸多邊形上,同時(shí)內(nèi)部的頂點(diǎn)是其周圍頂點(diǎn)的凸組合。
假設(shè)頂點(diǎn)的索引按照{(diào)內(nèi)部的頂點(diǎn)(1到n)跛蛋,邊界上的頂點(diǎn)(n+1到N)}排列熬的,那么,對于任取實(shí)數(shù)λ赊级,滿足:
然后將處于邊界的點(diǎn)(索引為n+1到N的點(diǎn))固定押框,用下面的線性方程去更新處于內(nèi)部的頂點(diǎn):
寫成矩陣的形式就是要分別求解下面兩個(gè)方程
而矩陣A的元素aij的取法有一般常見的有三種,其中最簡單的一種是當(dāng)下標(biāo)i和j不相等的時(shí)候取1理逊,下標(biāo)i和j相等的時(shí)候取頂點(diǎn)i周圍頂點(diǎn)個(gè)數(shù)的相反數(shù)橡伞。這種取法的優(yōu)勢是簡單并且計(jì)算較快,缺點(diǎn)是沒有考慮到網(wǎng)格的集合屬性晋被,例如邊的長度和三角形的角度兑徘,所以會不可避免地產(chǎn)生形變。
另一種方法就是使用下面的cotangent形式
其中αij羡洛,βij以及Ai的含義如下圖所示
如果αij+βij > π挂脑,那么cotangent形式就有可能出現(xiàn)負(fù)數(shù)∏滔兀可以通過將網(wǎng)格面進(jìn)行分割來解決這個(gè)問題最域,也可以使用下面這種取法來解決
其中γij和δij的含義如下圖所示
無論使用上面哪種方法,都需要手動指定并固定網(wǎng)格的邊界锈麸,但是對于一個(gè)模型往往選取邊界不是一件容易的事情。邊界的選取與固定會影響到參數(shù)化的結(jié)果牺蹄。
保角映射(Conformal Mapping)
對于保角度映射忘伞,引用之前用到的例子:假設(shè)參數(shù)空間(u, v)上存在一個(gè)小圓,使用保角映射將它變換到3維坐標(biāo)空間之后沙兰,其沿著u和v方向的切向量xu和xv的模長應(yīng)該同樣地是相等并且xu和xv正交氓奈。對于此變化的逆變化,即從3維坐標(biāo)空間變換為2維參數(shù)空間也同樣成立鼎天。
與之前討論梯度時(shí)的情況不同舀奶,參數(shù)化的函數(shù)是一個(gè)從3維曲面到平面的映射。
為了定義這個(gè)函數(shù)的梯度斋射,對于每一個(gè)三角形育勺,選擇一個(gè)頂點(diǎn),并以該頂點(diǎn)為原點(diǎn)建立一組正交基
在這樣一組基向量下罗岖,函數(shù)的梯度的定義是:
其中對于每一個(gè)三角形矩陣M是一個(gè)常數(shù)涧至,A代表了三角形的面積。由于保角映射的逆映射同樣也是保角的桑包,并且參數(shù)空間下u和v分量的基向量是垂直的南蓬,所以:
也可以用矩陣的形式來表示
然后將之前求得的梯度帶入到上面的式子中,得到:
在連續(xù)集上,黎曼幾何闡述了一個(gè)事實(shí):任何的曲面都能夠進(jìn)行保角參數(shù)化赘方。
但是烧颖,在分片線性函數(shù)表示的三角形網(wǎng)格中,只有可展曲面(Developable Surface)才能進(jìn)行保角參數(shù)化窄陡。對于一般的曲面(非可展曲面)倒信,上式子就不能成立,即梯度向量u和v不一定是垂直的泳梆,但是要盡可能地讓它們垂直鳖悠,所以將上面的式子改寫為下面的最小二乘的形式
上面的方程被稱為保角能量(Conformal Energy),注意到保角能量的值不會受到參數(shù)空間的平移和旋轉(zhuǎn)變換的影響优妙,所以并不存在唯一的最小解乘综,一般在實(shí)際應(yīng)用的時(shí)候會至少固定兩個(gè)點(diǎn)(u, v)的位置,然后再去求其最小值套硼。
在之前進(jìn)行曲面平滑(Smoothing)的過程中卡辰,為了讓曲面變得更平滑,在邊界固定的情況下考慮最小化曲面的面積邪意。由于求曲面的面積的方程中包含了平方根和第一基本型九妈,是高度非線性化的,為了簡化運(yùn)算引入了狄利特雷能量(Dirichlet's Energy)的概念雾鬼。
而在保角映射中使用到了保角能量(Conformal Energy)的概念萌朱,當(dāng)保角能量為0的時(shí)候說明該參數(shù)化的過程是保角的。
而上述的3個(gè)量存在下面的關(guān)系
這個(gè)式子很容易推導(dǎo)策菜,只需要將等號兩邊的積分展開就能證明晶疼。
曲面平滑的過程中最小化了狄利特雷能量,而在上面的保角映射的過程中使用了最小二乘的思想來最小化保角能量又憨。因?yàn)檫@兩個(gè)量之間只相差了曲面面積翠霍,所以從某種角度上來說,這兩種方法是等價(jià)的蠢莺。
基于幾何方法的保角映射
以上所討論的都是基于分析的方法寒匙,基于分析的方法是易于實(shí)現(xiàn)的,因?yàn)樗枰闹皇亲钚』粋€(gè)二次的方程躏将。
但是上面的方法均需要固定至少兩個(gè)頂點(diǎn)锄弱,而這將可能會導(dǎo)致變形,如下圖所示
對于一個(gè)高斯曲率較高的曲面耸携,上述包角變換的方法往往會造成諸如左圖那樣的變形棵癣,而用戶期望的結(jié)果一般是像右圖那樣的。
下面介紹一種基于角度的拍平化算法——angle-based flattening(ABF)夺衍。
由于參數(shù)空間是一個(gè)2維的三角剖分(Triangulation)狈谊,并且由某一個(gè)頂點(diǎn)周圍所有的角唯一地定義,所以可以重新定義解決參數(shù)化的問題的思路,即通過角來尋找頂點(diǎn)的坐標(biāo)(u, v)河劝。
ABF方法是通過最小化下面的能量來尋找參數(shù)化的結(jié)果的:
其中α與β項(xiàng)表示與頂點(diǎn)k相鄰的壁榕,處于三角形T中角度的大小,α表示的參數(shù)化平面上的角度而β表示的是原來3D網(wǎng)格上對應(yīng)位置的角度赎瞎。
為了保證得到的角度α所定義的三角剖分是合法的牌里,需要對其施加一定的限制條件:
- 同一個(gè)三角形的內(nèi)角和必須為180°
- 對于處于內(nèi)部的頂點(diǎn),其周圍相鄰的角的度數(shù)之和為360°
- 對于處于內(nèi)部的頂點(diǎn)牡辽,其周圍相鄰的角對應(yīng)所處的三角形中的下一個(gè)角的正弦值的積等于其周圍相鄰的角對應(yīng)所處的三角形中的上一個(gè)角的正弦值的積(要統(tǒng)一好三角形中角的順序)。
基于形變分析的方法
進(jìn)行紋理映射的時(shí)候敞临,如何減小形變是一個(gè)非常重要的問題态辛。
首先考慮這么一個(gè)問題,兩個(gè)切向量從參數(shù)空間變換到曲面上的時(shí)候挺尿,量向量的夾角一般會用下面的方法進(jìn)行計(jì)算
當(dāng)?shù)谝换拘褪菃挝痪仃嚨谋稊?shù)或者奇異值相同的時(shí)候奏黑,向量的角度得到了保留。當(dāng)所有的頂點(diǎn)都這樣的時(shí)候编矾,這個(gè)變換就可以說是保角(angle-preserving or conformal)的熟史。
這個(gè)時(shí)候,圓形變換之后還是圓形窄俏,不過它的半徑可能會發(fā)生改變蹂匹。
通過觀察計(jì)算曲面某區(qū)域面積的時(shí)候用到的公式
可以發(fā)現(xiàn)當(dāng)?shù)谝换拘托辛惺降闹禐?或者所有奇異值相乘結(jié)果為1的時(shí)候,圓形的面積在變換后不會發(fā)生變化裆操,這個(gè)時(shí)稱變換是保面(area-preserving or equiareal)的怒详。
當(dāng)上述條件同時(shí)滿足,即第一基本型是單位矩陣或者奇異值為1的時(shí)候踪区,則稱變換是等距(length-preserving or isometric)的。因?yàn)樵谶@種變換中角度和面積都沒有發(fā)生變形吊骤,是一種比較理想的情況缎岗,只有一些特殊的曲面,如可展曲面(developable surfaces)才能滿足白粉,因?yàn)檫@種曲面的高斯曲率處處為零(參考:Theorema Egregium传泊,高斯絕妙定理,相對論與黎曼幾何-4-內(nèi)蘊(yùn)幾何)鸭巴。
如何計(jì)算第一基本型眷细?
在進(jìn)行保角映射的時(shí)候,我們定義了參數(shù)空間下的梯度鹃祖,利用它可以得到此映射下的雅可比矩陣
利用雅可比矩陣溪椎,可以得到第一基本型
并且,對于每一個(gè)三角形T來說,雅可比矩陣J和第一基本型I都是常量校读。
兩個(gè)具體的方法
MIPS
下面介紹一種基于形變分析的方法MIPS (most isometric parameterization of surfaces)沼侣。這種方法的主要思想是減小變換過程中小橢圓的兩個(gè)軸長σ1和σ2的比值
對上式進(jìn)行最小化相對來說比較復(fù)雜,可以將式子中的2范數(shù)改成Frobenius范數(shù)(矩陣范數(shù)歉秫,Frobenius范式)蛾洛,然后將其化簡可以得到
其中第一基本型的跡可以看作是狄利特雷能量(Dirichlet energy),而雅可比矩陣行列式的值可以看作是3維空間和參數(shù)空間下三角形面積之比雁芙。
Signal-Specialized Parameterization
這個(gè)方法是基于紋理映射的轧膘,一般我們將紋理從參數(shù)空間映射到曲面上,而紋理變形的程度可以通過觀察紋理上的某一個(gè)點(diǎn)在某一個(gè)方向上被拉伸的程度兔甘。
對于某一個(gè)特定的三角形谎碍,一般使用下面的式子來表示其在所有方向上平均被拉伸的程度
然后將網(wǎng)格上所有三角形按照面積加權(quán)組合一下,就可以得到