|
之前文章已經(jīng)簡(jiǎn)單介紹了Alias Golden Rules(Alias 黃金法則),里面包含了10項(xiàng)法則,歸納起來(lái)主要分3大項(xiàng):構(gòu)線、構(gòu)面、構(gòu)面技巧。 本文先介紹第一部分:如何構(gòu)建一條高質(zhì)量的曲線。我們知道,最終的曲面模型是由一塊一塊曲面組成,曲面是由曲線構(gòu)建,所以,要取得高質(zhì)量的曲面模型,首先得從構(gòu)建高質(zhì)量的曲線開(kāi)始。 好的曲線首先是盡可能逼近ID意圖的,否則,所構(gòu)建的曲線再順暢也是無(wú)意義的,當(dāng)然,這里所說(shuō)的逼近并不是一定完全貼合ID圖上的曲線,應(yīng)在保證所構(gòu)建的曲線在順暢的基礎(chǔ)上(或是在可接受范圍內(nèi))逼近ID的意圖,如沖突較大,應(yīng)及時(shí)與ID溝通。 那么,怎樣的曲線才稱得為順暢的曲線呢?一般從曲率的角度去做判斷。 1. 對(duì)于單曲線段曲線,其曲率要順暢,不能有連續(xù)的起伏波動(dòng)。 2. 對(duì)于多線段曲線,除了單線段要順暢外,曲線段與曲線段之間的連接處的曲率變化同樣影響整條曲線的質(zhì)量,連接處的曲率變化通常分為以下4種情況: 所以說(shuō),不管是單曲線段曲線還是多曲線段曲線,曲線的曲率線走勢(shì)很重要,這是影響曲線質(zhì)量的重要因素。 那么,怎么繪制出高質(zhì)量的曲線呢? 我們知道,線是由無(wú)數(shù)個(gè)點(diǎn)組成,一條曲線可以看作是一個(gè)質(zhì)點(diǎn)的運(yùn)動(dòng)軌跡,這是實(shí)際中曲線的表述,比如我們用一只筆在紙上畫(huà)一條曲線,筆頭可以看似一個(gè)質(zhì)點(diǎn),筆頭在紙上經(jīng)過(guò)的軌跡就會(huì)生成一條曲線,甚至一些復(fù)雜的圖形,如果通過(guò)手繪,這是很容易實(shí)現(xiàn)的,但是如果是按照這種方法通過(guò)鼠標(biāo)來(lái)繪制,就變得困難得多。 在計(jì)算機(jī)圖形學(xué)中,曲線的生成原理有以下兩種: 2. 擬合法:已知若干控制點(diǎn)組成的一多折線輪廓,軟件會(huì)生成一曲線,此曲線逼近這些折線段,但不會(huì)通過(guò)每一個(gè)控制點(diǎn),貝塞爾曲線就是通過(guò)這種方法生成。 貝塞爾曲線由起始點(diǎn),終止點(diǎn)和控制點(diǎn)組成,起始點(diǎn),終止點(diǎn)和控制點(diǎn)通過(guò)直線段連起來(lái)形成一個(gè)特征多邊形,曲線的形狀依附于多邊形的形狀,也就是通過(guò)調(diào)整控制點(diǎn),可以調(diào)整曲線的形狀。只有起始點(diǎn)和終止點(diǎn)在曲線上,多邊形的第一條邊和最后一條邊分別表示起始點(diǎn)和終止點(diǎn)的切線方向。 ![]() 在實(shí)際設(shè)計(jì)中,對(duì)于一些簡(jiǎn)單的曲線形狀,可以通過(guò)一條低價(jià)的貝塞爾曲線(通常采用3階,Creo中的曲線是最少為3階,其實(shí)2階也有,圓錐曲線就是2階的,但是圓錐曲線在Creo中不能升階,靈活性低,只能適應(yīng)一些特定的曲線)去描繪,如果還不能滿足,可以通過(guò)升階,這樣就得到更多的控制點(diǎn),曲線調(diào)整的靈活性就會(huì)增加。 ![]() 對(duì)于使用高階貝塞爾曲線描繪的曲線圖形就更加難以調(diào)整,就是無(wú)法做到只修改曲線的某一部分,因?yàn)橹灰獎(jiǎng)右粋€(gè)控制點(diǎn),整個(gè)曲線都會(huì)跟著發(fā)生變化,正所謂牽一發(fā)而動(dòng)全身。 為了改善貝塞爾曲線的局部特征修改性,引入了這種曲線:使用多條低階的貝塞爾曲線通過(guò)拼接來(lái)替代高階的貝塞爾曲線,B樣條曲線就是基于此原理生成的,在繪制B樣條曲線時(shí),我們只需要給出確切的節(jié)點(diǎn),軟件自動(dòng)會(huì)生成完整的B樣條曲線,實(shí)際上,節(jié)點(diǎn)與節(jié)點(diǎn)之間是一條貝塞爾曲線,只不過(guò)軟件會(huì)自動(dòng)把每條貝塞爾曲線連接起來(lái)(連接處曲率連續(xù)),生成一條完整的曲線。 這樣的B樣條曲線的優(yōu)點(diǎn):修改某一控制點(diǎn)只引起與該控制點(diǎn)相鄰的曲線形狀發(fā)生變化,遠(yuǎn)處的曲線形狀不受影響。舉個(gè)例子,基于這個(gè)優(yōu)點(diǎn),我們可以只用一根樣條曲線就可以繪制帶有直線段的矩形圓角,圓角處的形狀變化對(duì)遠(yuǎn)處的直線基本沒(méi)影響,如下圖。 ![]() 但是,無(wú)論是貝塞爾曲線還是上述的B樣條曲線,都不能精確地描繪除拋物線外的圓錐曲線,比如圓、弧形、橢圓。為了解決這一問(wèn)題,引入了“控制點(diǎn)權(quán)值”的概念,使得曲線上的各個(gè)控制點(diǎn)能不均等地影響曲線,這里把曲線上控制點(diǎn)的權(quán)值都一樣的定義為非有理B樣條曲線,反之為有理B樣條曲線。 ![]() 3. 其他B樣條曲線只能近似地表示圓、弧形、橢圓等形狀,而NURBS可以精確地表示。 4. 由于引入了控制點(diǎn)權(quán)值,NURBS具有更多的形狀控制自由度,可以適應(yīng)復(fù)雜的形狀曲線。 實(shí)際上貝塞爾曲線可認(rèn)為是均勻有理B樣條曲線,雖然難以對(duì)曲線的局部形狀進(jìn)行修整,但這一缺點(diǎn)在另一角度上也是它的優(yōu)點(diǎn),就是曲線天然具有順滑性,即調(diào)整某一控制點(diǎn)時(shí),曲線上其他位置也跟著調(diào)整,這樣整條曲線時(shí)刻保持著很好的曲率連續(xù)性,即使是在多階的情況下。
但是階數(shù)越高,控制點(diǎn)就越多了,這樣調(diào)整的過(guò)程也會(huì)相當(dāng)繁瑣,因?yàn)榭刂泣c(diǎn)多了,相當(dāng)于變量就越多,你很難把這些點(diǎn)調(diào)整到準(zhǔn)確的位置上。這里需要所說(shuō)的階數(shù)=曲線控制點(diǎn)數(shù)-曲線內(nèi)部節(jié)點(diǎn)分隔的段數(shù)。
所以,如果貝塞爾曲線能滿足圖形的描繪,盡量選用低階的貝塞爾曲線,這樣即容易取得高質(zhì)量的曲線,調(diào)整過(guò)程也不算繁瑣;通常以“控制點(diǎn)最少”為原則,即最開(kāi)始應(yīng)先繪制只有起始點(diǎn)和終止點(diǎn)的曲線,然后移動(dòng)控制點(diǎn)調(diào)整曲線的形狀,如必要可根據(jù)情況再添加控制點(diǎn)直到滿足圖形的繪制(這個(gè)過(guò)程應(yīng)該時(shí)刻打開(kāi)曲率以便觀察曲線調(diào)整的情況)。 ![]()
![]() ![]() ![]() 要實(shí)現(xiàn)這一點(diǎn),通常有以下三種方法: ![]() ![]()
![]() |
|
|