蘇靜



摘要:NURBS是幾何建模領(lǐng)域一種最常用的建模方式。NURBS擁有很多良好的數(shù)學(xué)性質(zhì),該文在分析關(guān)于曲線曲面細(xì)分建模技術(shù)的基礎(chǔ)上,采用了節(jié)點插入方法進(jìn)行NURBS曲線曲面細(xì)分,設(shè)計了NURBS曲面細(xì)分建模小型系統(tǒng),將細(xì)分技術(shù)應(yīng)用于建模系統(tǒng),實現(xiàn)了三維曲面細(xì)分建模。
關(guān)鍵詞:NURBS;節(jié)點插入;NURBS建模系統(tǒng);細(xì)分
中圖分類號:TP311? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2021)15-0004-02
1 背景
NURBS是幾何建模領(lǐng)域一種最常用的建模方式。NURBS擁有很多良好的數(shù)學(xué)性質(zhì)。曲面細(xì)分技術(shù)的原理就是按照一套細(xì)分的規(guī)則對曲面進(jìn)行多次細(xì)分,使模型的曲面細(xì)分到一定的程度,讓模型看上去足夠的光滑細(xì)致。B樣條在處理二次曲線弧時,人們發(fā)現(xiàn)B樣條并不能對除拋物線以外的二次曲線弧進(jìn)行精準(zhǔn)的表示,只能給出擬合的效果。而這種擬合的效果會造成更加復(fù)雜的問題。因此,人們提出了非均勻有理B樣條方法,簡稱NURBS。NURBS繼承了B樣條的所有優(yōu)點,在一定的條件下能進(jìn)行轉(zhuǎn)化為Bezier、B樣條等其他的曲線曲面,這意味著NURBS對產(chǎn)品形狀的描述有了統(tǒng)一的數(shù)學(xué)描述[1-2]。
NURBS節(jié)點插入技術(shù)就是在NURBS的節(jié)點矢量中插入一個節(jié)點,插入節(jié)點后重新對節(jié)點矢量進(jìn)行排序,重新計算控制頂點和權(quán)因子的數(shù)值,然后再將其繪制出來,繪制出來的曲線曲面和原來的形狀不變,NURBS的控制多邊形趨近于曲線曲面。利用NURBS節(jié)點插入技術(shù),我們可以實現(xiàn)NURBS的細(xì)分技術(shù)。通過NURBS的細(xì)分技術(shù),使設(shè)計人員實現(xiàn)復(fù)雜建模的需要。
2 NURBS曲線方程的有理分式表示
4 細(xì)分的相關(guān)知識及算法的實現(xiàn)
細(xì)分就是對一個初始的形狀描述數(shù)據(jù)進(jìn)行無限次遞歸的細(xì)化,使之達(dá)到產(chǎn)品設(shè)計人員的要求。但在實際的運用中,進(jìn)行無限次數(shù)的細(xì)分是不現(xiàn)實。因此,人們通常是在細(xì)分網(wǎng)格的尺寸小于屏幕的分辨率時,對于初始網(wǎng)格只執(zhí)行兩個細(xì)分,并且在檢測到兩個細(xì)分之后,將補(bǔ)丁的近誤差和平滑的數(shù)據(jù)用作初始調(diào)整的基礎(chǔ)。細(xì)分次數(shù)越多,效果越好,但計算量越大,光順效率越低。因此,這兩個細(xì)分是效率和效率之間的權(quán)衡[3]。
1)NURBS曲線插入一個節(jié)點
NURBS曲面新頂點位置和NURBS曲線的算法相同,分u向和v向分別計算即可。NURBS曲面中在同一位置重復(fù)插入同一節(jié)點的算法和NURBS曲線的也是一樣。
5 細(xì)分建模應(yīng)用
本文選擇應(yīng)用程序開發(fā)工具實踐了一個簡單的NURBS建模系統(tǒng)。主要完成導(dǎo)入圖片,針對圖中物體開始描邊、獲取對應(yīng)數(shù)據(jù),對數(shù)據(jù)進(jìn)行細(xì)分建模構(gòu)成三維模型。本次使用了Qt平臺框架進(jìn)行程序的設(shè)計。Qt是一個界面的應(yīng)用程序框架,主要用于界面的設(shè)計,具有便捷性可以直接拖動控件進(jìn)行界面布局,同時也可以使用代碼進(jìn)行界面布局。MFC平臺框架涵蓋的東西較多,較為冗余,MFC是微軟框架,底層的代碼實現(xiàn)更加地適應(yīng)著Windows系統(tǒng),不具有跨平臺性。而Qt并不依附于某一個系統(tǒng),具有跨平臺性,而且Qt運行效率比MFC好,Qt還實現(xiàn)了C++中不具有的仿射機(jī)制,其功能的實現(xiàn)主要是采用了元編譯器結(jié)合宏,加之Qt的信號的槽的機(jī)制,使其真正實現(xiàn)了組件式編程。
5.1 主界面
5.2 細(xì)分的效果
6 結(jié)束語
本文通過對NURBS建模技術(shù)的研究,實現(xiàn)了使用NURBS技術(shù)進(jìn)行三維建模,同時通過代碼建立了一個小型的NURBS建模系統(tǒng)。在完成NURBS曲面細(xì)分技術(shù)的研究之后,將其研究成果加入NURBS建模系統(tǒng)中,實現(xiàn)了NURBS節(jié)點插入細(xì)分算法,實現(xiàn)了NURBS曲面細(xì)分建模技術(shù)[5]。NURBS曲面采用的節(jié)點插入來進(jìn)行曲面細(xì)分,由于新的控制點總是整行、整列地加入曲面上,因此細(xì)分后的NURBS曲面不夠精細(xì)。為了解決NURBS曲面細(xì)分后不夠精細(xì)的問題,提出了T樣條采用一種新的點樣條曲面(Point-based Splines)定義方式,曲面的結(jié)構(gòu)變得更加靈活,使樣條曲面真正的具有了局部細(xì)分的特性。該算法用于NURBS曲面模型的精簡處理。
參考文獻(xiàn):
[1] 施法中.計算機(jī)輔助幾何設(shè)計與非均勻有理B樣條[M].2版.北京:高等教育出版社,2013.
[2] 于行洲,查紅彬,石青云.蝶形細(xì)分面片的光順[J].中國圖象圖形學(xué)報A輯,2003,8(3):299-305.
[3] 彭小新,唐月紅.自適應(yīng)T樣條曲面重建[J].中國圖象圖形學(xué)報,2010,15(12):1818-1825.
[4] 薛翔.T樣條曲面造型技術(shù)的研究[D].南京:南京航空航天大學(xué),2014.
[5] 孔令德,康鳳娥.NURBS曲面細(xì)分建模技術(shù)的研究與實現(xiàn)[J].洛陽師范學(xué)院學(xué)報,2020,39(5):26-31.
【通聯(lián)編輯:謝媛媛】