曲線曲面的生成_第1頁(yè)
已閱讀1頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第七章曲線曲面的生成,7.1曲線的生成7.2曲面的生成,在工程上,曲線曲面的應(yīng)用十分廣泛。如根據(jù)實(shí)驗(yàn)、觀測(cè)或數(shù)值計(jì)算獲得的數(shù)據(jù)來(lái)繪制出一條光滑的曲線,以描述事物的各種規(guī)律。在汽車(chē)、飛機(jī)、船舶的等產(chǎn)品的外形設(shè)計(jì)中,要用到大量的曲線和曲面來(lái)描述其幾何形狀。 表示曲線和曲面的基本方法有兩種:參數(shù)法和非參數(shù)法。(1)非參數(shù)法 y=f(x) 顯函數(shù)(不能表示封閉或多值的曲線) f(x,y)=0 隱函數(shù)(方程

2、的根很難求)(2)參數(shù)法 x=f(t) y=g(t) 求導(dǎo)很方便,不會(huì)出現(xiàn)計(jì)算上的困難,,曲線曲面,工程上常用的曲線可以分為兩類: 規(guī)則曲線 不規(guī)則曲線(擬合曲線)。,7.1曲線的生成,規(guī)則曲線,可以用函數(shù)或參數(shù)方程直接表示的曲線。,二維平面,x=f(t)y=g(t),空間曲線,x=f(t)y=g(t)z=h(t),,,參數(shù)t在一定區(qū)間變化,可以求得曲線上不同的坐標(biāo)點(diǎn),連接這些坐標(biāo)點(diǎn)就能在屏幕上畫(huà)出曲線,t變化間

3、隔越小,曲線畫(huà)得越精細(xì)。,例如:橢圓,x=a cosθ y=b sinθ,,θ=0~360°變化△θ=1°,工程中除了用到前述的規(guī)則曲線外,還常常遇到這樣的情況:已知一些計(jì)算值或測(cè)試數(shù)據(jù),要構(gòu)造一條光滑曲線,通過(guò)或貼近這些離散點(diǎn)數(shù)據(jù),這樣構(gòu)造出來(lái)的曲線稱為擬合曲線。,擬合曲線,,,,,,,,,,,,,,,,,,,,擬合曲線通常采用二次或三次參數(shù)曲線的形式,我們主要介紹三次擬合曲線。,通過(guò)離散點(diǎn),貼近離散點(diǎn),,,,

4、,,,,,主要三類擬合曲線: Ferguson曲線 三次Bezier曲線 B樣條曲線,擬合曲線,參數(shù)三次曲線段可以描述成 :,P(t)=At3+Bt2+Ct+D=,,,t3 t2 t 1,,,A B C D,=,,,t3 t2 t 1,M,T,0≤t ≤1,Ferguson曲線,P(t) =,P(0)= Q1 =,P(1)= Q1 =,P(0)= Q0 =,P(1)= Q1 =,,,,,,,,,,,3

5、t2 2t 1 0,0 0 0 1,1 1 1 1,0 0 1 0,3 2 1 0,M,M,M,M,M,,,,,,,Q0,Q0,Q1,Q1,,。,。,。,。,。,。,。,,,Q0,Q1,Q0,Q1,,=,,,0 0 0 1,1 1 1 1,0 0 1 1,3 2 1 0,M,,Q0,Q0,Q1,=,,,2 -2 1 1,-3 -3 -2 -2,0 0 1 0,1

6、0 1 0,,Q1,M,。,。,。,。,P(t)=,,,t3 t2 t 1,,Q0,Q0,Q1,,,2 -2 1 1,-3 -3 -2 -2,0 0 1 0,1 0 1 0,,Q1,。,。,0≤t ≤1,Ferguson曲線,Ferguson曲線需要知道起點(diǎn)、終點(diǎn)的切失,這在實(shí)際工作中很難確定,如果將切矢用位矢代替,問(wèn)題就會(huì)迎刃而解,Bezier就是從這點(diǎn)入手的。三次Bezier曲線的構(gòu)造:,Q0

7、1=Q0+1/p*Q0 Q0=p(Q01-Q0)Q10=Q1+1/p*Q1 Q1=p(Q10-Q1),代入上式,。,。,。,。,Bezier曲線,,,,,,,Q0,Q0,Q1,Q1,,。,。,,Q01,,Q10,,。,P(t)=,t3 t2 t 1,2-p p -p 2+p,-3+2p -2p p 3-p,-p p 0 0,1

8、 0 0 0,Q0,Q10,Q1,,,,,,,Q01,0≤t ≤1,P(t)=,t3 t2 t 1,2 -2 1 1,-3 3 -2 -1,0 0 1 0,1 0 0 0,Q0,Q1,P(Q01-Q0),P(Q10-Q1),,,,,,,0≤t ≤1,Bezier曲線,由,A0(t) + A1(t) + A2(t) + A3 (t)=1,A0(t

9、)≥0 A1(t) ≥0 A2(t) ≥0 A3 (t) ≥0,,得出: 0≤ p≤3 p=3 時(shí),逼近性最好。,柯西條件:(滿足凸包性要求),,=,A0(t) A1(t) A2(t) A3 (t),,,Q0,Q10,Q11,,,Q01,=,A0(t)Q0 + A1(t)Q01 + A2(t)Q10 + A3 (t)Q1,P(t),Bezier曲線,Y(t)=,t3 t2 t 1,3 -6

10、 3 0,-3 3 0 0,1 0 0 0,Y0,Y1,Y2,Y3,,,,,,,-1 3 -3 1,0≤ t≤1,P(t)=,t3 t2 t 1,3 -6 3 0,-3 3 0 0,1 0 0 0,Q0,Q1,Q2,Q3,,,,,,,-1 3 -3 1,0≤ t≤1,X(t)=,t3 t2

11、 t 1,3 -6 3 0,-3 3 0 0,1 0 0 0,X0,X1,X2,X3,,,,,,,-1 3 -3 1,0≤ t≤1,Bezier曲線,X(t)=A0+A1t+A2t2+A3t3Y(t)=B0+B1t+B2t2+B3t3,A0=x0 A1=-3x0+3x1A2=3x0-6x1+3x2A3=-x0+3x1-3x2+x3,B0 ~ B3計(jì)

12、算式同上,只要將y0,y1,y2,y3代替x0,x1,x2,x3即可。,,,,,Q0,Q1,Q2,Q3,Bezier曲線,Bezier曲線的連接,Q2,Q3,Q4位于同一條直線才能保證兩Bezier曲線段光滑連接。,Bezier曲線不足: 特征多邊形的邊數(shù)與曲線的次數(shù)有關(guān)。 Bezier曲線是一個(gè)整體的逼近方案(牽一發(fā)動(dòng)全身)。,,Q0,Q1,Q3,Q2,Q5,Q4,Q6,,,,,,三次B樣條曲線對(duì)三次Bezier曲線進(jìn)行改進(jìn),它克

13、服了Bezier曲線的不足,同時(shí)保留了Bezier曲線的直觀性和凸包性,是一種工程設(shè)計(jì)中更常用的擬合曲線。,三次B樣條曲線的構(gòu)造: 由前面可知,三次參數(shù)曲線可以表示成: P(t)=A0(t) Q0 + A1(t) Q1 + A2(t) Q2 + A3 (t) Q3 (1) A0(t),A1(t),A2(t),A3 (t)是待定參數(shù),B樣條曲線,,,,,P1 由Q0,Q1,Q2,Q3確定

14、P2 由Q1,Q2,Q3,Q4確定,,,Q0,Q1,Q3,Q2,Q4,P1,P2,P1 (1)=P2 (0) P1 (1)=P2 (0),P1 (1)=P2 (0),A0(t) + A1(t)+ A2(t) + A3 (t)=1,A0(t) ,A1(t) , A2(t) , A3 (t)≥0,,確定 A0(t) ,A1(t) , A2(t) , A3 (t) 代入(1)式,P(t)=,t3 t2 t 1,3 -

15、6 3 0,-3 0 3 0,1 4 1 0,Q0,Q1,Q2,Q3,,,,,,,-1 3 -3 1,0≤ t≤1,1/6,。,。,。,。,。,。,,對(duì)于B樣條曲線來(lái)說(shuō),特征多邊形每增加一個(gè)頂點(diǎn),就相應(yīng)增加一段B樣條曲線。因此, B樣條曲線很好地解決了曲線段的連接問(wèn)題。,B樣條曲線,X(t)=,t3 t2 t 1,X0,X1,X2,X3,,,,,,,0≤ t≤1

16、,Y(t)=,t3 t2 t 1,Y1,Y2,Y3,,,,,,,0≤ t≤1,1/6,1/6,X(t)=A0+A1t+A2t2+A3t3Y(t)=B0+B1t+B2t2+B3t3,展開(kāi):,3 -6 3 0,-3 0 3 0,1 4 1 0,-1 3 -3 1,3 -6 3 0,-3 0 3 0,1 4 1

17、 0,-1 3 -3 1,Y0,B樣條曲線,其中:,A0=(x0+4x1+x2)/6 A=-(x0-x2)2A2=(x0-2x1+x2)/2A3=-(x0-3x1+3x2-x3)/6,B0 ~ B3計(jì)算式同上,只要將y0,y1,y2,y3代替x0,x1,x2,x3即可。,編程步驟: (a)計(jì)算A0 ~ A3 , B0 ~ B3 (b)將t在0~ 1之間變化,計(jì)算相應(yīng)X(t)

18、,Y(t) (c)將坐標(biāo)點(diǎn)X(t),Y(t)逐點(diǎn)相連。,B樣條曲線,由于三次B樣條曲線的始點(diǎn)和終點(diǎn)都不在原來(lái)的角點(diǎn)上,如要使曲線的始點(diǎn)從Q0開(kāi)始,并以Q4為終點(diǎn),則只要在Q0點(diǎn)之前外延一個(gè)角點(diǎn)Q-1,使Q-1位于Q-1Q0的延長(zhǎng)線上,并且Q-1Q0=Q0Q1。采用相同的方法使曲線的終點(diǎn)通過(guò)Q4。,,,,,,,Q0,Q1,Q3,Q2,Q4,P1,P2,,Q-1,,Q5,三次B樣條曲線的邊界問(wèn)題,B樣條曲線的適用范圍 對(duì)于特

19、征多邊形的逼近性 二次B樣條曲線優(yōu)于三次B樣條曲線 三次Bezier曲線優(yōu)于二次Bezier曲線 相鄰曲線段之間的連續(xù)性 二次B樣條曲線只達(dá)到一階導(dǎo)數(shù)連續(xù) 三次B樣條曲線則達(dá)到二階導(dǎo)數(shù)連續(xù) 角點(diǎn)的修改對(duì)曲線形狀的影響 Bezier曲線:修改一個(gè)角點(diǎn)將影響整條曲線的形狀。 B樣條曲線:修改一個(gè)角點(diǎn)只影響該角點(diǎn)所在位置前后 三段曲線的形狀。,角點(diǎn)

20、重疊和角點(diǎn)共線(*) 二重角點(diǎn) 若要使B樣條曲線與特征多邊形相切,可運(yùn)用二重角 點(diǎn)的方法。,,,,Q0,Q1,Q3,Q2,Q4,P1,P2,,Q(0-1),,P0,三重角點(diǎn) 若要使B樣條曲線產(chǎn)生一個(gè)尖點(diǎn),可運(yùn)用三重角 點(diǎn)的方法。,,,Q1,Q4,Q3,Q2,Q5,P1,P2,,Q0,P0,,Q6,,,P4,P5,三角點(diǎn)共線 若要使B樣條曲線產(chǎn)生反向弧切接的效果,可運(yùn)用三角點(diǎn)共

21、線的方法。,,,Q1,Q4,Q3,Q2,P0,P2,,Q0,P1,。,,四角點(diǎn)共線 若要使B樣條曲線段之間切接入一段直線,可運(yùn)用四角點(diǎn)共線的方法。,,,Q1,Q4,Q3,Q2,P0,P2,,Q0,P1,。,。,,,,,Q5,P3,,我們知道三次B樣條曲線的第i段為,三次B樣條曲線反求(*),Pi,3(t)=,t3 t2 t 1,,,,,,,1/6,3 -6 3 0,-3 0 3

22、 0,1 4 1 0,-1 3 -3 1,Qi-1QiQi+1Qi+2,則Pi,3(t)的兩端位置為:Pi,3(0) = 1/6 (Qi-1 + 4 Qi + Qi+1)Pi,3(1) = 1/6 (Qi + 4 Qi+1 + Qi+2),,,,,,,,,,,,,,,,,,,,,,,,,Qm+1,Qm,Qm-1,Q-1,Q0,Q1,開(kāi)曲線:考慮自由端情況P”0,3 (0)=Q-1 –

23、2Q0 + Q1 = 0P”m-1,3(1)=Qm-1 – 2Qm + Qm+1 =0 得到: Q-1 = 2Q0 – Q1 Qm+1 = 2 Qm – Qm-1 這樣一個(gè)m段的三次B樣條曲線由m+1個(gè)點(diǎn),再加上兩個(gè)人工點(diǎn)Q-1,Qm+1共m+3個(gè)點(diǎn)完全決定。,,,三次B樣條曲線反求(*),P0(0)=P0,3(0)=1/6(2Q0-Q1+4Q0+Q1)=Q0 Pm-1(1)=Pm-1,3(

24、1)=1/6(Qm-1+4Qm+2Qm-Qm-1)=Qm對(duì)于矩陣為:,16,6 0,,,,,P0(0)P1(0)……Pm-1(0)Pm-1(1),1 4 1,… … …,0 6,,,Q0Q1……Qm-1Qm,=,,… … …,… …,三次B樣條曲線反求(*),閉曲線: Q-1=Qm Qm+1=Q0 對(duì)應(yīng)的矩陣為:,4 1 … … 1

25、,,,,,P0(0)P1(0)……Pm-1(0)Pm(0),1 4 1 … 1,… … … …,… 1 4 1,,,Q0Q1……Qm-1Qm,=,,,,,,,,,,Qm+1,Qm,Qm-1,Q-1,Q0,Q1,,,,,,,,,,16,,1 1 4,… … … …,三次B樣條曲線反求(*),第七章曲線曲面的生成,7.1曲線的生成7.2曲面

26、的生成,,7.2曲面,平面曲線:,空間曲線:,P(t)=,P(t)=,[x(t) , y(t) ],[x(t) , y(t),z(t) ],r(u,w)=,x(u,w), y(u,w), z(u,w),,,參數(shù)t,參數(shù)u,w,在汽車(chē)、飛機(jī)、船舶的等產(chǎn)品的外形設(shè)計(jì)和放樣工作中,曲面的應(yīng)用非常廣泛,這些部門(mén)對(duì)曲面的研究十分重視。從某種意義上講,曲面的表示可以看作是曲線表示方法的延伸和擴(kuò)展。例如:,曲面:,常見(jiàn)的擬合曲面有三種: C

27、oons曲面, Bezier曲面 B樣條曲面,我們主要介紹三次曲面。,擬合曲面,Coons曲面,Coons曲面是用四個(gè)角點(diǎn)處的位矢、切矢和扭矢等信息來(lái)控制的。 在描述Coons曲面時(shí),采用由Coons本人創(chuàng)造的一套記號(hào),從而使表達(dá)式間接明了。曲面r(u,w)記作 uw,四角點(diǎn)位矢記作: 00=r(0, 0) 01= r(0, 1) 01= r(1, 0)

28、 11= r(1, 1),,,,,,,,00,01,10,11,X,Y,Z,,,,,u,w,0u,1u,0w,1w,[x(u,w), y(u,w), z(u,w)],uw =,00u=,r(u,w),,,,U=0W=0,u,01u=,r(u,w),,,,U=0W=1,u,10u=,r(u,w),,,,U=1W=0,u,11u=,r(u,w),,,,U=1W=1,u,四角點(diǎn)沿w方向切矢記作:,00w=,r(u,w),,,,U=0

29、W=0,w,01w=,r(u,w),,,,U=0W=1,w,10w=,r(u,w),,,,U=1W=0,w,11w=,r(u,w),,,,U=1W=1,w,四角點(diǎn)沿u方向切矢記作:,,00 uw=,r(u,w),,,,U=0W=0,u,01uw=,2 r(u,w),,,,U=0W=1,u,10uw=,2 r(u,w),,,,u,11uw=,2 r(u,w),,,,u,四角點(diǎn)處的扭矢記作:,U=1W=0,U=1W=1,十六個(gè)

30、控制信息寫(xiě)成矩陣:,C=,00 01,10 11,00u 01u,10u 11u,00uw 01uw,10uw 11uw,00w 01w,10w 11w,,,,,=,,,,,角點(diǎn)位矢,w向切矢,u向切矢,扭矢,曲面的形狀、位置與切失、位矢有關(guān),與扭矢無(wú)關(guān)。扭矢只反映曲面的凹凸程度。,Coons曲面是雙三次曲面,其方程為: uw=U ? M ? C ? M

31、T ? WT (0≤ u≤1 , 0≤ w≤1 )式中:,U=,u3 u2 u1 1,W=,w3 w2 w1 1,M=,2 -2 1 1,-3 3 -2 -1,0 0 1 0,1 0 0 0,,,,,,,T,MT=,-2 3 0 0,1 -2 1 0,1 -1 0

32、 0,,,2 -3 0 1,Coons曲面,寫(xiě)成X,Y,Z三個(gè)方向的分量形式:x(u,w)=U ? M ? Cx ? MT ? WTy(u,w)= U ? M ? Cy ? MT ? WT (0≤ u≤1 , 0≤ w≤1 )z(u,w)= U ? M ? Cz ? MT ? WT,Coons曲面,Bezier曲面,,Coons曲面得扭矢往往不易理解,使用不方便。另外,要構(gòu)造一張曲面,

33、已知條件矢切矢和扭矢,在工程中也是不太現(xiàn)實(shí)。Bezier曲面很好地克服了這一困難。,Bezier曲面是Bezier曲線的擴(kuò)展, Bezier曲面的邊界線就是由四條Bezier曲線構(gòu)成的。三次Bezier曲線段由四個(gè)控制點(diǎn)確定,三次Bezier曲面片則由4× 4控制點(diǎn)確定。16個(gè)控制點(diǎn)組成一個(gè)矩陣:,B=,Q00 Q 10 Q20 Q30,Q01 Q 11 Q21 Q31,Q02 Q

34、12 Q22 Q32,Q03 Q13 Q23 Q33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q00,Q10,Q20,,Q30,Q01,Q31,Q32,Q02,Q03,Q33,Q13,Q23,Q11,Q21,Q12,Q22,,,,,w,u,曲面的形狀、位置由邊界上的四個(gè)角點(diǎn)決定。中間四個(gè)角點(diǎn)只反映曲面的凹凸程度。,v(u,w)= U ? N ? B? NT ? WT

35、 (0≤ u≤1 , 0≤ w≤1 ),Bezier曲面得表達(dá)式:,式中,U=,u3 u2 u1 1,WT=,w3 w2 w1 1,,,,,T,3 -6 3 0,-3 3 0 0,1 0 0 0,,,-1 3 -3 1,N=,=NT,(與Bezier曲線相同),Bezier曲面,寫(xiě)成X,Y,Z三個(gè)方向分量得形式:,X(u,w)= U ? N

36、 ? Bx? NT ? WT Y(u,w)= U ? N ? By? NT ? WT (0≤ u≤1 , 0≤ w≤1 )Z(u,w)= U ? N ? Bz? NT ? WT,Bezier曲面,B樣條曲面,B樣條曲面也是B樣條曲線的推廣,與三次Bezier曲面一樣,三次B樣條曲面片也是由4 × 4控制點(diǎn)確定的。,同樣,16個(gè)控制點(diǎn)寫(xiě)成如下矩陣形式:,B=,Q00 Q 10 Q20

37、 Q30,Q01 Q 11 Q21 Q31,Q02 Q12 Q22 Q32,Q03 Q13 Q23 Q33,,,與三次B樣條曲線一樣,三次B樣條曲面也很好地解決了曲面片之間的連接問(wèn)題。,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q00,Q10,Q20,,Q30,Q01,Q31,Q32,Q02,Q03,Q33,Q13,Q23,Q11,Q21,Q12,Q22,,,,

38、,w,u,B樣條曲面的表達(dá)式為:,v(u,w)= U ? N ? B? NT ? WT (0≤ u≤1 , 0≤ w≤1 ),U、W、B矩陣與Bezier曲面是一樣的。,3 -6 3 0,-3 0 3 0,1 4 1 0,,,-1 3 -3 1,1/6,N=,(與B樣條曲線相同),寫(xiě)成X,Y,Z三個(gè)方向的分量形式:x(u,w)=U ? N ?

39、 Bx ? NT ? WTy(u,w)= U ? N ? By ? NT ? WT (0≤ u≤1 , 0≤ w≤1 )z(u,w)= U ? N ? Bz ? NT ? WT,,,Void B_face( float *Bx, *By, *Bz, *projection_matrix44; float Fx, Fy)//繪制B樣條曲面的程序,16個(gè)控制點(diǎn)的x,y,z坐標(biāo)分別//在4x4的矩陣Bx,By,

40、Bz中,projection_matrix44為投影變換矩陣,//Fx,Fy為投影后平移量{ float N[4][4], Nt[4][4], U[1][4], Wt[4][1], temp_product14[1][4]; float product44x[4][4], product14x[1][4]; ……; float x, y, z, x1, y1,; construct_matrix44

41、(N, -1, 3, -3, 1, 3, -6, 0, 4, -3, 3, 3, 1, 1, 0, 0, 0); construct_matrix44(Nt,……); //先求出product44x = N * Bx * Nt matrix44_matrix44(temp_product44, N, Bx); matrix44_matrix44(product44x, temp_prodct44,

42、 Nt); 同樣算出product44y,product44z;,for ( float u = 0; u < 1; u +=0.1) { construct_matrix14( U, u*u*u, u*u, u, 1); //product14x = U * product44x = U * N * Bx * Nt; matrix14_matrix44( product14x, U,

43、product44x); matrix14_matrix44( product14y, U, product44x); matrix14_matrix44( product14z, U, product44x);,for ( float w = 0; w < 1; w +=0.1) { construct_matrix41( Wt, w*w*w, w*w, w, 1); matrix14

44、_matrix41( x, prouduct14x, Wt); matrix14_matrix41( y, prouduct14y, Wt); matrix14_matrix41( z, prouduct14z, Wt); //再做投影變換,Fx,Fy為在投影面上的平移量 projection_transform( x, y, z, x1, y1, projection_matrix44,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論