电竞比分网-中国电竞赛事及体育赛事平台

分享

曲面建模篇:如何構(gòu)建一條高質(zhì)量的曲線

 學(xué)習(xí)新知識(shí)tzh 2021-05-06

之前文章已經(jīng)簡(jiǎn)單介紹了Alias Golden RulesAlias 黃金法則),里面包含了10項(xiàng)法則,歸納起來(lái)主要分3大項(xiàng):構(gòu)線、構(gòu)面、構(gòu)面技巧

Image

本文先介紹第一部分:如何構(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)。

Image

2. 對(duì)于多線段曲線,除了單線段要順暢外,曲線段與曲線段之間的連接處的曲率變化同樣影響整條曲線的質(zhì)量,連接處的曲率變化通常分為以下4種情況:

G0,兩曲線段雖相連,但不相切,在連接處曲率不相等;
G1,兩曲線段相切,在連接處的曲率不相等,曲率線不相連;
G2,兩曲線段相切,在連接處的曲率相等,曲率線為G0連接;
G3,兩曲線段相切,在連接處的曲率相等,曲率線為G1連接。
Image

Image

Image

Image

在Creo中,最多能做到G3的曲線連接,G3連接的曲線代表著真正的光順,但實(shí)際應(yīng)用中,有些變形空間小的區(qū)域很難用G3甚至G2去做,如果用G3或G2就會(huì)導(dǎo)致曲線或曲面變形嚴(yán)重,完全偏離ID設(shè)計(jì)意圖,這個(gè)時(shí)候選擇G1就會(huì)好很多,但是G1的質(zhì)量也有好壞之分,比如以下兩圖,兩圖的曲線看似一樣,實(shí)際上下面那個(gè)就比上面那個(gè)好很多,兩曲線連接處的曲率相差不大,且曲率線的走勢(shì)接近,這種情況可以看似類G3的效果,稱為假G3。
Image

Image

所以說(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é)中,曲線的生成原理有以下兩種:

1. 插值法:已知若干個(gè)離散的點(diǎn),軟件會(huì)用直線把這些點(diǎn)連接起來(lái),如圖:
Image
如果點(diǎn)足夠多,就會(huì)擬合逼近成一條曲線段。
Image
所幸的是,軟件會(huì)自動(dòng)幫我們?nèi)プ龉忭樆?,我們只需要確定若干個(gè)點(diǎn)的位置就行,樣條曲線就是這樣生成的。

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)的切線方向。

Image

在實(shí)際設(shè)計(jì)中,對(duì)于一些簡(jiǎn)單的曲線形狀,可以通過(guò)一條低價(jià)的貝塞爾曲線(通常采用3階,Creo中的曲線是最少為3階,其實(shí)2階也有,圓錐曲線就是2階的,但是圓錐曲線在Creo中不能升階,靈活性低,只能適應(yīng)一些特定的曲線)去描繪,如果還不能滿足,可以通過(guò)升階,這樣就得到更多的控制點(diǎn),曲線調(diào)整的靈活性就會(huì)增加。

Image
對(duì)于復(fù)雜的曲線形狀,則需要更多的控制點(diǎn),曲線的階次就會(huì)變得非常高,但是,貝塞爾曲線有兩個(gè)明顯缺點(diǎn):
1. 調(diào)整貝塞爾曲線任意一個(gè)控制點(diǎn),曲線上的所有點(diǎn)都跟著變化。

對(duì)于使用高階貝塞爾曲線描繪的曲線圖形就更加難以調(diào)整,就是無(wú)法做到只修改曲線的某一部分,因?yàn)橹灰獎(jiǎng)右粋€(gè)控制點(diǎn),整個(gè)曲線都會(huì)跟著發(fā)生變化,正所謂牽一發(fā)而動(dòng)全身。

2. 不能精確地描繪除拋物線外的圓錐曲線。

為了改善貝塞爾曲線的局部特征修改性,引入了這種曲線:使用多條低階的貝塞爾曲線通過(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)影響,如下圖。

Image
如果只用一根貝塞爾曲線是很難做出這種矩形圓角曲線,因?yàn)樵诒WC圓角處形狀的前提下無(wú)法保證直線段的形狀,感興趣的可以在Creo樣式中試試,樣式中可以繪制3階以上的貝塞爾曲線。
B樣條上的節(jié)點(diǎn)的間距如果是恒定的,把這種B樣條曲線叫做均勻B樣條曲線,反之為非均勻B樣條曲線,在實(shí)際應(yīng)用中,顯然非均勻B樣條曲線更能滿足復(fù)雜的造型需求。

但是,無(wú)論是貝塞爾曲線還是上述的B樣條曲線,都不能精確地描繪除拋物線外的圓錐曲線,比如圓、弧形、橢圓。為了解決這一問(wèn)題,引入了“控制點(diǎn)權(quán)值”的概念,使得曲線上的各個(gè)控制點(diǎn)能不均等地影響曲線,這里把曲線上控制點(diǎn)的權(quán)值都一樣的定義為非有理B樣條曲線,反之為有理B樣條曲線。

Image
結(jié)合以上,把非均勻有理B樣條曲線簡(jiǎn)稱為NURBS(Non Uniform Rational B-spline),非均勻有理B樣條曲線有以下4個(gè)特點(diǎn):
1. B樣條曲線的所有優(yōu)點(diǎn)都在非均勻有理B樣條曲線中保留。
3. 其他B樣條曲線只能近似地表示圓、弧形、橢圓等形狀,而NURBS可以精確地表示。
4. 由于引入了控制點(diǎn)權(quán)值,NURBS具有更多的形狀控制自由度,可以適應(yīng)復(fù)雜的形狀曲線。
所以,大部分繪圖軟件的樣條曲線基本上都是采用的是非均勻有理B樣條曲線

實(shí)際上貝塞爾曲線可認(rèn)為是均勻有理B樣條曲線,雖然難以對(duì)曲線的局部形狀進(jìn)行修整,但這一缺點(diǎn)在另一角度上也是它的優(yōu)點(diǎn),就是曲線天然具有順滑性,即調(diào)整某一控制點(diǎn)時(shí),曲線上其他位置也跟著調(diào)整,這樣整條曲線時(shí)刻保持著很好的曲率連續(xù)性,即使是在多階的情況下。

Image

上圖為貝塞爾曲線、B樣條曲線(樣式中)、B樣條曲線(草繪中)調(diào)整控制點(diǎn)后曲率變化的情況,可以看出,B樣條曲線中內(nèi)部節(jié)點(diǎn)越多,雖然越能逼近圖形的真實(shí)輪廓,但是其曲率線的柔順性就越難調(diào)整,這時(shí)就需要增加階數(shù)以使曲率線變得柔順,如下圖的圓,在節(jié)點(diǎn)一樣的情況下,階數(shù)越高曲率線變得更柔順,但是4階以后,再繼續(xù)升階的話改變有限了。

Image

Image

但是階數(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ù)。

Image

所以,如果貝塞爾曲線能滿足圖形的描繪,盡量選用低階的貝塞爾曲線,這樣即容易取得高質(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)整的情況)。

Image
如果使用B樣條曲線,首先需要布置一些點(diǎn),點(diǎn)的數(shù)量也是盡量以最少為原則,當(dāng)然,如果你經(jīng)驗(yàn)豐富的話,一般的曲線圖形一看就知道需要大概多少個(gè)點(diǎn)進(jìn)行繪制,這種情況一開(kāi)始就可以把所需要的點(diǎn)大概確定下來(lái)(通常情況下,曲率變化大的地方需要布置點(diǎn))。調(diào)整曲線的過(guò)程中,通過(guò)移動(dòng)控制多邊形上的控制點(diǎn)來(lái)調(diào)整會(huì)方便很多,同樣,控制點(diǎn)的數(shù)量也不宜過(guò)多。

Image

Image

同時(shí),控制點(diǎn)的排布對(duì)曲線的質(zhì)量也有關(guān)系,即控制點(diǎn)之間的間隔以及控制點(diǎn)與曲線之間的距離對(duì)曲線的曲率有影響。
1. 控制點(diǎn)之間的間隔:一般是恒定、或遞增、或遞減,
Image
2. 控制點(diǎn)與曲線之間的距離:一般是逐漸先增后減,
Image
但也不是絕對(duì)的,比如以下這類S型曲線,會(huì)有個(gè)轉(zhuǎn)折點(diǎn),這樣的曲線會(huì)存在正反曲率。
Image
在很多實(shí)際應(yīng)用中,曲線的起始點(diǎn)和終止點(diǎn)都會(huì)設(shè)置邊界條件,比如相切、曲率、加速度、法向、角度等,這樣對(duì)后續(xù)創(chuàng)建曲面的質(zhì)量是很有幫助的,當(dāng)然,也會(huì)存在一些自由曲線,在繪制這類自由曲線時(shí),其起始點(diǎn)和終止點(diǎn)處的曲率也是有講究的,原則是,延長(zhǎng)起始點(diǎn)或終止點(diǎn)處的曲線(或曲面),其延伸部分需保持延伸前的走勢(shì)。

要實(shí)現(xiàn)這一點(diǎn),通常有以下三種方法:

1. 在繪制自由曲線時(shí),比實(shí)際需要的曲線段在起始點(diǎn)和終止點(diǎn)處適當(dāng)加長(zhǎng),后期通過(guò)裁切的方式裁剪到合適的曲線段。
Image
2. 如果不想通過(guò)以上方式,那么就需要特別注意調(diào)整起始點(diǎn)和終止點(diǎn)處的曲率,使得延伸后能保持延伸前的走勢(shì),以下三種曲線看起來(lái)并無(wú)差別,但是曲率并不相同,最終曲線的質(zhì)量也會(huì)不一樣。
Image

Image

Image

3. 做參考線,使其有設(shè)置邊界的條件,通常會(huì)選用規(guī)格的圖元作為參考的邊界,如圓弧、圓、直線、橢圓等,因?yàn)檫@些圖元自身有良好的曲率。
Image

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多