第6章 曲線曲面_第1頁
第6章 曲線曲面_第2頁
第6章 曲線曲面_第3頁
第6章 曲線曲面_第4頁
第6章 曲線曲面_第5頁
已閱讀5頁,還剩135頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第6章曲線曲面

2011-2012(2)

曲線曲面

2001

O從衛(wèi)星的軌道、導(dǎo)彈的彈道,到汽車和飛

機(jī)等的外形,直至日常生活中的圖案和花

樣設(shè)計,都離不了對曲線的描述和繪制。

以至于可以說,幾乎沒有一張設(shè)計圖紙上

是沒有曲線的。

2011-2012(2)

曲線曲面

O在我們遇到的各種各樣的曲線中,歸納起

來,大概不外乎兩類:

?一類是我們已經(jīng)比較熟悉的,如圓、橢圓、雙

曲線、正弦余弦、概率分布、擺線螺線等等。

這類曲線均可以用一個曲線方程式來表示,稱

此類曲線為規(guī)則曲線。比如圓的方程可以寫成

222

x+y=R等0

2011-2012(2)

曲線曲面

O曲線的分類

另有一類曲線,我們尚不能確切給出描述整個曲線的

方程,它們往往是由一些從實際中測量得到的一系列

離散數(shù)據(jù)點(diǎn)用曲線擬合方法來逼近的,稱為不規(guī)則曲

線。

這些曲線一般采用分段的多項式參數(shù)方程來表示,由

此形成一條光滑連續(xù)的曲線稱為樣條曲線或簡稱樣條。

常見的參數(shù)樣條曲線有拋物樣條曲線、Hermite插值

樣條曲線、Bezier樣條曲線和B樣條曲線等。

本章將主要討論參數(shù)樣條曲線和曲面的繪制方法。

2011-2012(2)

曲線曲面

2001

O當(dāng)曲線的數(shù)學(xué)表達(dá)方法確定以后,剩下的問題就是如何

把這些曲線繪制出來。

O要繪制一條指定的曲線函數(shù)的直接方法是用很多短直線

段來逼近曲線。

O繪出的曲線的光滑度和精確度取決于我們所選擇的數(shù)據(jù)

點(diǎn)的精度和數(shù)量。點(diǎn)的數(shù)量越多,直線段越短,則連成

的曲線愈接近于理想曲線。

2011-2012(2)

曲線曲面

2001

。至于點(diǎn)的數(shù)量取多少,直線段取多長,則

取決于我們對所繪制曲線的精度要求和圖

形輸出設(shè)備的精度,但我們對所繪制曲線

的精度要求不能逾越圖形輸出設(shè)備所實際

具有的精度。

2011-2012(2)

2001o常見二次曲線的繪制

o拋物樣條曲線

O三次參數(shù)樣條曲線

oBezier曲線和B樣條曲線

oBezier曲面和B樣條曲面

o實驗曲線的繪制方法

2011-2012(2)

常見二次曲線的繪制

gj|o橢圓繪圖程序分析

橢圓的標(biāo)準(zhǔn)方程為:

x2/a2+y2/b2=0

其中,a和b分別為橢圓的長、短軸半徑。

?但是,在實際的繪圖工作中,人們不利用橢圓的標(biāo)準(zhǔn)

方程。因為,橢圓的自變量和函數(shù)值之間的變化率不

均勻;同時,橢圓又屬于多值曲線,對于多值曲線,

利用標(biāo)準(zhǔn)方程還必須考慮分區(qū)間分段繪制。所以,為

了繪制出質(zhì)量比較好的曲線,必須選擇一種較為合適

的曲線數(shù)學(xué)表達(dá)式。

2011-2012(2)

常見二次曲線的繪制

產(chǎn)a0橢圓繪圖程序分析

■?對于一條二次曲線,除了一般常用的標(biāo)準(zhǔn)方

f程外,還可以采用參數(shù)方程來表示:

Jx=f(t)

[y=g(t)

?其中,t為參變量。

2011-2012(2)

常見二次曲線的繪制

產(chǎn)斗。橢圓繪圖程序分析

v?因此,可以用參數(shù)方程來取代橢圓的標(biāo)準(zhǔn)方程,

f把橢圓的表達(dá)式寫成如下所示的參數(shù)方程形式:

x=acost

?,0<t<27i

y=bAsint

其中,t為參變量,它的取值范圍從0到2m即

一個圓周。

2011-2012(2)

常見二次曲線的繪制

O橢圓繪圖程序分析

?可以看出,這個參數(shù)的實際意義是橢圓上的點(diǎn)所

對應(yīng)的中心角。

?這樣,根據(jù)參數(shù)式,一旦確定一個t值,就可以

計算得到對應(yīng)于該t值的位于該圓周上的一個確

定點(diǎn)(x,y)o

設(shè)當(dāng)t取值為%時,可得:f步=acosti

Iyi=bsinti

這樣就得到橢圓上的一個點(diǎn)(Xyyjo

2011-2012(2)

卜常見二次曲線的繪制

闞-------------

g]O橢圓繪圖程序分析

I?然后,讓參變量t增加一個增量使

代入彳寸:

G+Li+At,x=acosti+1

\yM=bsinti+1

于是,得到橢圓上另一個點(diǎn)(Xj+i,yi+1),連接兩點(diǎn)

(xPyj和(xi+1,yi+1),就可以近似地認(rèn)為繪制

了橢圓上的一段弧。

這種近似的精度就取決于增量A,的取值大小。

2011-2012(2)

常見二次曲線的繪制

O橢圓繪圖程序分析

2011-2012(2)

o橢圓繪圖程序

voidellipse(intxO,intyO,inta,intb,intdt)

2001

intx,y,n,i;

floattl,t=0.0;

tl=dt*0.01745;n=360/dt;

moveto(xO+a,yO);

for(i=l;i<n;i++)

{t=t+tl;

x=xO+a*cos(t);y=yO+b*sin(t);

lineto(x,y);}

lineto(xO+a,yO);

)

2011-2012(2)

常見二次曲線的繪制

2001

O橢圓繪圖程序分析

?這個程序說明了繪制曲線的一般方法,用離

散的直線段代替了曲線。

?至于直線段長度的取值則決定于對曲線的精

度要求。

?顯然,參變量的增量越小,則離散直線段的

長度越短,于是得到的曲線精度越高。

2011-2012(2)

k常見二次曲線的繪制

闞----------------

gIO橢圓繪圖程序分析

?在計算各點(diǎn)坐標(biāo)值(如yj時,還可以應(yīng)用兩角和的

9三角公式來簡化程序中的運(yùn)算步驟。

cos(a+p)=cosacosp-sinasinp

sin(a+p)=sinacosp+cosasinp

?因為,*+i=tj+At,所以:

costi+1=costjcosAt-sintjsinAt

sinti+1=sintjcosAt+costjsinAt

2011-2012(2)

常見二次曲線的繪制

O橢圓繪圖程序分析

costi+1=costjcosAt-sintjsinAt

sinti+1=sintjcosAt+costjsinAt

從以上兩式可以看出,si叫和cos*是上一次的計算結(jié)

果,而At是一個常量,所以,sinAt和cosAt就是常量。

?這樣可以通過上一次的計算結(jié)果和常量通過普通的四

則運(yùn)算求出當(dāng)前的結(jié)果。利用這種遞推的方法避免了

每次對新的角度求三角函數(shù)值的運(yùn)算,提高了程序的

效率。

2011-2012(2)

o常見二次曲線的繪制

Vo拋物樣條曲線

O三次參數(shù)樣條曲線

oBezier曲線和B樣條曲線

oBezier曲面和B樣條曲面

o實驗曲線的繪制方法

2011-2012(2)

拋物樣條曲線

訝IO曲線生成的原理

■?假設(shè)有一系列離散的型值點(diǎn),這些點(diǎn)的來源是某個領(lǐng)

域內(nèi)的一■次測量。

?現(xiàn)在要求用一條光滑的曲線把這些點(diǎn)連接起來,繪成

曲線圖形。

?顯然,由于這些型值點(diǎn)是經(jīng)過實際的測量得到的,因

此,帶有某些隨機(jī)性,不可能用現(xiàn)有的任何一種曲線

方程來描述這些由測量點(diǎn)決定的曲線圖形。所以,必

須另外尋找一種生成這樣曲線的方法。

2011-2012(2)

拋物樣條曲線

O曲線生成的原理

?曲線的擬合是指在曲線的設(shè)計過程中,用插值或逼近

方法使生成的曲線達(dá)到某些設(shè)計要求,如在允許的范

圍內(nèi)貼近原始的型值點(diǎn)或控制點(diǎn)序列,或曲線看上去

很光滑等。

在擬合生成曲線的眾多方法中,有時要選擇一種簡單

一些的曲線,作為擬合生成其他曲線的基本曲線,然

后,對這種基本曲線作一些適當(dāng)?shù)臄?shù)學(xué)處理,來生成

完整的擬合曲線。

2011-2012(2)

拋物樣條曲線

2001

O曲線生成的原理

?拋物樣條曲線,就是選擇拋物線這樣一種較為

簡單的二次曲線作為基本曲線,來擬合給定離

散型值點(diǎn)生成的曲線。

2011-2012(2)

曲線生成原理

。過3點(diǎn)定義一段拋物線

?由于離散點(diǎn)的要求,首先要解決由給定任意點(diǎn)

定義拋物線的問題。

設(shè)有不在同一直線上的三點(diǎn):P1,P2,P3,現(xiàn)在

要求通過該給定的三點(diǎn)定義一條拋物線。

過三點(diǎn)的二次曲線

2011-2012(2)

曲線生成原理

。過3點(diǎn)定義一段拋物線

H?假如我們采用矢量表達(dá)式來表示參數(shù)化的二次

曲線,那么可以把拋物線的表達(dá)式寫成如下的

一般形式為:

2

P(力=Ai+A2t+A3t(0W)(6-1)

拋物線是一條二次曲線,所以表達(dá)式中參數(shù)t的

最高次數(shù)為2,同時讓參數(shù)1在0—1之間取值。

2011-2012(2)

曲線生成原理

停。過3點(diǎn)定義一段拋物線

P⑺=4+AJ+AJ2(00W1)(6-1)

這就是說,只要確定了式(6-1)中的三個系數(shù):

4,4和4,那么就確定了拋物線的表達(dá)式,隨之

.L乙J

拋物線的曲線圖形也就可以確定。所以,我們的

工作是要通過設(shè)定一些已知條件來求出這三個系

數(shù)。

2011-2012(2)

曲線生成原理

過3點(diǎn)定義一段拋物線

?P⑺=4+旬+*2(0</<1)(6-1)

■要確定這三個系數(shù)(目前尚為未知數(shù)),必須要有三個

獨(dú)立的條件。我們可以給定這三個獨(dú)立條件為:

該拋物線過尸1,尸2,尸3三個點(diǎn),并且:

①拋物線段以尸1點(diǎn)為始點(diǎn)。即當(dāng)參變量,=0時,曲線過

p占?

②拋物線段以鳥點(diǎn)為終點(diǎn)。即當(dāng)參變量,=1時,曲線過

鳥點(diǎn);

③當(dāng)參變量,=0.5時,曲線過尸2點(diǎn),且切矢量等于尸3-

2011-2012(2)

曲線生成原理

。過3點(diǎn)定義一段拋物線

P(力=A.+A4+AJ1(0&W1)(6-1)

JL/J,

在這三個設(shè)定的條件下,構(gòu)造的拋物線段如圖所示。

圖中的數(shù)據(jù)是這樣的:

4點(diǎn)為44的中點(diǎn),APi=

PR拋物線在片點(diǎn)處與々0

相切,在4點(diǎn)處與相切,

曲線在4點(diǎn)處的切矢夕2與

片4平行。過3點(diǎn)定義的二次曲線

2011-2012(2)

曲線生成原理

眼o過3點(diǎn)定義一段拋物線

2

,P(力=A1+A2t+A3t(O<Z<1)(6-1)

,根據(jù)以上設(shè)定的條件,可以列出三個方程:

,=0:尸(0)=力1=尸1

t=i:p⑴工J+4=P](6-2)

t=0.5;(0.5)=/]+0.5A2+0.2573=P?

解以上三個聯(lián)立方程:

Ai=pi

尸3=4+42+4=尸1+4+4

??42=P3一尸1一力3

尸2=4+0.54+0.254

2011-2012(2)

曲線生成原理

o過3點(diǎn)定義一段拋物線

亦艮I7:4尸2=44]+142+43=4尸]+2(尸3—尸1~^3)+43=

2尸1+2尸3-4

.?.A3=2尸1+2尸3-4P2

以上式回代到4=尸3-尸1-4中,得:

力2=4尸2-尸3—3尸]

所以,通過解聯(lián)立方程,得到的三個系數(shù)4,力2,4

分別為:

4=眉

力2=4尸2-03-3尸1(6-3)

4=2眉+2P3-4尸22011-2012(2)

曲線生成原理

o過3點(diǎn)定義一段拋物線

2

P(力=A1+A2t+A3t(0</<1)(6-1)

把求出的該三個系數(shù)的值,代入到拋物線的表達(dá)式(6?

1)中,可得:

2

P(t)=A1+A2t+A3t

=尸1+(4尸2-尸3-3%),+(2尸1+2尸3-4尸2)產(chǎn)

=(2t2-3t+1)乙+(4,一4P)尸2+(2P-t)P3(6-4)

(0</<1)

2011-2012(2)

曲線生成原理

以。過3點(diǎn)定義一段拋物線

可把式(6-4)改寫成矩陣形式為:

p

21

-4p25

2-

P(t)=[t11]0P(6

-O13

以上推導(dǎo)求出的算式,即為我們所要求的過不在一直線

上的三點(diǎn):尸G1M),尸2(%2的)和尸3(X3必)的拋物線方程。

這時根據(jù)參變量,的取值,我們就可以——計算出位于曲

線上的數(shù)據(jù)點(diǎn),然后順次連線繪出圖形。

2011-2012(2)

曲線生成原理

O拋物線加權(quán)合成

由3點(diǎn)可以定義一條拋物線。設(shè)有一離散型值點(diǎn)列P,G=

1,2,…/),則可以按式(6-5)每經(jīng)過相鄰三點(diǎn)作一段拋物

線,由于有〃個型值點(diǎn),所以像這樣的拋物線段一共可

以作出〃-2條。如圖所示。

產(chǎn)生〃-2段拋物線

2011-2012(2)

曲線生成原理

O拋物線加權(quán)合成

P(t)=(2t2-3,+1)尸1+(4,一4產(chǎn))尸2+(2產(chǎn)一0尸3(6-4)

(0<^<1)

在這“2條拋物線段中,第,條拋物線段為經(jīng)過Pj,Pi+1,尸升2三點(diǎn),

所以它的表達(dá)式應(yīng)為:

Si(Q=Q代3中1卑+(包-4中叱計]+(川7泗+2(0<^<1)(6-7)

同理,第計1條拋物線段為經(jīng)Pj+j5+2和巴+3三點(diǎn),所以它的表達(dá)

式為:

=2—>22

^/+1^/+1)(2^+13^+1+l)^l+1+(4/z+1—4ZZ+1)PZ+2+(2//+1—^+1)P/+3

(0<//+7<1)(6-8)

2011-2012(2)

曲線生成原理

厚u。拋物線加權(quán)合成

經(jīng)過四點(diǎn)所畫出的兩條拋物線段so和E+i(4+i)的圖形

如圖所示:

一般說來,每兩段曲線之間的搭接區(qū)間,兩條拋物線是

不可能重合的。例如圖中,?和與+1兩條拋物線,它們在

巴.+1和尸升2兩點(diǎn)之間為搭接區(qū)間,在這區(qū)間內(nèi),,和〉+1不

太有可能會自然地重合成一條曲線。

2011-2012(2)

曲線生成原理

o拋物線加權(quán)合成

顯然,對于擬合曲線來說,整個型值點(diǎn)列必須只能用一

條光滑的曲線連接起來。為了做到這一點(diǎn),在S和$+]這

樣兩條曲線的共同區(qū)間內(nèi),必須有一個辦法讓它們按照一

個一定的法則結(jié)合成一條曲線,這結(jié)合的辦法就是加權(quán)合

r成。

在加權(quán)合成的過程中,我們首先要選擇兩個合適的權(quán)

函數(shù)。如果我們在這里選擇的兩個權(quán)函數(shù)分別為f(T)和

g(7),加權(quán)合成后的曲線為尸汁[⑺,貝4:

匕+1(。=八?!??)+g(7)$+id+i)

2011-2012(2)

曲線生成原理

運(yùn)qo拋物線加權(quán)合成

在拋物樣條曲線中,我們選擇的權(quán)函數(shù)/⑺和9⑺是簡

單的一次函數(shù),且它們之間存在有互補(bǔ)性。它們分別為:

八7)=l-Tg(T)=T(O<T<1)

這樣,式:

尸"。=大。6?)+g⑺?S4%)即可改寫為:

尸計1(。=(1一7)5?)+T,+i(&i)(6-9)

在表達(dá)式(6-9)中,包含了三個參變量,即:T、乙和

4+1。假如這三個參變量不加以統(tǒng)一,則接下去的工作是

無法進(jìn)行的,所以我們首先要統(tǒng)一式中的參變量。

2011-2012(2)

曲線生成原理

2001O拋物線加權(quán)合成

對于曲線段S&),參變量號的取值范圍為:0<^<1,但曲

線段s,&)與曲線段?+]6+])搭接的部分是原曲線段的后半

截,即是從點(diǎn)尸計]到匕+2之間的區(qū)間,在這個區(qū)間內(nèi),參變

量的取值范圍應(yīng)為:0.5</<1o

0

同理,對于曲線段S+1&+1),在點(diǎn)尸汁1到尸汁2之間的區(qū)間

內(nèi),其參變量%的取值范圍應(yīng)為:03汁石0.5。

在權(quán)函數(shù){7)和g(7)中,變量7的取值范圍定為:

0<7<1

2011-2012(2)

曲線生成原理

O拋物線加權(quán)合成

5+1(。=(1一7)04)+7?,+](%1)(6-9)

為了統(tǒng)一式(6?9)中的三個參變量:7、4和4+i,我們選

擇,作為統(tǒng)一后的參變量,把原有的三個參變量7、4和Ai

均化成唯一含有,的形式,并要給,規(guī)定一個合適的取值范

圍。假如我們使,的取值范圍為:0WW0.5,則上面的三個參

變量可統(tǒng)一形式為:

T=2t

£=0.5+t0</<0.5

*=t

2011-2012(2)

曲線生成原理

拋物線加權(quán)合成

產(chǎn)舄+1⑺=(1一7)電4)+「?“(%)(6-9)

W于是,原式(6?9)可根據(jù)新的參變量t改寫成如下這樣的

形式:

Pi+1(t)=(1-2。電。+0.5)+2rsi+1(。(6-10)

其中:

1-2,=川)

2,=g(T)

2

+0.5)=(2f-0Pz+(l-4f)P/+1+(2/+t)Pi+2

E+i⑺=(2產(chǎn)—3,+1)尸升1+(4,—4產(chǎn))尸葉2+(2產(chǎn)T)K+3

2011-2012(2)

曲線生成原理

O拋物線加權(quán)合成

把以上四式代入式(6?10),展開、整理后可得:

2

=(—4尸+4t—t)R+(13Q—10f2+i)p+i

+(-12尸+8t2+。尸,+2+(4Q-2d)尸計3

(;=1,2,…,n-3)(0</<0.5)(6-11)

式(6.11)的實質(zhì)是:表達(dá)了每相鄰的四個點(diǎn)可以決定中

間的一段拋物樣條曲線。見圖所示。

2+1。)

i+2

尸i+1i+3

Pi4個點(diǎn)決定中間的一段樣條曲線

2011-2012(2)

曲線生成原理

O拋物線加權(quán)合成

假如一個離散點(diǎn)列Pj具有〃個型值點(diǎn),即j=L2,…,no

那么根據(jù)式(6-11),可以加權(quán)合成后生成〃-3段拋物樣條曲

線。即式中的,的取值范圍為:/=1-n-3o

舄+i⑺

4個點(diǎn)決定中間的一段樣條曲線

2011-2012(2)

曲線生成原理

2011-2012(2)

曲線的討論

口切O拋物樣條曲線的端點(diǎn)條件

.上面已經(jīng)說到,在全部點(diǎn)列Pj(i=L2,…,〃)中,我們只能

F得到〃-3段曲線。但〃個型值點(diǎn)之間應(yīng)有個區(qū)段。亦即,按

照式(6-11)產(chǎn)生的曲線段不足以生成*1段曲線,因其點(diǎn)列的首、

尾兩段曲線P〔P,和P-P”段,由于缺乏連續(xù)相鄰的四點(diǎn)這樣的條

1Ln—1n

件而無法產(chǎn)生。

為了要產(chǎn)生首尾兩段曲線,一個直接的想法就是在原點(diǎn)列的

兩端各加一個輔助點(diǎn)尸0和p〃+l,如圖所示。

曲線的討論

gO拋物樣條曲線的端點(diǎn)條件

但是,余下的問題是這尸。和尸〃+[兩點(diǎn)是如何加上去的,

它必須依據(jù)什么原則,這就是所謂的“端點(diǎn)條件”。在這

里,我們僅介紹常用的三種方法:

①已知兩端的切矢P]和P,

②自由端條件

③形成封閉曲線

2011-2012(2)

曲線的討論

總O拋物樣條曲線的端點(diǎn)條件

*①已知兩端的切矢P1和PJ

在前面我們已經(jīng)說過,在由P「尸2、尸3三點(diǎn)所確定的拋物線

中,過心點(diǎn)曲線的切矢

p,=p_p、即?P=P-Pf

r2r31,rlr3r2

這樣,在拋物樣條曲線中,當(dāng)條件給出了兩端的切矢和

之后,根據(jù)上面的原理可得:

Pt=P2-P。????。=舄一?‘I

P'〃=P〃+\-Pz???P〃+i=馬-1+

即可以確定輔助點(diǎn)/和P〃+i的坐標(biāo)位置。

這種端點(diǎn)的情況,一般適用于所求的曲線要和已經(jīng)存在的曲

線或直線相連接。

2011-2012(2)

曲線的討論

涔O拋物樣條曲線的端點(diǎn)條件

V②自由端條件

f另一種補(bǔ)點(diǎn)的方法的原理比較簡單,它讓所補(bǔ)之點(diǎn)尸0和

尸〃+1與原兩端點(diǎn)鳥和尸"分別重合,即:

Po=Pi

P"+產(chǎn)Pn

這樣的補(bǔ)點(diǎn)方法稱為自由端條件,這種方法一般適用于對

曲線的兩端沒有什么特殊的要求。

2011-2012(2)

曲線的討論

^io拋物樣條曲線的端點(diǎn)條件

③形成封閉曲線

為了在〃個型值點(diǎn)之間形成封閉曲線,那么就要生成〃段

曲線段,而不是原來的”-1段。所以在補(bǔ)點(diǎn)工作中要加三個

點(diǎn),首先讓首尾兩點(diǎn)重合,然后各向前延長一點(diǎn),即:

尸〃+1=尸1

Po=P"

尸〃+2=尸2

2011-2012(2)

曲線的討論

O拋物樣條曲線的性質(zhì)

?無論用什么方法把離散的型值點(diǎn)連成曲線,總是希望所

得到的曲線是光滑的,這應(yīng)該在所用的數(shù)學(xué)方法上予以

保證。

?那么,拿什么標(biāo)準(zhǔn)作為評價曲線光滑程度的指標(biāo)呢?

?根據(jù)拋物樣條曲線的推導(dǎo)過程,可以知道整條曲線是由

若干個曲線段組成的,每兩個相鄰的型值點(diǎn)之間形成一

段曲線,每相鄰的兩段曲線在型值點(diǎn)處相接,相鄰兩曲

線段的連接處稱為“節(jié)點(diǎn)”。

2011-2012(2)

曲線的討論

o拋物樣條曲線的性質(zhì)

?節(jié)點(diǎn)是兩段曲線的過渡處,是決定整個曲線是否光滑的

關(guān)鍵之處。

,?所以,一般都是拿兩段曲線在節(jié)點(diǎn)處的導(dǎo)數(shù)是否相等來

衡量曲線是否光滑,并以導(dǎo)數(shù)的階次來評定光滑的程度。

r?假如在節(jié)點(diǎn)P處,相鄰兩個曲線段的一階導(dǎo)數(shù)相等,那

么,就可以稱該曲線為一階(CQ連續(xù)。

如果在節(jié)點(diǎn)處,不僅兩曲線的一階導(dǎo)數(shù)相等,而且二階

導(dǎo)數(shù)也相等,那么,就可以稱該曲線二階(C2)連續(xù)。

以此類推到更高階次連續(xù)的意義。

2011-2012(2)

曲線的討論

O拋物樣條曲線的性質(zhì)

?顯然,連續(xù)的階次越高,曲線越光滑。

?但太高的連續(xù)階次會給設(shè)計工作和制造工作增加難度,

提高成本。

?所以,不必盲目地提高連續(xù)的階次,只要能滿足使用要

求就可以了。

?在實際的工程應(yīng)用中,一般達(dá)到C2連續(xù)就足夠了;對

于一般場合,達(dá)到O連續(xù)就可以了。

?下面,依據(jù)上述的判定方法和標(biāo)準(zhǔn),來簡單討論拋物樣

條曲線的連續(xù)性問題。

2011-2012(2)

曲線的討論

O拋物樣條曲線的性質(zhì)

設(shè)兩曲線段《.+1⑺和Pj+2?)在節(jié)點(diǎn)P處相連。在P點(diǎn)

處,尸汁1(。的參變量,=0.5,而曲線尸在2(。在P點(diǎn)處

的參變量,=0。兩曲線對,微分求值得:

P'/+i?)=(-12f+8f-1)巴+(36d_20。Pj+i

2

+(—36P+16t+l)Pz+2+(12r-4t)Pi+3

=Pj+3—Pj+iD.5

f222

P/+At)=(-l2t+St-l)P.+1+(36r-200PM

+(—36?+16,+l)Pz+3+(12f-4t)Pi+4

=

々+3—Pj+1片0

2011-2012(2)

曲線的討論

O拋物樣條曲線的性質(zhì)

?因此得出

尸品(0?5)=尸*(0)

說明拋物樣條曲線可以達(dá)到C1連續(xù)。照此方法,

可以檢驗拋物樣條曲線能否達(dá)到C2連續(xù)。

2011-2012(2)

Z拋物樣條曲線的算法程序如下:

2001

voidparspl(intp[][2],intn,intk,inte)

{//P為型值點(diǎn)的坐標(biāo)數(shù)組,n為型值點(diǎn)數(shù),k為插值

數(shù),即是把參變量,區(qū)間細(xì)分的份數(shù)。

intx,y,i,j,m;

floattl,t2,t3,t,a,b,c,d;

2011-2012(2)

if(e==l)〃自由端

{m=n;

2001p[0][0]=p[l][0];p[0][l]=p[l][l];

p[n+l][0]=p[n][0];p[n+l][l]=p[n][l];

}

else//畫封閉曲線

{m=n+l;

p[0][0]=p[n][0];p[0][l]=p[n][l];

p[m][0]=p[l][0];p[m][l]=p[l][l];

p[m+l][0]=p[2][0];p[m+l][l]=p[2][l];

}

t=0.5/k;

moveto(p[l][0]9p[l][l]);

2011-2012(2)

for(i=0;i<m-l;i++)

{for(j=l;j<k;j++)

{=t3=t2*tl;

2001

a=4.0*t2—tl—4?0*t3;

b=LO—10.0*t2+12.0*t3;

c=tl+8.0*t2—12.0*t3;

d=4.0*t3—2?0*t2;

x=a*p[i][O]+b*p[i+l][O]+c*p[i+2][O]+d*p[i+3][0];

y=a*p[i][l]+b*p[i+l][l]+c*p[i+2][l]+d*p[i+3][l];

lineto(x9y);//連接Pj+i和Pj+2之間的各插值點(diǎn)

)

lineto(p[i+2][0],p[i+2][l]);//連接Pj+2點(diǎn)

}

2011-2012(2)

2001o常見二次曲線的繪制

o拋物樣條曲線

O三次參數(shù)樣條曲線

oBezier曲線和B樣條曲線

oBezier曲面和B樣條曲面

o實驗曲線的繪制方法

2011-2012(2)

三次參數(shù)樣條曲線

背景

2001O

三次參數(shù)樣條曲線,主要適用于船舶、飛機(jī)和汽車等外

形設(shè)計中的數(shù)學(xué)放樣工作。

?在放樣過程中,放樣員為了在各指定的數(shù)據(jù)點(diǎn)之間產(chǎn)生

一條光滑的曲線,用稱作“壓塊”的鉛塊來定位,然后

讓一根富有彈性的細(xì)木條或塑料細(xì)長桿(稱作樣條)依

次——通過這些壓塊。

由這樣一根細(xì)長的富有彈性的桿條所描繪出來的曲線應(yīng)

該是光滑的。

2011-2012(2)

三次參數(shù)樣條曲線

2001O曲線生成原理

?改變壓塊的數(shù)量和位置,讓樣條通過這些不同的壓塊

(即型值點(diǎn)),就能產(chǎn)生不同形狀的曲線。

?假如把實際的樣條看成是一根彈性細(xì)桿,把壓塊看成是

支點(diǎn),則從材料力學(xué)中的歐拉方程可以得至1如下關(guān)系式

M(x)=EI/R(x)

?式中:M㈤是彎矩,E是楊氏彈性模數(shù),I是慣性距,

A㈤是曲率半徑。

2011-2012(2)

三次參數(shù)樣條曲線

O曲線生成原理

對于較小的曲率,即在小撓度的情況下,A㈤可用1/y”

來代替,于是可以得到

y"=M(x)/EI

彎矩方程M㈤是什么?假如把壓塊看成是簡支點(diǎn),那么,

在兩個壓塊之間的樣條段就可以看成是一根簡支梁。

?如果把樣條上的受力情況簡化成集中載荷,那么,其彎

矩M刈就是簡支點(diǎn)之間的線性函數(shù)。其形式為:

M(x)=ax+b

2011-2012(2)

三次參數(shù)樣條曲線

O曲線生成原理

然后,把方程M(x)=Ely”積分兩次,就可以得到一個

三次多項式。

這說明,實際上的樣條曲線是由兩個支點(diǎn)之間的三次多

項式所描述的。

而通過所有支點(diǎn)的樣條曲線,就是由這一1段一段的三次

多項式曲線按照一定的要求連接起來的。

2011-2012(2)

三次參數(shù)樣條曲線

O分段三次參數(shù)樣條曲線的數(shù)學(xué)表達(dá)式

三次參數(shù)樣條曲線由分段的三次多項式來描述。假如

我們設(shè)其參變量為八則分段三次參數(shù)樣條曲線表達(dá)式的一

般形式可以寫成:

尸(。=當(dāng)++嗎

B2tP+4/3(0<^W)(6-13)

其中的尸也尸似4)y(Qz(4)],可以看作是參數(shù)樣條曲

線上某一點(diǎn)的位置向量,4.是該點(diǎn)相應(yīng)的參變量,它的三

個分量:x(4),MX),z(4)可以看作是點(diǎn)的坐標(biāo)值。

2011-2012(2)

三次參數(shù)樣條曲線

巡3o分段三次參數(shù)樣條曲線的數(shù)學(xué)表達(dá)式

式(6-13)中的四個系數(shù)星,Bv鳥和居是待定的,即是說

方程中有四個未知數(shù)。

為了把式(6.13)具體化,必須確定這四個系數(shù),顯然,

這需要設(shè)定四個獨(dú)立的條件。

2011-2012(2)

三次參數(shù)樣條曲線

C分段三次參數(shù)樣條曲線的數(shù)學(xué)表達(dá)式

這四個獨(dú)立的條件是:

①整個曲線通過所有的型值點(diǎn),而對于每個曲線段來說,

它通過兩個相鄰的型值點(diǎn)。

②把這兩個點(diǎn)作為該段曲線的起點(diǎn)和終點(diǎn),設(shè)為P]點(diǎn)和色

③并且假定曲線段在兩端點(diǎn)處的切矢為已知,分別設(shè)為P\

和P%,因為曲線段和曲線段要相連。

④曲線的參變量,是在兩個端點(diǎn)取值tl和t2之間變化,為了

簡化計算,設(shè)定=

2011-2012(2)

三次參數(shù)樣條曲線

莖a?分段三次參數(shù)樣條曲線的數(shù)學(xué)表達(dá)式

尸1(r=0)

設(shè)定端點(diǎn)條件

2011-2012(2)

三次參數(shù)樣條曲線

陷。分段三次參數(shù)樣條曲線的數(shù)學(xué)表達(dá)式

在這樣的前提下,對于每一個三次曲線段,就有了四個獨(dú)立

條件,它們是:兩個端點(diǎn)的位置向量及曲線在兩端點(diǎn)處的切矢。

于是,根據(jù)這四個條件,就可以求出分段表達(dá)式(6-13)中的四

個系數(shù)。

P(t=O)=Pl=昂+4,+2P+嗎,3=國

r2

^(t=0)=P\=B2+lB3t+3B4t=B2

P(t=tz)=P?=B[+B2t2+B3t^+

P(t=t2)=P'2=B?+2B3t2+3凡年

2011-2012(2)

k三次參數(shù)樣條曲線

押囪。-分-段-三-次參-數(shù)-樣-條-曲-線的-數(shù)-學(xué)-表-達(dá)式

W將BrB2代入可求得:

=3(尸2—舄)2PlP\

鳥-f2f2t2

,212l2

2(4尸2)

+P\+烏

2=t3t2t2

l22l2

2011-2012(2)

三次參數(shù)樣條曲線

9。分段三次參數(shù)樣條曲線的數(shù)學(xué)表達(dá)式

V現(xiàn)在,已經(jīng)求出了4個系數(shù),所以,分段三次參數(shù)樣條

曲線的表達(dá)式就可以確定為:

P(t)=占+町+A/+鳥尸

3(尸2一尸1)

=尸]+尸+

f2

12

2(P「尸2)P\P’2

----------------------+-----------+-------

t3f2t2

2011-2012(2)

三次參數(shù)樣條曲線

題:O分段三次參數(shù)樣條曲線的數(shù)學(xué)表達(dá)式

(推導(dǎo)表達(dá)式的全過程是根據(jù)一般的情況進(jìn)行的,僅設(shè)定曲線

概的兩個端點(diǎn)位置和兩端切向矢量,除此之外,沒有附加任何

其他條件。所以,它可以推廣到任何兩個鄰接型值點(diǎn)之間的曲

線段。

假設(shè),其中的任一段曲線為舄⑺(i=l,2,…則舄⑺

的表達(dá)式為:

P/+P'~\

「3(P.+1-P)2P;+以」,2「2(-P,+1)I2+1.

PC)=P.+P't+————-

32

t.7+y1tZ.+l,tz.+l,

式中:0/4+i,i=l,2,…,n?L取4+i為分段曲線的弦長。

2011-2012(2)

三次參數(shù)樣條曲線的表達(dá)式

O設(shè)定連接條件

對于任意兩個相鄰節(jié)點(diǎn)之間的樣條曲線段,前面已經(jīng)

推導(dǎo)出它的表達(dá)式。那么,對于必須通過所有型值點(diǎn)的整

條曲線該如何表達(dá)?是否可以分別求出各個分段曲線,然

后把它們首尾連接起來?

實際上的過程確實是這樣,但是這種連接不是簡單地

接起來就行的,而是必須有一個約束條件,以保證連接以

后的整條曲線是光滑的,即必須達(dá)到某階的連續(xù)指標(biāo)。因

為,該三次參數(shù)樣條曲線是一條三次曲線,所以,一般假

設(shè)要求每段曲線在節(jié)點(diǎn)連接處需要達(dá)到二階連續(xù)。

2011-2012(2)

三次參數(shù)樣條曲線的表達(dá)式

O設(shè)定連接條件尸⑺=昌+即+而+B/

,假設(shè)給定了任意3個相鄰的型值點(diǎn)尸1、尸2、尸3,以

及曲線在兩端點(diǎn)處的切向矢量尸1和P,3o

為了滿足設(shè)定的曲線段連接的約束條件,達(dá)到二階連

續(xù),那么,曲線段在節(jié)點(diǎn)尸2處的二階導(dǎo)數(shù)尸”⑺必須相等。

而曲線的二階導(dǎo)數(shù)表達(dá)式為:

H

P(t)=2B^6Bdt

2011-2012(2)

三次參數(shù)樣條曲線的表達(dá)式

O

設(shè)定連接條件P"⑺=2B3+6B4t

V在曲線鳥尸2段,鳥點(diǎn)為終點(diǎn),該處的參變量,=%因此:

n

P2=2B3+6B4t2

在曲線P2P3段,鳥點(diǎn)為始點(diǎn),該處的參變量,=。,因此:

ff

P2=2B.

上面兩個尸“2應(yīng)該相等(但兩式中的兩個人是不相等的,它們

分屬于兩段不同的曲線段)。用系數(shù)用的表達(dá)式代入可得:

「3(尸「2/+匕〕「2(尸「尸2)7+匕1「3(舄-尸2)2P;+P1

2---------------------+6-----------+--------乙=2-----------------------

23222

_’2‘2I”2'2'3’3_

2011-2012(2)

三次參數(shù)樣條曲線的表達(dá)式

用父3同乘兩邊并經(jīng)歸并整理可得:

匕尸J+2.3+%)尸2,+[2尸;=3「L(尸3-尸2)+—CP2-優(yōu))

_”3,2_

寫成矩陣表達(dá)式:

「萬門

上32(%+J)%]M尸2'I=3「—J(尸3一尸2)+。J(尸2一尸1)!

IItt

[Ri32

在上式中,除了P%以外,均為已知數(shù)。所以,解所列之方程,

便可求得曲線的內(nèi)部節(jié)點(diǎn)尸2處的未知切向矢量P’2。另外,因為是

以保證兩曲線段PlP2和P2P3連接時要達(dá)到二階連續(xù)為約束條件來

推導(dǎo)的,這就必然使得曲線PiP2P3在02處的二階連續(xù)成立。

2011-2012(2)

三次參數(shù)樣條曲線的表達(dá)式

dO連續(xù)表達(dá)式

I同樣,也可以把上式推廣到一般的情況,即可應(yīng)用于任意3

個相鄰的型值點(diǎn)舄、舄+i、Pi+2,得到一般情況下的表達(dá)式如

下所示。

「%”J1

印+2(丁2+%)尸?=3-尸"2-尸Q+―尸二-PJ

_"i+2/■+1

因為,上式可以適用于任意3個相鄰型值點(diǎn)之間組成的樣條

曲線段,那么,對于整個由n個型值點(diǎn)決定的曲線,可以寫出

n-2個如上式所示的方程式。因此,式中i的取值范圍可以是從

1到n-2。

2011-2012(2)

三次參數(shù)樣條曲線的表達(dá)式

2001O連續(xù)表達(dá)式

這n?2個方程式可以聯(lián)合用如下所示的矩陣形式來表示

成一個線性方程組。

It2t\

3一(乙—乙)+—(P2-P.)

32(外+G1「81

「八G

尸』3—(P-尸3)+—(^3-02)

,42(。+,3)”3I4

?4%.

152&+Q)

「L%1

3,(乙-P3)+上(尸4-尸3)

M,4J

2區(qū)+。一)J」";」

「r,t

3q(P“-Pj)+q(P“_「P,,_2)

2011-2012(2)

三次參數(shù)樣條曲線的表達(dá)式

o連續(xù)表達(dá)式

上述線性方程組內(nèi)包含了n?2個獨(dú)立的方程,但其中

含有n個未知數(shù),即尸’2,…,Pn。這些未知的切

向矢量在前面推導(dǎo)的過程中是假設(shè)為已知的,顯然,這是

一個不定的線性方程組。

但是,如果事先給定整條曲線始、末兩端點(diǎn)的切向矢

量Pi和尸二作為約束條件,那么,就只剩下了n?2個未知

數(shù):尸’2,尸’3,…,尸11。n?2個獨(dú)立的方程求解n?2個

未知數(shù),故可確保該線性方程組有唯一解。于是,可以求

出所有節(jié)點(diǎn)處的切向矢量尸1(,=2,3,-,n-l)。

2011-2012(2)

三次參數(shù)樣條曲線的表達(dá)式

利-----------------------------------------------

N?連續(xù)表達(dá)式

‘這樣,每個三次曲線段的條件都得到了滿足,這些曲

線段共有段,它們依次連接在一起,并且在連接處能

保證達(dá)到二階連續(xù)。這樣,就最終生成了整條三次參數(shù)樣

條曲線。

2011-2012(2)

解題過程

O端點(diǎn)條件

f為了能夠唯一地求解這個線性方程組,必須事先指定

始、末兩端的切向矢量作為已知條件,從而可使方程組有

唯一解。

這種做法也就是確定端點(diǎn)條件,或者叫做“邊界條

件”。下面,介紹兩種常用的端點(diǎn)條件:夾緊端和自由端。

2011-2012(2)

解題過程

雪。夾緊端

由直接指定整個曲線的始、末兩端點(diǎn)的切向矢量尸1和p;

來獲得,從而使得線性方程組可以改寫成如下的形式:

「1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論