版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Lecture 12曲線曲面造型 概述 在CAD/CAM領(lǐng)域,存在大量的曲線與曲面,因此,曲線與曲面造型技術(shù)是CAD/CAM系統(tǒng)的關(guān)鍵技術(shù)。 曲線曲面模型可用數(shù)學(xué)函數(shù)或一系列用戶指定的數(shù)據(jù)點(diǎn)來(lái)定義。 曲線表示的基本知識(shí) 曲線可以用顯式、隱式和參數(shù)表示,由于參數(shù)表示的曲線、曲面具有幾何不變性等優(yōu)點(diǎn),計(jì)算機(jī)圖形學(xué)中通常用參數(shù)形式描述曲線 .位置矢量 位置矢量即該位置所在點(diǎn)的坐標(biāo)值,如圖所示,曲線上任一點(diǎn)的位置矢量可表示為: 型值點(diǎn)和控制點(diǎn) 所謂型值點(diǎn),是指通過(guò)測(cè)量或計(jì)算得到的曲線上少量描述曲線幾何形狀的數(shù)據(jù)點(diǎn)。由于的數(shù)量有限,不足以充分描述曲線的形狀,因此,通常是求得一些型值點(diǎn)后,采用一定的數(shù)學(xué)方
2、法,建立曲線的數(shù)學(xué)模型,從而再根據(jù)數(shù)學(xué)模型去獲得曲線上每一點(diǎn)的幾何信息。所謂控制點(diǎn),是指用來(lái)控制或調(diào)整曲線形狀的特殊點(diǎn),曲線段本身不通過(guò)該控制點(diǎn)。Bzier曲線 Bzier曲線的定義 給定空間n+1個(gè)點(diǎn)的位置矢量Pi(i=0,1,2,n),則Bzier參數(shù)曲線上各點(diǎn)坐標(biāo)的插值公式為: 式中,Pi構(gòu)成該Bzier曲線的特征多邊形,Bi,n(t)是n次Bernstein基函數(shù): Bzier曲線 一般折線P0P1Pn為P(t)的控制多邊形;稱P0,P1,Pn各點(diǎn)為P(t)的控制頂點(diǎn)。Bzier曲線P(t)與其控制多邊形的關(guān)系可以這樣認(rèn)為:控制多邊形P0P1Pn是P(t)的大致形狀的勾畫,而P(t)是
3、對(duì)P0P1Pn的逼近。Bzier曲線的性質(zhì) 端點(diǎn)的位置 由Bernstein基函數(shù)可以推得: 當(dāng)t=0時(shí),P(0)=P0 ;當(dāng)t=1時(shí),P(1)=Pn 由此可見(jiàn),Bzier曲線總是通過(guò)第一個(gè)和最后一個(gè)控制點(diǎn),即P0和Pn,即Bzier曲線的起點(diǎn)、終點(diǎn)與相應(yīng)的特征多邊形的起點(diǎn)、終點(diǎn)重合。Bzier曲線的性質(zhì)端點(diǎn)的切線 Bzier曲線在端點(diǎn)處的切矢量 可以通過(guò)控制點(diǎn)的坐標(biāo)進(jìn)行計(jì)算:因?yàn)樗?由此可得,Bzier曲線的起點(diǎn)和終點(diǎn)處的切線方向和特征多邊形的第一條邊及最后一條邊的走向一致。Bzier曲線的性質(zhì)權(quán)性 由二項(xiàng)式定理可知:Bzier曲線的性質(zhì)凸包性 由于 ,且 ,這一結(jié)果說(shuō)明當(dāng)t在0,1區(qū)間變
4、化時(shí),對(duì)某一個(gè)t值,P(t)是特征多邊形各頂點(diǎn)的加權(quán)平均,權(quán)因子依次是 。在幾何圖形上,意味著Bezier曲線P(t)在 中各點(diǎn)是控制點(diǎn)Pi的凸線性組合,即曲線落在Pi構(gòu)成的凸包之中,如圖所示。Bzier曲線的性質(zhì)幾何不變性 這是指某些幾何特性不隨坐標(biāo)變換而變化的特性。Bezier曲線位置與形狀與其特征多邊形頂點(diǎn) 的位置有關(guān),它不依賴坐標(biāo)系的選擇。Bzier曲線的性質(zhì)變差縮減性 若Bezier曲線的特征多邊形 是一個(gè)平面圖形 , 則平面內(nèi)任意直線與C(t)的交點(diǎn)個(gè)數(shù)不多于該直線與其特征多邊形的交點(diǎn)個(gè)數(shù),這一性質(zhì)叫變差縮減性質(zhì)。 此性質(zhì)反映了Bezier曲線比其特征多邊形的波動(dòng)還小,也就是說(shuō)Be
5、zier曲線比特征多邊形的折線更光順。三次Bzier曲線的矩陣表示 在利用Bzier曲線造型時(shí),如果其次數(shù)太高,固然能表示復(fù)雜的形狀,但同時(shí)會(huì)造成計(jì)算復(fù)雜度增加,并且高次曲線有太多的控制頂點(diǎn),形狀不易控制。 二次Bzier曲線表示能力有限,又是平面曲線,所以最常用的就是三次Bezier曲線。 三次Bezier曲線是非平面Bzier曲線中的最低次曲線,表示能力強(qiáng),形狀控制方便。故在一些圖形軟件包中,只有三次Bzier曲線,使得設(shè)計(jì)更加方便,同時(shí)避免了由于高階多項(xiàng)式帶來(lái)的計(jì)算量的增加。 三次Bzier曲線的矩陣表示當(dāng)n=3時(shí),由特征多邊形的頂點(diǎn)P0、P1、P2、P3可定義一條三次Bzier曲線。這
6、時(shí)曲線定義形式為:矩陣形式為 Bzier曲線的計(jì)算 計(jì)算Bezier曲線上的點(diǎn),可用Bezier曲線方程,但使用de Casteljau提出的遞推算法則要簡(jiǎn)單的多。 如下圖所示,設(shè) 、 、 是一條Bezier曲線上順序三個(gè)不同的點(diǎn)。 過(guò) 和 點(diǎn)的兩切線交于 點(diǎn), 在 P2點(diǎn)的切線交 和 于 和 ,則如下比例成立:這是所謂的三切線定理。Bzier曲線的計(jì)算Bzier曲線的計(jì)算當(dāng)P0,P2固定,引入?yún)?shù)t,令上述比值為t:(1-t),即有: t從0變到1,第一、二式就分別表示控制二邊形的第一、二條邊,它們是兩條一次Bezier曲線。將一、二式代入第三式得: 以Bernstein基函數(shù)構(gòu)造的Bzie
7、r曲線有許多優(yōu)點(diǎn),如直觀、計(jì)算簡(jiǎn)單等,但有一些不足之處:其一是缺少局部性,修改某一個(gè)控制頂點(diǎn)將影響整條曲線;其二是控制多邊形與曲線的逼近程度較差(次數(shù)越高,逼近程度越差);其三是當(dāng)表示復(fù)雜形狀時(shí),無(wú)論采用高次曲線還是多段拼接起來(lái)的低次曲線,都相當(dāng)復(fù)雜。B樣條曲線B樣條曲線 為了克服這些問(wèn)題,Gordon、Riesenfeld等人拓展了Bzier曲線,提出了B樣條方法,用n次B樣條基函數(shù)替代了Bernstein基函數(shù),在保留Bzier方法全部?jī)?yōu)點(diǎn)的同時(shí),克服了Bzier方法的弱點(diǎn)。B樣條曲線 在計(jì)算機(jī)圖形學(xué)中,術(shù)語(yǔ)樣條曲線指由多項(xiàng)式曲線段連接而成的曲線,在每段的邊界處滿足特定的連續(xù)條件。 樣條曲
8、面可用兩組正交樣條曲線來(lái)描述。B樣條曲線 與Bzier曲線不同,對(duì)于B樣條曲線我們采用一系列的節(jié)點(diǎn)來(lái)表示參數(shù)t的變化情況,它是一個(gè)整體參數(shù),節(jié)點(diǎn)的個(gè)數(shù)反映了曲線的次數(shù)和段數(shù)。B樣條曲線的方程定義為: B樣條曲線 上式中,Pi是控制多邊形的頂點(diǎn)。 稱為k階(k-1次)B樣條基函數(shù) 。 它是一個(gè)稱為節(jié)點(diǎn)矢量的非遞減的參數(shù)t的序列所決定的k階分段多項(xiàng)式,也即為k階(k-1次)多項(xiàng)式樣條。 B樣條曲線B樣條基函數(shù)定義為: 關(guān)注t的下標(biāo)的變化,其最小最大值為i,i+K 該遞推公式表明:欲確定第i個(gè)k階B樣條,需要用到共k+1個(gè)節(jié)點(diǎn),稱 區(qū)間為的支撐區(qū)間。 B樣條曲線 i=0;0,k 使用的節(jié)點(diǎn)為t0,t
9、1, tk i=1;1,k+1 使用的節(jié)點(diǎn)為t1,t2, tk+1 i=n;n,k+n 使用的節(jié)點(diǎn)為tn,tn+1, tk+n 節(jié)點(diǎn)的個(gè)數(shù)反映了曲線的次數(shù)和段數(shù): 節(jié)點(diǎn)的個(gè)數(shù)=n+k+1 共有n+1個(gè)樣條基函數(shù)B樣條曲線B樣條曲線的一個(gè)實(shí)例: n=3;k=3,此時(shí)節(jié)點(diǎn)個(gè)數(shù)為n+k+1=7 節(jié)點(diǎn)為0,1,2,3,4,5,6 有n+1=4個(gè)基函數(shù)分別為B0,3, B1,3 , B2,3 , B3,3B樣條曲線B樣條曲線的性質(zhì) 局部性 局部性質(zhì)是B樣條最重要的性質(zhì)之一,也是B樣條方法與Bzier方法的主要差別所在。由B樣條基函數(shù)遞推公式可知: 第i條k階B樣條曲線,僅在節(jié)點(diǎn)和的k+1個(gè)區(qū)間內(nèi)不為0,
10、而其余區(qū)間均為0。這個(gè)性質(zhì)稱之為局部支柱性。 B樣條曲線的性質(zhì)連續(xù)性 凸包性 分段參數(shù)多項(xiàng)式 變差縮減性 幾何不變性 直線保持性 造型的靈活性 B樣條曲線分類 (1)均勻B樣條曲線 節(jié)點(diǎn)向量中節(jié)點(diǎn)為沿參數(shù)軸均勻或等間隔分布,所有節(jié)點(diǎn)區(qū)間長(zhǎng)度為大于零的一個(gè)常數(shù),其中i從0一直到n+k。這樣的節(jié)點(diǎn)向量定義了均勻B樣條曲線(uniform B-spline curve)。(2)準(zhǔn)均勻B樣條曲線 準(zhǔn)均勻B樣條曲線(quasi-uniform B-spline curve)是均勻B樣條曲線和非均勻均勻B樣條曲線的交叉部分,節(jié)點(diǎn)向量中首尾節(jié)點(diǎn)重復(fù)d次,即t0= t1= td,tn+1= tn+2= tn+
11、d+1,所有其他節(jié)點(diǎn)呈均勻分布,這樣的節(jié)點(diǎn)矢量定義了準(zhǔn)均勻B樣條曲線。B樣條曲線分類(3)分段Bzier曲線 節(jié)點(diǎn)向量中兩端節(jié)點(diǎn)具有重復(fù)度k,所有內(nèi)節(jié)點(diǎn)重復(fù)度為k-1,這樣的節(jié)點(diǎn)矢量定義了分段的Bernstein基函數(shù)。 4)非均勻B樣條曲線 對(duì)于非均勻B樣條曲線(none-uniform B-spline curve),節(jié)點(diǎn)向量中節(jié)點(diǎn)的分布是任意的。在這種類型里,任意分布的節(jié)點(diǎn)矢量,只要在數(shù)學(xué)上成立(節(jié)點(diǎn)序列非遞減,兩端節(jié)點(diǎn)重復(fù)度k,內(nèi)節(jié)點(diǎn)重復(fù)度k-1)都可選取。這樣的節(jié)點(diǎn)矢量定義了非均勻B樣條基。非均勻有理B樣條曲線 B樣條方法在表示與設(shè)計(jì)自由型曲線曲面形狀時(shí)顯示了強(qiáng)大的威力,然而在表示與
12、設(shè)計(jì)初等曲線曲面時(shí)時(shí)卻遇到了麻煩。因?yàn)锽樣條曲線包括其特例的Bzier曲線都不能精確表示出拋物線外的二次曲線,而只能給出近似表示。 提出非均勻有理B樣條(NURBS)方法,主要是為了找到與描述自由型曲線曲面的B樣條方法既相統(tǒng)一、又能精確表示二次曲線弧與二次曲面的數(shù)學(xué)方法。非均勻有理B樣條曲線 有理函數(shù)是兩個(gè)多項(xiàng)式之比。因此,有理樣條是兩個(gè)樣條函數(shù)之比。有理B樣條曲線可以這樣來(lái)定義:非均勻有理B樣條曲線 使用NURBS繪制二次曲線,我們利用二次樣條函數(shù)k=3和三個(gè)控制點(diǎn),其節(jié)點(diǎn)向量為: 0,0,0,1,1,1 取權(quán)值為w0=w2=1,w1=r/(1-r) 0=r1 改變r(jià)的值可得各種二次曲線:
13、r0.5,w11 (雙曲線) r=0.5,w1=1 (拋物線) r0.5,w11 (橢圓)非均勻有理B樣條曲線優(yōu)點(diǎn)既為標(biāo)準(zhǔn)解析形狀即初等的曲線曲面,也為自由型曲線曲面的精確表示與設(shè)計(jì)提供了一個(gè)統(tǒng)一的數(shù)學(xué)形式。因此,一個(gè)統(tǒng)一的圖形數(shù)據(jù)庫(kù)就能存儲(chǔ)這兩類曲線曲面幾何形狀信息。由操縱控制頂點(diǎn)及權(quán)因子為各種形狀設(shè)計(jì)提供了充分的靈活性。計(jì)算穩(wěn)定,速度快。NURBS有明顯的幾何解釋,對(duì)有良好的幾何知識(shí)尤其是畫法幾何知識(shí)的設(shè)計(jì)人員來(lái)說(shuō),特別適用。具有明顯的幾何解釋和強(qiáng)有力的幾何配套技術(shù)(包括節(jié)點(diǎn)插入、細(xì)分、升階等),這些技術(shù)能用于設(shè)計(jì)、分析與處理等各環(huán)節(jié)。NURBS在比例、旋轉(zhuǎn)、平移、錯(cuò)切以及平行和透視變換下
14、是不變的。NURBS是B樣條及有理Bzier曲線的合適推廣。非均勻有理B樣條曲線缺點(diǎn)比傳統(tǒng)的曲線曲面定義方法需要更多的存儲(chǔ)空間,如傳統(tǒng)方法定義空間圓需7個(gè)參數(shù)(圓心、半徑、法矢等),而NURBS定義空間圓需38個(gè)參數(shù)。權(quán)因子選擇不當(dāng)會(huì)引起畸變。某些技術(shù)用傳統(tǒng)形式比用NURBS工作的更好。如曲面求交等。反求曲線曲面上點(diǎn)的參數(shù)值的算法,存在數(shù)值不穩(wěn)定問(wèn)題。OpenGL中自由曲線和曲面的繪制 Bzier曲線的繪制 曲線的起點(diǎn)和終點(diǎn)與該多邊形的起點(diǎn)和終點(diǎn)重合,且多邊形的第一條邊和最后一條邊分別表示了曲線在起點(diǎn)和終點(diǎn)處的切向矢量方向。曲線的形狀則趨于多邊形的形狀。多邊形可由其頂點(diǎn)來(lái)定義這些頂點(diǎn)則被稱為控
15、制點(diǎn)。只要給出控制點(diǎn),就可生成一條Bzier曲線。 Bzier曲線的繪制1.曲線的定義與激活 在OpenGL中,曲線和曲面的構(gòu)造是借助于OpenGL求值器來(lái)完成的。要生成一條曲線,首先,要?jiǎng)?chuàng)建一個(gè)求值器。求值器是基于OpenGL而建立的一個(gè)生成更一般曲線和曲面包的工具。利用求值器可自動(dòng)生成頂點(diǎn)坐標(biāo)、法線坐標(biāo)和紋理坐標(biāo)。其次,要激活求值器,使其進(jìn)行曲線映射。最后,要將求值器生成的各頂點(diǎn)連接起來(lái)可以生成一條完整的曲線。 創(chuàng)建一維求值器的函數(shù)為:glMap1d()或g1Map1f()函數(shù),由它們生成所需坐標(biāo)值。g1Map1d()函數(shù)原型為: void glMap1d( GLenum target,
16、GLdouble u1,GLdouble u2, GLint stride, GLint order, const GLdouble *points );Bzier曲線的繪制 其中,targret參數(shù)是個(gè)標(biāo)識(shí)參數(shù),它表示控制點(diǎn)應(yīng)該組織成什么樣的數(shù)據(jù)形式,以及當(dāng)求值器被成功調(diào)用后輸出數(shù)據(jù)的形式。它可以取表中的任意一個(gè)值。Bzier曲線的繪制 ul和u2參數(shù)表示調(diào)和函數(shù)的變量u的取值范圍;stride參數(shù)表示控制點(diǎn)向量的維數(shù),可以與target參數(shù)表示的含義不一致;order參數(shù)為控制點(diǎn)的個(gè)數(shù);points參數(shù)為控制點(diǎn)地址指針。 創(chuàng)建一個(gè)一維曲線求值器之后,就應(yīng)該激活求值器使其進(jìn)入工作狀態(tài)。由下述
17、語(yǔ)句完成: glEnable(GL_MAP1_VERTEX_3); glEnable()函數(shù)的參數(shù)應(yīng)該與glMap1d()函數(shù)的第一個(gè)參數(shù)一致,當(dāng)不再需要映射之后,相應(yīng)地,就應(yīng)該掛起求值器: g1Disable(GL_MAPl_VERTEX_3); Bzier曲線的繪制2曲線坐標(biāo)的計(jì)算 為了能生成一條曲線,最后還要進(jìn)行曲線坐標(biāo)的計(jì)算和連接。該函數(shù)為:glEvalcoord1d()或glEvalCoord1f()。以glEvalcoord1d()為例,其原型為: void glEvalcoord1d(GLDouble u); 其中,u參數(shù)表示參數(shù)空間中u參數(shù)的取值。給定一個(gè)u值,就會(huì)產(chǎn)生一個(gè)曲線坐標(biāo)。當(dāng)用glEvalcoordl()函數(shù)生成曲線坐標(biāo)之后,還要將這些坐標(biāo)連接起來(lái)構(gòu)成一條曲線。這可以通過(guò)glBegin()glEnd()函數(shù)對(duì)來(lái)完
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《設(shè)備保養(yǎng)的重要性》課件
- 《政府公共禮品》課件
- 2025屆福建省上杭縣一中高三壓軸卷數(shù)學(xué)試卷含解析
- 山東省濰坊市第一中學(xué)2025屆高三最后一卷英語(yǔ)試卷含解析
- 江西省上高縣第二中學(xué)2025屆高三二診模擬考試語(yǔ)文試卷含解析
- 甘肅肅蘭州市第五十一中學(xué)2025屆高考英語(yǔ)五模試卷含解析2
- 湖北省鋼城四中2025屆高三下第一次測(cè)試語(yǔ)文試題含解析
- 廣西壯族自治區(qū)欽州市2025屆高三最后一卷語(yǔ)文試卷含解析
- 湖北省隨州一中2025屆高考數(shù)學(xué)倒計(jì)時(shí)模擬卷含解析
- 浙江教育綠色評(píng)價(jià)聯(lián)盟2025屆高三最后一卷語(yǔ)文試卷含解析
- 鄉(xiāng)村振興的實(shí)踐探索學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 人力資源外包方案
- 第12課 Python的函數(shù) 教案
- 術(shù)后麻醉后護(hù)理
- 地產(chǎn)項(xiàng)目整合方案
- 【課件】化學(xué)實(shí)驗(yàn)與科學(xué)探究課件-2024-2025學(xué)年九年級(jí)化學(xué)人教版(2024)上冊(cè)
- 電站安全操作規(guī)程
- 高血壓危象的護(hù)理
- 建設(shè)監(jiān)理課課程設(shè)計(jì)
- 小學(xué)英語(yǔ)時(shí)態(tài)練習(xí)大全(附答案)-小學(xué)英語(yǔ)時(shí)態(tài)專項(xiàng)訓(xùn)練及答案
- 04 閃亮的坐標(biāo)-勞模王進(jìn)喜(同步教案)-2024-2025學(xué)年中職高二語(yǔ)文新教材同步教學(xué)講堂(高教版2023·職業(yè)模塊)
評(píng)論
0/150
提交評(píng)論