B樣條曲線專題教育課件市公開課金獎市賽課一等獎課件_第1頁
B樣條曲線專題教育課件市公開課金獎市賽課一等獎課件_第2頁
B樣條曲線專題教育課件市公開課金獎市賽課一等獎課件_第3頁
B樣條曲線專題教育課件市公開課金獎市賽課一等獎課件_第4頁
B樣條曲線專題教育課件市公開課金獎市賽課一等獎課件_第5頁
已閱讀5頁,還剩38頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章曲線曲面

(B樣條曲線)第1頁

二、B樣條曲線1.從Bezier曲線到B樣條曲線(1)Bezier曲線在應用中不足:

缺乏靈活性一旦確定了特征多邊形頂點數(m個),也就決定了曲

線階次(m-1次),無法更改;

控制性差當頂點數較多時,曲線階次將較高,此時,特征多邊形對曲線形狀控制將顯著減弱;第2頁

不易修改由曲線混合函數可看出,其值在開區間(0,1)內均不為零。所以,所定義之曲線在(0<t<1)區間內任何一點均要受到全部頂點影響,這使得對曲線進行局部修改成為不可能。(而在外形設計中,局部修改是隨時要進行)第3頁01tB0,3B1,3B2,3B3,3Bi,n(t)伯恩斯坦基函數第4頁

為了克服Bezier曲線存在問題,Gordon等人拓展了Bezier曲線,就外形設計需求出發,希望新曲線要:易于進行局部修改;

更迫近特征多邊形;

是低階次曲線。于是,用n次B樣條基函數替換了伯恩斯坦基函數,結構了稱之為B樣條曲線新型曲線。第5頁

2.B樣條曲線數學表示式

B樣條曲線數學表示式為:

控制頂點在上式中0≤t≤1,i=0,1,2,…,m所以能夠看出:B樣條曲線是分段定義。假如給定m+n+1個頂點Pi(i=0,1,2,…,m+n),則可定義m+1段n次參數曲線。B樣條基函數第6頁式中:0≤t≤1k=0,1,2,…,n

在以上表示式中:Fk,n(t)為n次B樣條基函數,也稱B樣條分段混合函數。其表示式為:第7頁

連接全部曲線段所組成整條曲線稱為n次B樣條曲線。依次用線段連接點Pi+k(k=0,1,…,n)所組成多邊折線稱為B樣條曲線在第i段B特征多邊形。

第8頁3.二次B樣條曲線

在二次B樣條曲線中,n=2,k=0,1,2故其基函數形式為:

第9頁

有了基函數,所以可寫出二次B樣條曲線分段表示式為:

(i=0,1,2,…,m)m+1段第10頁寫成普通矩陣形式為:

式中,Bk為分段曲線B特征多邊形頂點:B0,B1,B2。對于第i段曲線Bk即為:Pi,Pi+1,Pi+2連續三個頂點。(見下列圖)

第11頁n=2,二次B樣條曲線m+n+1個頂點,三點一段,共m+1段。i=0P0,2(t)i=1P1,2(t)第12頁

二次B樣條曲線性質先對P(t)求導得:

然后分別將t=0,t=0.5,t=1代入P(t)和P’(t),可得:P(0)=1/2(B0+B1),P(1)=1/2(B1+B2);P’(0)=B1-B0,P’(1)=B2-B1;P(1/2)=1/2{1/2[P(0)+P(1)]+B1}P’(1/2)=1/2(B2-B0)=P(1)-P(0)第13頁與以上這些式子所表示性質相符曲線是何種形狀:(見下列圖)

是什么曲線?與Bezier曲線有何差異?第14頁

結論:分段二次B樣條曲線是一條拋物線;有n個頂點定義二次B樣條曲線,其實質上是n-2段拋物線(相鄰三點定義)連接,并在接點處到達一階連續。(見下列圖)F282.c二次B-樣條曲線第15頁4.三次B樣條曲線

分段三次B樣條曲線由相鄰四個頂點定義,其表示式為:P(t)=F0,3(t)?B0+F1,3(t)?B1+F2,3(t)?B2+F3,3(t)?B3(0≤t≤1)可見,由n個頂點定義完整三次B樣條曲線是由n-3段分段曲線連接而成。很輕易證實,三次B樣條曲線在連接處到達二階連續。

***F281.c三次B-樣條曲線第16頁

B樣條曲線是一個非常靈活曲線,曲線局部形狀受對應頂點控制很直觀。這些頂點控制技術假如利用得好,能夠使整個B樣條曲線在一些部位滿足一些特殊技術要求。如:能夠在曲線中結構一段直線;

使曲線與特征多邊形相切;使曲線經過指定點;指定曲線端點;

指定曲線端點約束條件。第17頁

對于特征多邊形迫近性二次B樣條曲線優于三次B樣條曲線三次Bezier曲線優于二次Bezier曲線

相鄰曲線段之間連續性二次B樣條曲線只到達一階導數連續三次B樣條曲線則到達二階導數連續

角點修改對曲線形狀影響Bezier曲線:修改一個角點將影響整條曲線形狀。B樣條曲線:修改一個角點只影響該角點所在位置前后三段曲線形狀。B樣條曲線適用范圍第18頁角點重合和角點共線(*)

二重角點

若要使B樣條曲線與特征多邊形相切,可利用二重角點方法。Q0Q1Q3Q2Q4P1P2Q(0-1)P0Q0Q1Q3Q2Q4P1P2Q(0-1)第19頁

三重角點

若要使B樣條曲線產生一個尖點,可利用三重角點方法。Q1Q4Q3Q2Q5P1P2Q0P0Q6P3P4第20頁

三角點共線

若要使B樣條曲線產生反向弧切接效果,可利用三角點共線方法。Q1Q4Q3Q2P0P2Q0P1。第21頁

四角點共線

若要使B樣條曲線段之間切接入一段直線,可利用四角點共線方法。Q1Q4Q3Q2P0P2Q0P1。。Q5P3第22頁6.5Bézier曲面和B樣條曲面6.5.1Bézier曲面第23頁曲面形狀、位置由邊界上四個角點決定。中間角點只反應曲面凹凸程度。Bézier曲面及控制網格演示動畫第24頁

Bezier曲面

Bezier曲面是Bezier曲線擴展,Bezier曲面邊界限就是由四條Bezier曲線組成。三次Bezier曲線段由四個控制點確定,三次Bezier曲面片則由4×4控制點確定。16個控制點組成一個矩陣:B=Q00Q10Q20Q30

Q01Q11Q21Q31

Q02Q12Q22Q32Q03Q13Q23Q33Q00Q10Q20Q30Q01Q31Q32Q02Q03Q33Q13Q23Q11Q21Q12Q22wu第25頁給定空間16個位置點bij,能夠確定一張三次Bezier曲面片。由曲線拓展為Bézier曲面rijuvuvV*uv

依據“線動成面”思想,按設定間隔取,在四條v線上取點,沿u向生成三次Bezier曲線:

將u,v向曲線方程合并得:

首先生成四條v向三次Bezier曲線:第26頁Bézier曲面定義在空間中給定(n+1)×(m+1)個點,稱以下張量積形式參數多項式曲面為n×m次Bézier曲面:貝塞爾曲面表示式以下:

n

m

P(u,v)=∑∑bi,jBi,n(u)Bj,m(v)

0≤u,v≤1

i=0j=0貝塞爾曲面中應用最廣泛是雙3次貝塞爾曲面,它由給出4*4個網格點唯一決定.

第27頁P04P03P02P40P30P20P10P00P01P11P21P31P41P14P(u,0)P(0,v)圖9.15Bézier曲面控制網格普通稱為控制頂點,把由和組成網格稱為控制網格,記為,如圖9.15所表示。第28頁Bézier曲面矩陣表示是:第29頁控制網格四個角點是曲面四個端點。決定了曲線形狀,位置。P03P02P30P20P10P01P11P21P31P41P14P(u,0)P(0,v)Bézier曲面端點和邊界限(1)端點位置Bézier曲面含有以下性質:P04P40P00第30頁(2)邊界限位置4條邊界限,,,是Bézier曲線,它們分別以,,,為控制多邊形。P03P02P30P20P10P01P11P21P31P41P14P(u,0)P(0,v)Bézier曲面端點和邊界限P04P40P00第31頁雙一次Bezier曲面:取m=n=1。這是一張雙曲拋物面(馬鞍面);雙二次Bezier曲面:取m=n=2。該曲面四條邊界是拋物線。;雙三次Bezier曲面:取m=n=3;注:矩陣表示見書本第32頁端點u向切矢和v向切矢分別為和,所以三角形所在平面在P00點和曲面相切。同理,三角形,,所在平面分別在點,,處與曲面相切。(3)端點切平面10P20P01P11P21P31P02P22P12P32P13P23PBezier曲面端點切平面00)0,0(PP=30)0,1(PP=03)1,0(PP=33)1,1(PP=)0,(uP)1,(uP),0(vP),1(vP第33頁由端點切平面知,是在點處法向;其余各端點,,處法向情況也類似。(4)端點法向(5)凸包性曲面

位于其控制頂點

凸包內。第34頁(6)仿射不變性曲面形狀僅與點位置相關,而與坐標系選擇無關。(7)擬局部性修改一個控制頂點時,曲面上距離它較近點受影響較大。要改變曲面某部分形狀,只要交互調整對應控制頂點即可。第35頁曲面片1曲面片2Beziet曲面片拼接邊界限P0,0Q3,0P3,3(Q0,3)P0,3Q3,3P3,1(Q0,1)P3,0(Q0,0)P3,2(Q0,2)P(u,v)Q(u,v)第36頁d24uvV1kd42d43d44d11d12d13d14d21d23d31d32d33d34C4C3C1C2V2kV3kV4kd41P(u,vK)d22雙三次均勻B樣條曲面P(u,v)矩陣表示第37頁設節點向量,(≤,≤)分別是對參數平面軸和軸分割,如圖1所表示。稱以下張量積形式參數曲面為(k≤n,h≤m)階B樣條曲面,uk-1≤u≤un+1,vh-1≤v≤vm+1其中是空間中給定(n+1)×(m+1)個網格點,通常稱為控制頂點。,分別是關于節點向量U,Vk階和h階B樣條基函數。6.5.2B樣條曲面定義和性質vm圖1uv平面分割u0u1uiunv0v1vju2v2第38頁由兩組多邊形()和()組成網格(如圖2)稱為控制網格,簡記為。P00P01P10P04P20P40圖2B樣條曲面及其控制網格第39頁d24uvd42d43d44d11d12d13d14d21d23d31d32d33d34C4C3C1C2d41d22均勻B樣條曲面給定16個頂點dij(i=1,2,3,4j=1,2,3,4)組成特征網格,能夠定義一張曲面片。用di1、di2、di3、di4(i=1,2,3,4)構建四條V向曲線C1、C2、C3和C4(圖中虛線);參數v在[0,1]之間取值vk,對應于vk曲線C1、C2、C3和C4上可得到v1k、v2k、v3k和v4k四個點,該四點組成u向一個特征多邊形,定義一條新曲線P(u,vk);uvC4C3C1C2V1kV3kV4kV2k當參數vk在[0,1]之間取不一樣值時,P(u,vk)沿箭頭方向掃描,即得到由給定特征網格dij(i=1,2,3,4j=1,2,3,4)定義雙三次均勻B樣條曲面片P(u,v)。第40頁與Bézier曲面一樣,是對曲面大致形狀勾畫,是對迫近。B樣條曲面也含有局部調整性、凸包性、幾何不變性等,它控制網格也是人機交互伎倆,也能夠經過一些算法對其進行計算,這些都與B樣條曲線情況類似。

第41頁雙三次B樣條曲面片b樣條曲面第42頁6.6試驗曲線繪制方法1、最小二乘法在科學研究中,經過試驗或測量,能夠取得大量試驗數據。普通在取得數據之后,對這些數據進行某種處理,然后繪成圖形。但因為試驗本身會受到各種詳細原因影響,使得經過試驗測得數據或多或少地帶有誤差。也就是說,這些試驗數據本身并不準確。所以假如僅僅是簡單地將這些數據點連成曲線,那么這種看起來似乎很準確方法恰恰是不符合實際情況,也是不可取。正確方法應該是用一條平滑曲線以適當方式來盡可能地靠近這些數據點,以填補因為誤差造成數據點跳動。第43頁那么對于一系列數據點(xi,yi)(i=1,2…n),所要繪制曲線y=f(x),用什么樣標準來評價這條曲線是否處于較為合理狀態呢?通常把數據點坐標值與曲線上對應坐標值之差ε作為評判標準:εi:稱為殘差f(xi):為理論值yi:為對應實測值慣用評判方法是:使殘差平方和即到達最小。這也就是所謂最小二乘法。第44頁用最小二乘法來繪制試驗曲線,其實質也就是要找出一個經驗方程y=f(x)用來描述這些點。所以,工作第一步首先要依據已知數據點分布情況進行一下預測,經驗方程可能屬于什么類型,比如說是線形函數,還是其它階次多項式函數。2、用最小二乘法擬合直線設有測得一組數據點(xi,yi)(i=1,2…n)。依據這些數據點分布情況,預測到它們之間呈線形關系:那末,可按最小二乘法原理建立起下面式子:第45頁(xi,yi)為測得已知數據點值,故這個方程是關于a1和a2函數,即:當a1和a2為何值時,該函數f(a1,a2)能取得極小值。這是一個二元函數求極值問題,其條件為:第46頁展開整理后得:寫成矩陣形式為:求解該方程組可解出未知數a1和a2值,從而使線形函數表示式:成為已知,并可依據該表示式繪出圖形。第47頁1.雙二次Bezier曲面4條邊界都是拋物線,其特征網格有()個頂點。A)8 B)9 C)10 D)16第48頁貝塞爾曲面表示式以下:

m

n

P(u,v)=∑∑Pi,jBi,m(v)Bj,n(u)

0≤u,v≤1

i=0j=0貝塞爾曲面中應用最廣泛是雙3次貝塞爾曲面,它由給出4*4個網格點唯一決定,

P(u,v)=(u3u2u1)

兩個貝塞爾曲面塊連接交于一條公共邊,為了確保在這條邊上光滑性,必須滿足下面條件:(1)定義公共邊四點相等(2)公共邊上四點與其在二塊曲面上相鄰兩個點共線貝塞爾曲面貝塞爾曲面10-1

3-3

1

3-6

3

0

-3

3

0

0

1

0

0

0P00P01P02P03

P10P11P12P13

P20P21P22P23

P30P31P32P33v3

v2

v

1-1

3-3

1

3-6

3

0

-3

3

0

0

1

0

0

0第49頁

曲面形狀、位置由邊界上四個角點決定。中間四個角點只反應曲面凹凸程度。v(u,w)=U?

N?B?

NT?

WT(0≤u≤1,0≤w≤1)

Bezier曲面得表示式:式中U=u3u2u11WT=w3w2w11T3-630-33001000-13-31N==NT(與Bezier曲線相同)

Bezier曲面第50頁寫成X,Y,Z三個方向分量得形式:X(u,w)=U?

N?Bx?

NT?

WTY(u,w)=U?

N?By?

NT?

WT(0≤u≤1,0≤w≤1)Z(u,w)=U?

N?Bz?

NT?

WT

Bezier曲面第51頁B樣條曲面

B樣條曲面也是B樣條曲線推廣,與三次Bezier曲面一樣,三次B樣條曲面片也是由4×4控制點確定。

一樣,16個控制點寫成以下矩陣形式:B=Q00Q10Q20Q30

Q01Q11Q21Q31

Q02Q12Q22Q32Q03Q13Q23Q33

與三次B樣條曲線一樣,三次B樣條曲面也很好地處理了曲面片之間連接問題。Q00Q10Q20Q30Q01Q31Q32Q02Q03Q33Q13Q23Q11Q21Q12Q22wu第52頁B樣條曲面表示式為:v(u,w)=U?

N?B?

NT?

WT(0≤u≤1,0≤w≤1)U、W、B矩陣與Bezier曲面是一樣。3-630-30301410-13-311/6N=(與B樣條曲線相同)寫成X,Y,Z三個方向分量形式:x(u,w)=U?

N ?

Bx?

NT?

WTy(u,w)=U?

N?

By?

NT?

WT(0≤u≤1,0≤w≤1)z(u,w)=U?

N?

Bz?

NT?

WT第53頁VoidB_face(float*Bx,*By,*Bz,*projection_matrix44;floatFx,Fy)

//繪制B樣條曲面程序,16個控制點x,y,z坐標分別

//在4x4矩陣Bx,By,Bz中,projection_matrix44為投影變換矩陣,

//Fx,Fy為投影后平移量

{floatN[4][4],Nt[4][4],U[1][4],Wt[4][1],temp_product14[1][4];

floatproduct44x[4][4],product14x[1][4];……;

floatx,y,z,x1,y1,;

construct_matrix44(N,-1,3,-3,1,3,

溫馨提示

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

評論

0/150

提交評論