谷香麗 魏威 楊欣
摘要:為了實現(xiàn)消費(fèi)級非專業(yè)設(shè)計者,能在自由創(chuàng)意建模過程中實現(xiàn)創(chuàng)新創(chuàng)意的自由表達(dá)。本文通過研究三維點云結(jié)構(gòu)、網(wǎng)格變形技術(shù)和細(xì)分算法,提出了新的基于自適應(yīng)細(xì)分的創(chuàng)意變形技術(shù),通過交互實現(xiàn)對三維模型的局部變形和細(xì)分,達(dá)到模型形變的精細(xì)級控制,使得非專業(yè)用戶可以像“捏橡皮泥”一樣自由地通過雕刻、拖拽等功能進(jìn)行創(chuàng)意設(shè)計。
關(guān)鍵詞:自由變形;創(chuàng)意設(shè)計;局部自適應(yīng)細(xì)分
1 引言①
隨著三維打印技術(shù)的普及,消費(fèi)級三維打印在家具家電、智能可穿戴設(shè)備和文化創(chuàng)意(珠寶、玩具和動漫手辦)等個性化較強(qiáng)的領(lǐng)域,開始被廣大用戶關(guān)注并體驗,越來越多的大眾都有親手建模的需求,面對龐大人口基數(shù)的消費(fèi)者市場,三維打印技術(shù)的市場潛力巨大。而目前大部分三維建模系統(tǒng)門檻高、難度大,且消費(fèi)級用戶的專業(yè)設(shè)計能力較弱。如何簡單并直接地讓設(shè)計者的創(chuàng)意發(fā)揮出來一直是三維建模技術(shù)中的主要難題。針對該問題,需提出新的創(chuàng)意變形建模方法,用于創(chuàng)意設(shè)計。讓用戶像“捏橡皮泥”一樣自由地通過雕刻、拖拽等功能進(jìn)行創(chuàng)意設(shè)計。
而目前大部分建模系統(tǒng)采用非均勻有理B樣條(NURBS)進(jìn)行建模,一方面,采用NURBS曲面造型系統(tǒng),使得建模門檻過高、學(xué)習(xí)難度大;另一方面,雖然NURBS在航空、汽車和航海上得以應(yīng)用,但是NURBS在表達(dá)復(fù)雜自然形狀方面會遭遇拓?fù)鋯栴},NURBS很難表達(dá)復(fù)雜的拓?fù)?。因此人們提出曲面?xì)分方法,該方法是基于網(wǎng)格細(xì)化的離散曲面表現(xiàn)形式,實現(xiàn)從任意拓?fù)渚W(wǎng)格構(gòu)建光滑曲面。讓用戶在創(chuàng)意建模時,具有更高的靈活性,而不需要考慮復(fù)雜的技術(shù)細(xì)節(jié)。目前已有很多經(jīng)典的細(xì)分變形方法,包括基于四邊形網(wǎng)格細(xì)分的Catmull-clark模式,基于三角形網(wǎng)格細(xì)分變形的Loop模式,基于任意多邊形網(wǎng)格細(xì)分變形的Doo-Sabin模型等。其中文獻(xiàn)[1]、文獻(xiàn)[2]和文獻(xiàn)[3]均基于Catmull-clark細(xì)分變形規(guī)則,提出基于四邊形網(wǎng)格的可調(diào)自適應(yīng)細(xì)分方法,改善了傳統(tǒng)Catmull-clark均勻細(xì)分規(guī)則,加入調(diào)節(jié)控制因子,增加曲面細(xì)分造型的靈活性。文獻(xiàn)[2]又采用曲面上點的曲率控制細(xì)分次數(shù),控制模型數(shù)據(jù)量的同時達(dá)到良好的曲面造型效果。文獻(xiàn)[3]引入尖銳邊概念,使光滑的細(xì)分曲面能夠表示尖銳特征,實現(xiàn)造型的多樣性。文獻(xiàn)[4]則以傳統(tǒng)Loop均勻細(xì)分方法為導(dǎo)向,提出基于三角形網(wǎng)格自適應(yīng)細(xì)分方法,類比于文獻(xiàn)[2]中以曲率為控制細(xì)分因子,該文提出二面角準(zhǔn)則控制模型細(xì)分次數(shù),降低曲面片數(shù)量。文獻(xiàn)[5]將B樣條曲面的節(jié)點嵌入算法推廣到任意拓?fù)渚W(wǎng)格上,突破單一類型網(wǎng)格細(xì)分,實現(xiàn)任意的多邊形網(wǎng)格細(xì)分。
本文提出一種基于三角網(wǎng)格自適應(yīng)曲面細(xì)分的自由變形方法,并應(yīng)用到創(chuàng)意建模中。該方法總體分為三步,首先,構(gòu)造新的基于交互的創(chuàng)意變形控制方法,控制交互拾取的網(wǎng)格頂點自然、光順變形;其次,引入以Loop細(xì)分模式為背景的可調(diào)細(xì)分規(guī)則,對網(wǎng)格變形區(qū)域進(jìn)行細(xì)分,增加網(wǎng)格細(xì)分變形的靈活性;最后,提出新的細(xì)分控制規(guī)則以提高細(xì)分變形效率。本文提出的基于交互的細(xì)分變形方法,對要造型處理的部位進(jìn)行曲面細(xì)分,實現(xiàn)形狀的精細(xì)級控制,支持用戶創(chuàng)意的表達(dá),用于創(chuàng)意設(shè)計,降低創(chuàng)意設(shè)計操作門檻,打通萬眾創(chuàng)新與 3D 打印制造的對接通道,吸引廣大消費(fèi)者的使用。該方法可以更高效靈活地、更準(zhǔn)確地讓創(chuàng)作者的創(chuàng)意發(fā)揮出來?;诩?xì)分的創(chuàng)意建模流程圖如圖1所示。
2 創(chuàng)意變形建模技術(shù)
為了實現(xiàn)模型的創(chuàng)意變形,并降低創(chuàng)意建模門檻,讓新手能夠快速上手,本文提出了新的創(chuàng)意變形技術(shù),該技術(shù)只需要設(shè)計者按照自己的設(shè)計意圖,像捏橡皮泥一般,在模型需要變形的區(qū)域拖動鼠標(biāo),即可達(dá)到選中區(qū)域變形,另外該方法實現(xiàn)了變形區(qū)域與非變形區(qū)域的光滑過度,使變形區(qū)域更加自然。
對于本文提出的創(chuàng)意變形方法,首先,遍歷創(chuàng)意變形曲面的局部三角形網(wǎng)格,然后對該區(qū)域內(nèi)所有的三角形頂點依據(jù)如下規(guī)則進(jìn)行自由變形。
1)設(shè)拾取半徑為r,偏移峰值為h。
如圖3所示,采用以上控制變形方法,在模型上拖動鼠標(biāo)進(jìn)行交互操作,實現(xiàn)對模型的局部自由變形。其中圖3a為初始三角網(wǎng)格模型,圖3b和圖3c則是采用 控制變形函數(shù)對模型進(jìn)行局部變形結(jié)果,由變形結(jié)果可以看出,模型變形區(qū)域與非變形區(qū)域之間的過渡比較光順、自然。
然而,直接對模型進(jìn)行創(chuàng)意變形,難以貼合設(shè)計師的創(chuàng)作意圖,會使變形模型顯示粗糙,在模型變形的過程中增加曲面細(xì)分技術(shù),可提高模型的光順性,提升模型的美觀。因此本文提出以Loop細(xì)分模式為背景,并加入細(xì)分控制因子,構(gòu)造新的細(xì)分規(guī)則實現(xiàn)對初始網(wǎng)格的自適應(yīng)細(xì)分,以適用該章節(jié)提出的基于交互的自由變形方法。
3 曲面細(xì)分方法
曲線細(xì)分的基本思想是每次細(xì)分都在每條邊上插入一個新的頂點,如圖4所示??梢钥吹诫S著細(xì)分次數(shù)的增加,折線逐漸變成一條光滑的曲線。
類比于曲線細(xì)分思想,曲面細(xì)分則需要有幾何規(guī)則和拓?fù)湟?guī)則(鑒于文獻(xiàn)[6]),幾何規(guī)則用于計算新頂點的位置,拓?fù)湟?guī)則用于確定新頂點的連接關(guān)系。下面介紹基于Loop細(xì)分模式的三角形網(wǎng)格細(xì)分方法。
Loop細(xì)分算法分為傳統(tǒng)Loop細(xì)分方法和可調(diào)控Loop細(xì)分方法。對于傳統(tǒng)細(xì)分方法,Loop細(xì)分算法由Charles Loop提出,該算法先后采用網(wǎng)格拓?fù)湟?guī)則和幾何規(guī)則完成細(xì)分。其中拓?fù)湟?guī)則就是在三角形每條邊上添加點,并將新添加的點兩兩相連,由一個三角形分裂為4個新的三角形,即4倍細(xì)分,如圖5所示。那么幾何規(guī)則是在添加新頂點后,按照一定規(guī)則更新網(wǎng)格中所有頂點位置,在更新過程中使新的網(wǎng)格更加光順。由于細(xì)分一次,三角形的個數(shù)增長為原來的4倍,那么隨著細(xì)分深度的增加網(wǎng)格數(shù)量急劇增長,另一方面,傳統(tǒng)的Loop細(xì)分方法采用固定的細(xì)分模式,在細(xì)分過程中我們無法對細(xì)分曲面進(jìn)行有效的形狀控制。
在自適應(yīng)細(xì)分方法中,采用三角形最大邊長?A(f ) 作為控制因子,來判斷當(dāng)前三角形是否滿足給定閾值?,如果滿足則不再進(jìn)入下一次細(xì)分;否則繼續(xù)采用給定細(xì)分方法細(xì)分。其中對于非活動面,不在其邊上插入新的頂點,對于活動面,采用可調(diào)Loop細(xì)分規(guī)則進(jìn)行插入新點和更新已有頂點。對于新創(chuàng)建的面繼續(xù)采用式(6)進(jìn)行判斷,并更新網(wǎng)格直至所有三角面滿足式(6)。該方法可以有效控制曲面細(xì)分次數(shù),在達(dá)到有效表達(dá)創(chuàng)意者意圖的同時,減少細(xì)分變形區(qū)域的面片量。
4 基于細(xì)分曲面的自由變形技術(shù)應(yīng)用
基于細(xì)分曲面的自由造型方法,實現(xiàn)通過拖拽物體表面元素來編輯細(xì)分曲面物體的創(chuàng)意變形。根據(jù)變形量以及變形方式對模型進(jìn)行動態(tài)劃分和調(diào)整,保證模型光順性,實現(xiàn)模型創(chuàng)意設(shè)計的自由表達(dá)。本文采用?作為三角形邊長的控制參數(shù),來判斷三角形的邊長是否滿足給定的閾值?,如果三角形的邊長小于給定閾值則不繼續(xù)細(xì)分,否則繼續(xù)用給定的細(xì)分規(guī)則進(jìn)行細(xì)分。
本文提出的自適應(yīng)細(xì)分變形方法進(jìn)行曲面創(chuàng)意造形規(guī)則。
4)在需要細(xì)分的三角形的邊上采點,將三角形采用可調(diào)的自適應(yīng)Loop細(xì)分方法進(jìn)行采點細(xì)分。
5)找到分割邊的鄰接三角形,補(bǔ)充新的邊,修復(fù)網(wǎng)格。
6)平滑新產(chǎn)生的點。
該細(xì)分曲面造型方法提高了模型顯示的光順性,更加貼合創(chuàng)作者的設(shè)計意圖。
如圖7所示,展示了采用不同方式對原始模型進(jìn)行變形,圖7b展示了為采用細(xì)分方法直接對模型進(jìn)行創(chuàng)意造形結(jié)果,從左上方的細(xì)節(jié)圖可以看出,變形后的區(qū)域出現(xiàn)狹長三角形,當(dāng)變形過大時,變形三角形會更加狹長,甚至出現(xiàn)面片的自相交現(xiàn)象。圖7d是運(yùn)用傳統(tǒng)Loop細(xì)分方法對模型進(jìn)行創(chuàng)意變形,從細(xì)節(jié)圖中可以看出,參與變形的三角形進(jìn)行了細(xì)分,但面片數(shù)量明顯增加。圖7c是運(yùn)用本文提出的可調(diào)自適應(yīng)Loop細(xì)分方法對模型進(jìn)行創(chuàng)意變形,可見,細(xì)節(jié)圖中面片數(shù)量明顯少于圖7d中的面片數(shù)量。
通過實驗結(jié)果對比可以看出,本文提出的方法更具有豐富的表現(xiàn)力,在達(dá)到創(chuàng)作者意圖的同時,降低操作門檻,簡化操作流程,提高模型的創(chuàng)意效率。另外,在進(jìn)行模型細(xì)分變形時,可以有效降低網(wǎng)格面片增長數(shù)量。
5 結(jié)束語
本文將細(xì)分曲面技術(shù)和自由變形兩大關(guān)鍵技術(shù)應(yīng)用到創(chuàng)意建模中,提出了基于細(xì)分曲面的創(chuàng)意建模技術(shù),實現(xiàn)三維模型自由設(shè)計。其中自由變形技術(shù)采用新的自由變形規(guī)則,實現(xiàn)了變形區(qū)域與非變形區(qū)域的光滑過度,使變形區(qū)域更加自然;另外曲面細(xì)分采用傳統(tǒng)Loop細(xì)分方法,并引入自適應(yīng)細(xì)分方法和形狀控制因子來控制變形區(qū)域模型的細(xì)分層次,優(yōu)化變形區(qū)域。該技術(shù)簡潔高效,可在基于web的三維建模工具中實現(xiàn)三維模型實時的創(chuàng)意設(shè)計。
參考文獻(xiàn)
[1] 任水利.基于四邊形網(wǎng)格的可調(diào)細(xì)分曲面造型方法[J].計算機(jī)應(yīng)用,007,27(5):1119-1121.
[2] 趙宏慶,彭國華,葉正麟,等.自適應(yīng)細(xì)分方法進(jìn)行曲面造型[J].計算機(jī)應(yīng)用研究,2006(9): 72-74+77.
[3] 朱賢益.三維自由創(chuàng)意建模技術(shù)的研究與實現(xiàn)[D].長沙:湖南大學(xué),2016.
[4] AMRESH A,F(xiàn)ARIN G,Razdan A.Adaptive subdivision schemes for triangle meshes[Z].Hierarchical and Geometric Methods in Scientific Visualisation,2003:319-327.
[5] DOO D,SABIN M.Behaviour of recursive division surfaces near extraordinary points[J].Computer-Aided Design,1978,10(6):356-360.
[6] 王國瑾,汪國昭,鄭建民.計算機(jī)輔助幾何設(shè)計[M].北京:高等教育出版社,施普林格出版社,2001.
[7] 趙付青,艾鑫.可調(diào)自適應(yīng)三角網(wǎng)格的細(xì)分曲面造型方法[J].計算機(jī)工程與設(shè)計,2011,32(001):232-235.