尹勤 魏群
摘要:文中闡述了NURBS曲線在Rhino建模過程中重要性,以及影響其質(zhì)量的關(guān)鍵因素,并提供了幾種改善NURBS曲線質(zhì)量的可行性方法。
關(guān)鍵詞:NURBS曲線;Rhino;CV點(diǎn);權(quán)重;連續(xù)性
中圖分類號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)23-5718-04
Research on Quality Control of NURBS Curve in Rhino
YIN Qin1, WEI Qun2
(1.School of Electromechanical and Architectural Engineering, Jianghan University, Wuhan 430056, China; 2. School of Art & Design, Wuhan Institute of Technology, Wuhan 430205, China)
Abstract: The importance of NURBS curve in Rhinos model building and the key factor that influences its quality are introduced, and several feasible methods of improving NURBS curve quality are provided at the same time.
Key words: NURBS curve; Rhino; CV point; weight; continuity
1概述
NURBS是指Non-Uniform Rational B-Splines(非均勻有理B樣條曲線)的縮寫,它是一種優(yōu)秀的建模方式。相比傳統(tǒng)的網(wǎng)格建模方式,它能更好的控制物體表面的曲率,便于得到更高質(zhì)量的曲面。許多高級(jí)三維軟件都支持這種建模方式。Rhino也是以NURBS曲線技術(shù)為核心的軟件。
NURBS曲線是初學(xué)rhino最先接觸的概念。學(xué)會(huì)畫曲線不難,但畫好曲線卻并不簡單。建模中的線就像建筑中的構(gòu)架,基礎(chǔ)沒打好,房子是會(huì)倒的。初學(xué)者往往看不到曲線在建模過程中重要作用,不重視線的質(zhì)量,導(dǎo)致模型很粗糙甚至出現(xiàn)錯(cuò)誤。所以掌握高質(zhì)量NURBS曲線的繪制方法,是學(xué)習(xí)rhino必需打扎實(shí)的基本功。
2決定曲線質(zhì)量的關(guān)鍵因素
要學(xué)習(xí)如何繪制高質(zhì)量曲線,必須先了解哪些因素決定了曲線質(zhì)量的高低。這些因素包括:CV點(diǎn)的分布、權(quán)重、曲線的連續(xù)性。
2.1 CV點(diǎn)的分布
CV點(diǎn)是NURBS曲線的定義值,也是曲線調(diào)節(jié)最常用的控制點(diǎn),通過改變CV的坐標(biāo)值,就可以改變曲線的形態(tài)和位置。CV點(diǎn)的分布和數(shù)量對(duì)曲線的質(zhì)量有重大的影響,在曲線形態(tài)相同的前提下:CV點(diǎn)數(shù)量越少越好;CV點(diǎn)分布越均勻越好。
首先我們來做一個(gè)關(guān)于CV點(diǎn)數(shù)量的對(duì)于曲線質(zhì)量影響的實(shí)驗(yàn)。
兩條看上去一模一樣的曲線,如圖1所示,左邊由4個(gè)CV點(diǎn)組成,右邊的曲線是經(jīng)過Rebuild后變?yōu)?0個(gè)CV點(diǎn)的曲線,如圖1所示。如果不借助工具,我們無法看出這兩條曲線有什么差別。曲率檢測命令Curvature Graph可以直觀顯示出曲線曲率的走勢,便于我們判斷曲線質(zhì)量的好壞。使用Curvature Graph后,我們看到了左邊的曲率線非常平滑,而右邊的曲率線有明顯的轉(zhuǎn)折。由此應(yīng)證了同樣形態(tài)下CV點(diǎn)數(shù)量越少,曲線質(zhì)量越好的原則。
下一個(gè)實(shí)驗(yàn)是關(guān)于CV點(diǎn)的分布對(duì)于曲線質(zhì)量的影響。
畫一條曲線,再將其復(fù)制到右邊,并且在這條復(fù)制的曲線上加幾個(gè)點(diǎn)。兩條曲線看上去是一樣的,打開Curvature Graph,發(fā)現(xiàn)右邊加點(diǎn)部分的曲率線突然變密了,如圖2所示。曲線因?yàn)镃V點(diǎn)的分布不均勻而變得復(fù)雜了,曲線的質(zhì)量也隨之降低。
2.2 weight權(quán)重
Weight在rhino中指的是權(quán)重的意思,權(quán)重可以理解為CV點(diǎn)對(duì)曲線的引力。權(quán)重越大,曲線就越靠近CV點(diǎn);權(quán)重越小,曲線越遠(yuǎn)離CV點(diǎn)。我們用CV點(diǎn)繪制的自由曲線都是沒有調(diào)整權(quán)重的曲線,也就是曲線上每一個(gè)CV點(diǎn)到曲線的距離是相等的。標(biāo)準(zhǔn)幾何曲線如圓、拋物線等等都是通過調(diào)整曲線的權(quán)重值得到的。我們運(yùn)用調(diào)節(jié)權(quán)重的辦法就可以改變曲線形態(tài)而不增加CV點(diǎn)。下面來做個(gè)實(shí)驗(yàn),同樣形態(tài)的曲線,用兩種不同的方法來繪制,哪條曲線的質(zhì)量更高呢?左邊使用加點(diǎn)的辦法,右邊是增大轉(zhuǎn)折處CV點(diǎn)的權(quán)重的辦法。再將兩條曲線通過擠壓命令變成曲面,如圖3,可以看到左邊的網(wǎng)格線明顯更復(fù)雜,而右邊的曲面就顯得很簡潔。由此可見用加權(quán)重的辦法繪制的曲線質(zhì)量更好。
圖3
2.3曲線的連續(xù)性
在建模中經(jīng)常會(huì)使用復(fù)合曲線Polycurve,即由兩條以上的曲線連接而成的曲線。連續(xù)性是繪制高質(zhì)量的復(fù)合曲線時(shí)要考慮的問題。連續(xù)性是根據(jù)曲線的曲率等級(jí)進(jìn)行劃分的,在rhino中常用的是G0、G1、G2級(jí)別的連續(xù)。打開Curvature Graph,來看看不同級(jí)別的連續(xù)在曲率上有哪些特征。
2.3.1 G0連續(xù)
這是最基本的連續(xù),兩條曲線的端點(diǎn)重合就可以達(dá)到G0連續(xù),但它們的曲率沒有連續(xù),如圖4-a。從曲率圖來看,兩條線段連接處明顯斷開了。G0曲線有明顯的折角,是不光滑的連接。
2.3.2 G1連續(xù)
G1連續(xù)的曲率圖可以看到,如圖4-b,兩段曲率是連接在一起的,只是長度不一樣。從外表上看,G1曲線光滑連接,但有不明顯折角。最常見的G1連續(xù)方式是倒圓角。
2.3.3 G2連續(xù)
這是一種更光滑的連接方式,沒有明顯折角,對(duì)曲面的光滑程度要求較高的時(shí)候一般都使用G2連續(xù)。從曲率圖上看,兩段曲線的曲率是完全連接在一起的,如圖4-c。
3優(yōu)化曲線的技巧
模型的質(zhì)量要從畫線抓起,畫線的質(zhì)量要在放置CV點(diǎn)時(shí)就控制好,在繪制曲線時(shí)要應(yīng)用CV點(diǎn)分布的原則:CV點(diǎn)數(shù)量越少越好;CV點(diǎn)分布越均勻越好。這個(gè)原則在一次曲線的繪制上非常有用,所謂一次曲線就是直接用CV點(diǎn)繪制的曲線。但建模過程中經(jīng)常會(huì)出現(xiàn)二次曲線,比如兩條或多條曲線連接而成的復(fù)合曲線,曲面和曲面之間的相交線,以及曲線在曲面上的投影線等等,這些曲線是通過采樣數(shù)據(jù)擬合得到的,沒有辦法事先控制CV點(diǎn)的分布。而且這類型曲線的CV點(diǎn)數(shù)量多、分布不均勻,直接拿來構(gòu)建曲面,往往質(zhì)量不高,所以我們要對(duì)這些曲線進(jìn)行處理。
3.1曲線優(yōu)化命令
曲線在曲面上的投影、以及曲面和曲面的交線,可以使用下列命令來優(yōu)化。
3.1.1 Rebuild重建
Rebuild可以改變曲線的CV點(diǎn)數(shù)量,讓CV點(diǎn)的分布更均勻,但它不考慮誤差因素,重建后曲線變形較大,如果對(duì)曲線的形態(tài)有嚴(yán)格要求,就不太適合用Rebulid命令。
3.1.2 Refit擬合
Refit的原理和Rebuild相似,也是通過改變CV點(diǎn)的數(shù)量和移動(dòng)位置來優(yōu)化曲線,但refit是可以控制變形誤差的命令。通過輸入公差值,可以把重建后的曲線和原曲線的偏差控制在一定范圍內(nèi)。所以Refit命令比Rebuild更實(shí)用一些。
3.1.3 Fair均化
Fair的優(yōu)化原理是通過調(diào)節(jié)CV點(diǎn)的位置分布來優(yōu)化曲線,也是通過公差來控制曲線的變形的程度。它和Refit命令一樣,都是很實(shí)用的曲線優(yōu)化工具。
3.2曲線的連續(xù)性命令
由多段曲線連接而成的復(fù)合曲線,需要調(diào)整線段之間的連續(xù)性才能保證其質(zhì)量。Match curve匹配曲線命令可以使曲線達(dá)到G0-G2的連續(xù)性。匹配曲線命令的用法在很多教材中都提到過,這里也不贅述。匹配后的曲線雖然達(dá)到了光滑連接,但與原曲線在位置和形態(tài)方面都有較大偏差。如果是對(duì)曲線的形態(tài)和尺寸有很嚴(yán)格要求則不適合用這種方法。下面介紹一種直接繪制G2級(jí)別連接曲線的方法:
以Y軸為對(duì)稱軸畫一條曲線,再鏡像到軸的另一邊。要保證這兩條曲線達(dá)到G2連續(xù),兩條線段的交點(diǎn)和相鄰兩點(diǎn)必須在同一條直線上,如圖5,可以打開Curvature Graph檢查,發(fā)現(xiàn)曲率是連續(xù)的,證明這兩條線確實(shí)達(dá)到了G2連續(xù)。用這種辦法就可以直接繪制出G2連續(xù)的復(fù)合曲線,而不需要再使用匹配命令。
4結(jié)束語
在繪制NURBS曲線時(shí),要做到繪制前合理規(guī)劃,繪制后及時(shí)檢查并調(diào)整,確保得到高質(zhì)量的曲線,為后面構(gòu)建模型的面和體的工作打下堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn):
[1]施法中.計(jì)算機(jī)輔助幾何設(shè)計(jì)與非均勻有理B樣條[M].北京:高等教育出版社,2001.
[2]蔣曉.Rhino 4.0中文版產(chǎn)品設(shè)計(jì)標(biāo)準(zhǔn)實(shí)例教程[M].北京:清華大學(xué)出版社,2011.