工程碩士課程-計(jì)算機(jī)圖形學(xué)-第5章_第1頁
工程碩士課程-計(jì)算機(jī)圖形學(xué)-第5章_第2頁
工程碩士課程-計(jì)算機(jī)圖形學(xué)-第5章_第3頁
工程碩士課程-計(jì)算機(jī)圖形學(xué)-第5章_第4頁
工程碩士課程-計(jì)算機(jī)圖形學(xué)-第5章_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第五章曲線與曲面基礎(chǔ)知識插值曲線

Bezier曲線

Bezier曲面

B樣條曲線曲面插值曲面§5.1基礎(chǔ)知識

1.顯式、隱式和參數(shù)表示

顯式表示2.參數(shù)表示曲線的優(yōu)點(diǎn)

更大的靈活性

幾何不變性

便于處理斜率無窮大的情況

易于定界能用矢量、矩陣表示

參數(shù)表示

隱式表示過同樣三個(gè)點(diǎn)的非參數(shù)表示的曲線旋轉(zhuǎn)前后的情況對幾何不變性的理解(1)旋轉(zhuǎn)后

45

xy旋轉(zhuǎn)前

P0[0,0]P1[1,0.5]P0[2,0]yx對幾何不變性的理解(2)過同樣三個(gè)點(diǎn)的參數(shù)表示的曲線旋轉(zhuǎn)前后的情況旋轉(zhuǎn)后

45

xy旋轉(zhuǎn)前x

P0[0,0]P1[1,0.5]P0[2,0]

y

圓的三種繪制方法的比較

③①

①②③

②4.樣條、樣條曲線、參數(shù)樣條曲線3.自由曲線與曲面

指形狀比較復(fù)雜,不能簡單用二次方程描述的曲線和曲面

自由相對于規(guī)則而言要想繪制出來,也要設(shè)法先用數(shù)學(xué)方程表示樣條

一種通過一系列的點(diǎn)繪制曲線的繪圖工具樣條曲線

基于樣條繪制曲線的原理用數(shù)學(xué)方程表示的曲線

參數(shù)樣條曲線

用參數(shù)形式表示的樣條曲線5.插值、逼近、光順、擬合插值:給定幾個(gè)數(shù)據(jù)點(diǎn),尋找一條曲線通過這些數(shù)據(jù)點(diǎn),并滿足一定要求。逼近:給定幾個(gè)數(shù)據(jù)點(diǎn),尋找一條曲線不一定通過這些數(shù)據(jù)點(diǎn),但也能滿足一定要求。光順:曲線的拐點(diǎn)不能太多,拐來拐去曲線就會(huì)不順眼。擬合:在曲線、曲面設(shè)計(jì)中,用插值或逼近的方法使生成的曲線或曲面達(dá)到某些要求(如連續(xù)、光順的要求)。

點(diǎn)點(diǎn)通過

大致通過6.位置矢量、切矢量位置矢量OP0,寫成P0對于參數(shù)曲線P(t)及其曲線上的P0點(diǎn)P0xP(t)yP0’

切矢量P0T,寫成P0’Tx0P0

xP(t)yy0o7.調(diào)和函數(shù)P(t)=P0+(P1-P0)tP(t)=(1-t)P0+t·P1P(t)=

0(t)P0+

1(t)P1

P0P11

1(t)

0(t)01t

§5.2插值曲線

二次拋物線插值曲線

過P0、P1、P2三點(diǎn)作一條拋物線,使其在參數(shù)等于0、1/2、1時(shí)分別經(jīng)過P0、P1、P2點(diǎn)。

這條曲線即為過這三點(diǎn)的二次插值曲線。

P2

P0

P1

表達(dá)式【例】求圖中由P0,P1,P2三點(diǎn)決定的拋物線插值公式解:將P0,P1,P2的值代入下式:得:P0[0,0]°°°P1[25,40]P2[100,0]xy°°°xyQ(t)=[100t2,-160t2+160t]

如給定4個(gè)型制值點(diǎn)P1,P2,P3,P4,對相鄰三個(gè)點(diǎn)進(jìn)行拋物線插值,如對P1,P2,P3插值得拋物線Q1(t),對P1,P2,P3得拋物線Q2(s),在P1P2之間,對這兩條拋物線進(jìn)行線性調(diào)配,即:P(T)=(1-T)·Q1(u)+T·Q2(s)

其中T[0,1],u[0.5,1],s[0,0.5]利用二次插值曲線構(gòu)造拋物線參數(shù)樣條曲線。P0P1P2P3P0P1P2P3Q1(u)Q2(s)P(T)統(tǒng)一參數(shù):T=2tu=0.5+ts=t將P(T)=(1-T)·Q1(u)+T·Q2(s)改寫為:

P(t)=(1-2t)·Q1(0.5+t)+2t·Q2(t)展開并整理得:P0P2PiPmPm-1P1對于離散點(diǎn)列:P0,P1,…,Pm來說:可以證明這幾段(共m-2段)三次曲線段組成了過P1到Pm-1的一條達(dá)C1連續(xù)的插值曲線

已知P0、P1、P0’、P1’,求作一條三次曲線Q(t),使Q(0)=P0、Q(1)=P1、Q’(0)=P0’、Q’(1)=P1’。

2.三次Hermite插值曲線解:設(shè)Q(t)=At3+Bt2+Ct+Dt

[0,1]則Q’(t)=2At2+2Bt+Ct

[0,1]。。P0P1P’0P’1可以得到:亦可寫成:

Q(t)=F0(t)P0+F1(t)P1+F2(t)P’0+F3(t)P’1其中:

F0(t)=2t3-3t2+1

F1(t)=-2t3+3t2

F2(t)=t3-2t2+t

F3(t)=t3-t2。。P0P1P’0P’1Q=T·M·G參數(shù)冪向量矩陣特征矩陣幾何系數(shù)矩陣邊界條件矩陣F0(t)、F1(t)、F2(t)、F3(t)稱為調(diào)和函數(shù)(權(quán)函數(shù))t01/41/23/41F0127/321/25/320F105/321/227/321F209/641/83/640F30-3/64-1/8-9/640F0(t)F1(t)F2(t)F3(t)110tF調(diào)和函數(shù)(1)調(diào)和函數(shù)僅與參數(shù)值有關(guān),而與原始條件無關(guān)(2)調(diào)和函數(shù)對于物體空間的三個(gè)坐標(biāo)值作用是相同的(3)當(dāng)處于參數(shù)邊界條件時(shí)只有一個(gè)是起作用的?!纠恳阎狿0[0,1]、P1[1,0]、P’0[1,0]、P1’[0,-1],求此四個(gè)條件決定的三次Hermite曲線,并求出Q(0.5)及Q’(0.5)的值。解:

P1[1,0]

P0P’0[1,0]P’1[

0,-1]

[0,1]即:Q(t)=(2t3-3t2+1)[0,1]+(-2t3+3t2)[1,0]+(t3-2t2+t)[1,0]+(t3-t2)[0,-1]=[-t3+t2+t,t3-2t2+1]Q’(t)=[-3t2+2t+1,3t2-4t]Q(0.5)=[0.625,0.625]Q’(0.5)=[1.25,-1.25]

P(0.5)=[0.625,0.625]

P’(0.5)=[1.25,-1.25]

將P’1改為[1,0]如何?

Q(t)=(2t3-3t2+1)[0,1]+(-2t3+3t2)[1,0]+(t3-2t2+t)[1,0]+(t3-t2)[1,0]=[t,2t3-3t2+1]Q’(t)=[1,6t2-6t]Q(0.5)=[0.5,0.5]Q’(0.5)=[1,-1.5]

P1[1,0]

P0P’0[1,0]P’1[

1,0]

[0,1]

P(0.5)=[0.5,0.5]

P’(0.5)=[1,-1.5]

Bezier其人

Bezier曲線的定義

伯恩斯坦基函數(shù)的性質(zhì)

Bezier曲線的性質(zhì)

Bezier曲線的作圖與編程

Bezier曲線的拼接§5.3Bezier曲線1.

Bezier其人

2.Bezier曲線的定義

給定空間n+1個(gè)控制點(diǎn)的位置矢量Pi,則決定一條n次Bezier曲線,其參數(shù)方程可表示為:

其中,Pi構(gòu)成該曲線的特征多邊形,Bi,n(t)是伯恩斯坦多項(xiàng)式(基函數(shù)),可表示為:Bezier曲線的幾個(gè)例子二次項(xiàng)系數(shù)(揚(yáng)輝三角形)

C00C10C11C20C21C22C30C31C32C33C40C41C42C43C44

111121133114641

一次Bezier曲線n=1,有P0,P1兩個(gè)控制點(diǎn),決定一條一次Bezier曲線(直線)。。P0P1

二次Bezier曲線。。P1。P0。P2P’(0.5)P(0.5)n=2,有P0、P1、P2三個(gè)控制點(diǎn),決定一條二次Bezier曲線(拋物線)。三次Bezier曲線

P0

P2

P1

P3

P0

P1

P2

P3n=3,有P0,P1,P2,P3四個(gè)點(diǎn),決定一條三次Bezier曲線3.伯恩斯坦基函數(shù)

伯恩斯坦基函數(shù)的圖形B0,1(t)B1,1(t)一次B0,2(t)B1,2(t)B2,2(t)二次B0,3(t)B1,3(t)B2,3(t)B3,3(t)B0,4(t)B1,4(t)B2,4(t)B3,4(t)B4,4(t)B0,6(t)B1,6(t)B2,6(t)B3,6(t)B4,6(t)B5,6(t)B6,6(t)4.Bezier曲線的性質(zhì)端點(diǎn)處的性質(zhì)

Q(0)=P0

Q(1)=Pn

Q’(0)=n(P1-P0)Q’(1)=n(Pn-Pn-1)

對稱性保持n次Bezier曲線諸頂點(diǎn)的位置不變,而把次序顛倒過來,即下標(biāo)為i的點(diǎn)(Pi)改為下標(biāo)為n-i的點(diǎn)(Pn-i),則此時(shí)曲線的形狀仍不變,只不過曲線的走向相反而已。

P0

P1

P2

P3凸包性

凸包:包圍諸頂點(diǎn)的最小凸多邊形。凸包性:Bezier曲線必在此凸包內(nèi)。

P0

P1

P2

P3Q’(0)Q’(1)5.Bezier曲線的作圖與編程(1)求作Q(1/3)的點(diǎn)P30

=Q(1/3)P10P20P11P21P12P0P3P2P1P10P11P12P20P21P30P0P1P2P3

P10P11P12

P0P3P2P1P30

=Q(1/3)

P10P20P11P21P12P0P3P2P1P30

=Q(1/3)P10P20P11P21P12P0P3P2P1(2)基于遞推分割法的編程floatdecas(float*p,floatt,intn){inti,r;floatq[10];for(i=0;i<=n;i++)q[i]=p[i];for(r=1;r<=n;r++){for(i=0;i<=n-r;i++){q[i]=(1-t)*q[i]+t*q[i+1];}}return(q[0]);}main(){inti,n,k;floatt,x,y,px[10],py[10];

scanf(“%d,%d”,&n,&k);for(i=0;i<=n;i++)scanf(“%f,%f”,&px[i],&py[i]);for(i=0;i<=k;i++){t=(float)i/k;x=decas(px,t,n);y=decas(py,t,n);if(i==0)moveto(x,y);elselineto(x,y);}}(3)基于定義的編程

求ti的函數(shù):floatpow(floattinti){floatp=1;intk;for(k=1;k<=i;k++)p=p*t;return(p);}

求Cni

的函數(shù)

intcni(intn,inti){if(i==0||i==n)return(1)elsereturn(cni(n-1,i)+cni(n-1,i-1));}

繪制Bezier曲線的函數(shù)

Bezier(intk,intpx[],intpy[],intn){inti,j,x,y;floatt;for(j=0;j<=k;j++){t=(float)j/k;x=0;y=0;for(i=0;i<=n;i++)

{x=x+cni(i,n)*pow(t,i)*pow(1-t,n-i)*px[i];

y=y+cni(i,n)*pow(t,i)*pow(1-t,n-i)*py[i];

}

if(i==0)moveto(x,y);elselineto(x,y);}}6.Bezier曲線的拼接

原因

C0連續(xù)

P(1)=Q(0)P’(1)=

Q’(0)C1連續(xù)G1連續(xù)

P(t)

Q(s)

P0P1P2Q0Q2Q1

P(t)Q(s)P0P1P2Q0Q1Q2Q1

P(t)

Q(s)P0P1P2Q0Q2P(1)=Q

(0)=1:C1連續(xù)1:G1連續(xù)

要求

平面上兩條三次Bezier曲線的拼接P(1)=Q(0)P3=Q0

P’(1)=Q’(0)3(P3-P2)=3(Q1-Q0)∵

P3=Q0∴P2、P3、Q0、Q1一直線且P3-P2=Q1-Q0C1連續(xù)

P(t)Q(s)

P0P1P2Q3Q2Q1Q0P3C0連續(xù)

P(t)Q(s)P3Q0Q1Q2Q3P0P1P2§5.4Bezier曲面1.參數(shù)曲面的基本概念S(

,

)=[R·cos

·cos

,R·cos

·sin

,R·sin

]

其中[0,2],[-/2,/2]

一般曲面的參數(shù)表示S(u,w)=[x(u,w),y(u,w),z(u,w)]

u,w

[0,1]xyz0wu110

球面的參數(shù)表示

yzx0RA2.Bezier曲面的定義

給定Pi,j(i=0,1,…,m;j=0,1,…n)一共(m+1)

(n+1)個(gè)頂點(diǎn),則決定一張m

n次曲面片,其參數(shù)方程表達(dá)式如下:其中Bi,m(u)及Bj,n(w)為伯恩斯坦基函數(shù)。

P00

P01

P02

P12

P22

P21

P20

P10

P11

1

1次Bezier曲面片

共P00、P10、P01、P11四個(gè)點(diǎn),決定1

1次Bezier曲面片,實(shí)際上是一張雙線性插值曲面,或叫扭面。

P00

P10

P01P11uw

1

1次Bezier曲面公式可以從雙線性插值曲面的性質(zhì)推出

P1(u)=(1-u)·P00+u·P10P2(u)=(1-u)·P01+u·P11

P00

P10

P01P11uw

Q(u,w)P1(u)P2(u)XZY

2

2次Bezier曲面片

P00

P01

P02

P12

P22

P21

P20

P10

P11

3

3次Bezier曲面片P01P00P10P20P30P02P03P11P12P13P21P22P23P31P32P33

uw§5.5B樣條曲線曲面1.Bezier曲線的缺點(diǎn)2.二次B樣條曲線段

Pi

Pi+2

Pi+1

Q(0)

Q(0.5)

Q’(0.5)

Q(1)

3.三次B樣條曲線段Pi+1

Pi

Pi+2

Pi+3

Q(1)Q(0)

Q’(1)Q’(0)4.諸頂點(diǎn)決定的二次B樣條曲線

P0P1PiPn

P1P0PiPn5.諸頂點(diǎn)決定的三次B樣條曲線

PiP0P1Pn

溫馨提示

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

最新文檔

評論

0/150

提交評論