打開網(wǎng)易新聞 查看精彩圖片

奇妙的幾何世界里,有一個有趣又充滿挑戰(zhàn)的問題:怎樣才能把三維空間里的曲面,完美地攤平到二維平面上呢?這個看似不起眼的小問題,實則蘊含著幾何與拓?fù)鋵W(xué)奧秘。

01

剝一個橘子,再把果皮壓平

首先,請大家留意一下手邊,是不是恰好有一個圓潤飽滿的橘子

如果沒有(那就去找一個橘子……哈哈哈開個玩笑活躍下氣氛),就在腦海中想象有這樣一個橘子。我們在橘子的表面畫上一些喜歡的符號,比如?,比如,也比如卡皮巴拉……

打開網(wǎng)易新聞 查看精彩圖片

(對不起,扯遠(yuǎn)了)

言歸正傳。完成符號繪制后,我們試著盡可能完整地剝開橘子皮,將其平攤放在桌面上。原本處于立體橘子表面的那些符號,隨著橘子皮的攤平,也一同被展現(xiàn)在了桌面這個二維平面上。因為橘子皮是不可延展的,所以得到的橘子皮必定是“撕裂”的

打開網(wǎng)易新聞 查看精彩圖片

如果把橘子繪制成地球儀,剝皮、攤平后,就會得到一張“撕裂”版的世界地圖。攤平橘子皮的過程跟制作地圖的過程類似,由于地球和地球儀都是三維的球體,強行攤平必定會導(dǎo)致“撕裂”。那么,有沒有什么辦法能夠把橘子皮完美攤平呢?

打開網(wǎng)易新聞 查看精彩圖片

圖片來源于網(wǎng)絡(luò)

02

給地球“拉個皮”

攤平橘子皮的問題,實際上是三維到二維轉(zhuǎn)換的問題。如果橘子皮富有彈性,那么只要輕輕一拉,就能夠?qū)崿F(xiàn)完美的“攤平”,繪制一張完美的地圖也會變得輕而易舉(很顯然這是不可能的)。

為了解決這個問題,智慧的科學(xué)家們想到從數(shù)學(xué)的角度出發(fā),尋找一種三維曲面中的點與二維平面上的點的一一對應(yīng)關(guān)系,換個角度“攤平”橘子皮、繪制“完美”地圖。這種三維到二維的轉(zhuǎn)換關(guān)系,被稱為展平映射。

假設(shè)地球的內(nèi)部有一束光,它的外面包圍著一個圓柱面。隨著光的照射,光線將地球表面的每一個點精準(zhǔn)地投射到圓柱面上。那么當(dāng)圓柱面展開后,那些原本在球面上的點,在展開面上都會有一個對應(yīng)的全新位置。

打開網(wǎng)易新聞 查看精彩圖片

圖片來源于網(wǎng)絡(luò)

換句話說,這個過程類似于“撥開橘子皮”、“把橘子皮攤平”的過程。就像給地球做了一場“拉皮手術(shù)”,把三維的地球延展到二維矩形面上來。

打開網(wǎng)易新聞 查看精彩圖片

墨卡托投影法圖解。圖片來源:cdn.hujiulong.com/geohey/blog/mercator/play.html

這種繪制世界地圖的方法被稱為“墨卡托投影法”,是地圖投影的一種。地圖投影泛指將地球表面展平以便繪制地圖方法,其核心就是將球面上的點轉(zhuǎn)換為平面上的點。由于投影方式的不同,所形成的世界地圖“長相”也大相徑庭。

圓錐投影

打開網(wǎng)易新聞 查看精彩圖片

方位投影

打開網(wǎng)易新聞 查看精彩圖片

偽圓柱投影

打開網(wǎng)易新聞 查看精彩圖片

折衷投影

打開網(wǎng)易新聞 查看精彩圖片

不同地球投影法下得到的世界地圖

雖然投影的方式各不相同,但有一點是統(tǒng)一的:將球體投影到平面上,球面必然會有一定程度的變形。映射是不完美的,是有扭曲的。以墨卡托投影法為例,它犧牲了面積大小,保留了角度和形狀(也稱為共形映射)。這就導(dǎo)致了在這種投影下得到的地圖,在赤道一圈不會發(fā)生扭曲,而越靠近極點的地方面積扭曲就越大。

打開網(wǎng)易新聞 查看精彩圖片

通過墨卡托投影法得到的世界地圖,越遠(yuǎn)離赤道形變越大。圖片來源:Tomas A, Eric H and Naty H. Real-Time Rendering. A K Peters/CRC Press

舉個例子,從地圖上看格陵蘭島的面積跟非洲差不多,但實際上,非洲的面積是格陵蘭島的14倍。

打開網(wǎng)易新聞 查看精彩圖片

圖片來源于網(wǎng)絡(luò)

03

不規(guī)則曲面的“拉皮”

在醫(yī)學(xué)領(lǐng)域,也有著類似的應(yīng)用。比如通過CT掃描獲取腹部的斷層圖像,然后運用多視角幾何的方法,精心重建出三維的直腸曲面。為了讓醫(yī)生能夠更清晰地觀察,做出準(zhǔn)確的診斷,還需要將這個直腸曲面平展到平面上。

打開網(wǎng)易新聞 查看精彩圖片

圖片來源:計算共形幾何(理論篇);作者:顧險峰、丘成桐;出版社:高等教育出版社

但如果CT掃描后的直腸曲面展平后,觀察到的病灶變形嚴(yán)重的話(就像上面提到非洲和格陵蘭島那樣),例如腫瘤塊在映射過程中被放大或縮小,這樣的檢查圖像是無法幫助醫(yī)生做出準(zhǔn)確判斷的。因此,盡可能地減小扭曲程度是三維曲面展開的重要目標(biāo)。映射后的平面圖,需要盡可能的保留三維曲面所蘊含的細(xì)節(jié)信息,避免造成失真。

為了解決這一問題,這里需要引入一個計算機科學(xué)里的概念。大家是否見過鑿冰球的場景?晶瑩剔透的冰塊在調(diào)酒師的手中不停被敲掉棱角,最終得到一顆光滑的冰球。

打開網(wǎng)易新聞 查看精彩圖片

圖片來源于網(wǎng)絡(luò)

這里我們強制設(shè)定,每一次敲擊形成的切面都是三角形的。那么在整個過程中,冰球就可以看成是無數(shù)個三角形組成的多面體。只要敲擊的次數(shù)足夠多,所形成的切面三角形足夠多,這個多面體就可以近似為一個球體。

同樣的,我們試著像鑿冰球一樣,把復(fù)雜曲面的表面分割成許多的三角形。只要這些三角形切得足夠小、無限的小,以至于每個三角形的彎曲程度小到可以忽略不計,就可以將每一個三角形看成平面。這樣由三角形組成的網(wǎng)格在計算機中被稱為三角網(wǎng)格(Mesh)。為了方便解答,這里對“大衛(wèi)頭”進(jìn)行了簡化:

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

左圖為三角網(wǎng)格下的“大衛(wèi)頭”

右圖為簡化版“大衛(wèi)頭”的側(cè)面和底面

要使映射的效果比較好,需滿足以下約束條件:

01

映射之后內(nèi)部三角形的邊不能相交;

打開網(wǎng)易新聞 查看精彩圖片

圖片來源:Games301

02

映射后三角形的定向不能翻轉(zhuǎn),否則會有錯亂的情況;

打開網(wǎng)易新聞 查看精彩圖片

圖片來源:Games301

03

映射后的邊界不能相交。

打開網(wǎng)易新聞 查看精彩圖片

圖片來源:Games301

04

分塊展平,逐個擊破

在三角網(wǎng)格的設(shè)定下,我們希望對三角網(wǎng)格進(jìn)行形變最小化、且能夠保留三維細(xì)節(jié)信息的平面展開

想象一下,我們給“大衛(wèi)頭”三角網(wǎng)格模型上貼一大塊可以任意伸縮、受力均勻的橡膠皮。在對這塊橡膠皮進(jìn)行拉伸時,每一個網(wǎng)格之間都會對力進(jìn)行傳導(dǎo),且對于這塊橡膠皮內(nèi)部的任意一點,作用在它身上的力是均衡的。

獨立來看任意一塊三角形區(qū)域,當(dāng)我們固定它的三邊,從外部向這塊橡膠皮的三條邊施力時,它內(nèi)部的點就會移動到使其受力均勻的位置。

打開網(wǎng)易新聞 查看精彩圖片

將“大衛(wèi)頭”按照特定的形狀范圍(圓形)進(jìn)行二維展開

我們再進(jìn)一步假設(shè),將整個“大衛(wèi)頭”橡膠皮的所有外邊界固定到一個圓周上(也可以固定成方形、矩形、平行四邊形……,as you wish)。隨著橡膠皮的拉伸,其內(nèi)部的頂點V將會“乖乖”移至與它相鄰的那些定點所構(gòu)成區(qū)域的中心區(qū)域,這個位置就叫做質(zhì)心,如下圖所示。

打開網(wǎng)易新聞 查看精彩圖片

五個三角形網(wǎng)格均勻受力后,其內(nèi)部頂點v∈Vint會移動至質(zhì)心

通過每塊三角形橡膠皮之間作用力的相互傳導(dǎo),這塊三維的不規(guī)則橡膠皮可以被“均勻”地拉伸成了二維平面。在這場“拉皮手術(shù)”中被攤平的橡膠皮,就是對“大衛(wèi)頭”這一不規(guī)則模型的曲面展開。在計算機領(lǐng)域,三角網(wǎng)格展平的算法被稱為“網(wǎng)格參數(shù)化算法”(Mesh Parameterization)。

打開網(wǎng)易新聞 查看精彩圖片

使用C++ Eigen庫對稀疏線性方程組進(jìn)行求解得到的展平結(jié)果

打開網(wǎng)易新聞 查看精彩圖片

網(wǎng)格參數(shù)化算法的推導(dǎo)過程

這里我們在上述展平結(jié)果的表面貼上一層規(guī)則的棋盤格,再復(fù)原到“大衛(wèi)頭”上,直觀地感受下三角形們不同的扭曲。同時,這也是網(wǎng)格參數(shù)化算法的一個實際應(yīng)用案例——紋理貼圖。

打開網(wǎng)易新聞 查看精彩圖片

均勻的網(wǎng)格在不規(guī)則曲面上形成不同程度的扭曲

紋理貼圖是一種計算機圖形學(xué)技術(shù),設(shè)計師可以在二維空間進(jìn)行模擬物體的表面紋理與細(xì)節(jié)信息的設(shè)計,再通過計算機手段將其投影到3D模型表面,從而賦予模型/角色更有深度的視覺體驗。在游戲相關(guān)的領(lǐng)域中,紋理貼圖經(jīng)常被用來對3D場景和對象進(jìn)行上色及紋理填充等。

打開網(wǎng)易新聞 查看精彩圖片

立方體例子。圖片來源:cnblogs.com/zhaoqingqing/p/18185486

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

3D模型紋理貼圖例子。圖片來源:cnblogs.com/mvrlink/p/17916091.html

從一顆橘子到給地球“拉個皮”,從三角網(wǎng)格到網(wǎng)格參數(shù)化算法,這只是三維到二維在計算機領(lǐng)域的一種解決方案。而在實際科研工作中,科學(xué)家們對三維到二維的研究還在如火如荼進(jìn)行中,值得我們想象和探索的空間還有很多很多。

撰稿:李國雄-阿秒科學(xué)中心、曹儷原-綜合事務(wù)管理部

部分圖片來源網(wǎng)絡(luò)

本文轉(zhuǎn)載自《松山湖材料實驗室》微信公眾號

 給橘子做“拉皮手術(shù)”:曲面展平黑科技
打開網(wǎng)易新聞 查看更多視頻
給橘子做“拉皮手術(shù)”:曲面展平黑科技

《物理》50年精選文章