![第三章(3) 參數(shù)曲線曲面_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/2eccf6fd-88f7-4548-a2be-9e34397c2b44/2eccf6fd-88f7-4548-a2be-9e34397c2b441.gif)
![第三章(3) 參數(shù)曲線曲面_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/2eccf6fd-88f7-4548-a2be-9e34397c2b44/2eccf6fd-88f7-4548-a2be-9e34397c2b442.gif)
![第三章(3) 參數(shù)曲線曲面_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/2eccf6fd-88f7-4548-a2be-9e34397c2b44/2eccf6fd-88f7-4548-a2be-9e34397c2b443.gif)
![第三章(3) 參數(shù)曲線曲面_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/2eccf6fd-88f7-4548-a2be-9e34397c2b44/2eccf6fd-88f7-4548-a2be-9e34397c2b444.gif)
![第三章(3) 參數(shù)曲線曲面_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/2eccf6fd-88f7-4548-a2be-9e34397c2b44/2eccf6fd-88f7-4548-a2be-9e34397c2b445.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、前前 言言n上講內(nèi)容回顧上講內(nèi)容回顧n三維建模方法三維建模方法n三維觀察與剪裁三維觀察與剪裁n三維幾何變換(平移、旋轉(zhuǎn)、縮放、錯切、復合變換)三維幾何變換(平移、旋轉(zhuǎn)、縮放、錯切、復合變換)n三維觀察變換(指定觀察坐標系、投影變換、定義觀察體)三維觀察變換(指定觀察坐標系、投影變換、定義觀察體)nOpenGL中的觀察轉(zhuǎn)換中的觀察轉(zhuǎn)換n定義視點定義視點gluLookAt()n定義視景體定義視景體glFrustum()、 gluPerspective()、 glOrtho()n定義視口定義視口glViewport() n切割視景體切割視景體(3)參數(shù)曲線曲面)參數(shù)曲線曲面Introduction
2、of Computer Graphics第三章第三章 模型及變換模型及變換Introduction of Computer GraphicsIntroduction of Computer Graphics肖雙九 上海交通大學數(shù)字藝術實驗室本講內(nèi)容本講內(nèi)容n曲線的表示及繪制曲線的表示及繪制n參數(shù)曲線基礎知識參數(shù)曲線基礎知識n常用參數(shù)曲線常用參數(shù)曲線nOpenGL中曲線的繪制中曲線的繪制n曲面的表示及繪制曲面的表示及繪制n常用參數(shù)曲面常用參數(shù)曲面nOpenGL中曲線曲面的繪制中曲線曲面的繪制前言前言n對于具體的應用,使用一個緊湊的曲線曲面表對于具體的應用,使用一個緊湊的曲線曲面表示的優(yōu)點:示的優(yōu)
3、點:n它們有比多邊形集合更加緊湊的表達式,對它們有比多邊形集合更加緊湊的表達式,對于模型的保存,可以節(jié)省存儲空間。于模型的保存,可以節(jié)省存儲空間。n使用少量的控制多邊形就能得到比直線和平使用少量的控制多邊形就能得到比直線和平面多邊形更加光滑更加連續(xù)的圖形。面多邊形更加光滑更加連續(xù)的圖形。n對于一個函數(shù)曲面的變換比對多邊形網(wǎng)格表對于一個函數(shù)曲面的變換比對多邊形網(wǎng)格表示的曲面的變換的復雜度更小。示的曲面的變換的復雜度更小。前言前言n對于具體的應用,使用一個緊湊的曲線對于具體的應用,使用一個緊湊的曲線曲面表示的優(yōu)點:曲面表示的優(yōu)點:n可以很容易生成模型的可以很容易生成模型的LOD結構。因而在實結構。
4、因而在實時繪制時根據(jù)實際情況提高繪制質(zhì)量或者提時繪制時根據(jù)實際情況提高繪制質(zhì)量或者提高幀速率。高幀速率。n動畫中,曲面只有少量的點需要進行變換。動畫中,曲面只有少量的點需要進行變換。這些變換后的點再形成一張新的光滑曲面。這些變換后的點再形成一張新的光滑曲面。n對于碰撞檢測,更加有效更加精確。對于碰撞檢測,更加有效更加精確。n可以使實時計算機圖形應用更快速,編碼更可以使實時計算機圖形應用更快速,編碼更快速,生存期更長??焖?,生存期更長。一、曲線的表示和繪制一、曲線的表示和繪制1.1 曲線曲面參數(shù)化表示基礎曲線曲面參數(shù)化表示基礎n1.1.1 顯示、隱式和參數(shù)表示顯示、隱式和參數(shù)表示n 顯式表示顯式
5、表示平面曲線顯式方程的一般形式為平面曲線顯式方程的一般形式為 因為一個因為一個y值只能對應一個值只能對應一個x值,因此顯式方程不能值,因此顯式方程不能表示封閉或多值的曲線,例如表示封閉或多值的曲線,例如( )yf xxyx1x2x3x4x5x6xyxy1y2n隱式表示隱式表示平面曲線隱式方程的一般形式為平面曲線隱式方程的一般形式為例如一個圓錐曲線的二階隱式方程可寫成例如一個圓錐曲線的二階隱式方程可寫成( , )0f x y 222220axbxycydxeyf圓橢圓拋物線雙曲線n非參數(shù)表示的問題非參數(shù)表示的問題n與坐標軸相關與坐標軸相關n會出現(xiàn)斜率為無窮大的情況(如垂線)會出現(xiàn)斜率為無窮大的情
6、況(如垂線)n非平面的曲線,系數(shù)不是常量非平面的曲線,系數(shù)不是常量n不便于計算和編程不便于計算和編程n 參數(shù)表示參數(shù)表示平面曲線參數(shù)方程的一般形式為平面曲線參數(shù)方程的一般形式為通常將參數(shù)通常將參數(shù)規(guī)格化到規(guī)格化到0,1之間,只研究這一個之間,只研究這一個區(qū)間中的參數(shù)曲線區(qū)間中的參數(shù)曲線 ( )( )xx tyy tn 參數(shù)表示參數(shù)表示例如,直線的兩端點分別為例如,直線的兩端點分別為p1 (1,2)和和p2 (4,3)其其參數(shù)方程為參數(shù)方程為 當當 p=p1時,時,t=0 p=p2時,時,t=1 寫成分量參數(shù)方程形式為寫成分量參數(shù)方程形式為121( )()p tppp tp1p2xyp12112
7、1()()1 3()()2xtxxx ttytyyy tt n 參數(shù)表示參數(shù)表示一個以坐標原點為圓心半徑為一個以坐標原點為圓心半徑為r的圓的圓其其參數(shù)方程可表示為參數(shù)方程可表示為 參數(shù)參數(shù)u是一個規(guī)格化了的角度參數(shù)是一個規(guī)格化了的角度參數(shù) 當圓上某一點與原點的連線與當圓上某一點與原點的連線與x軸正向的夾軸正向的夾 角角 從從0變化到變化到2 ,就繪制出了整個圓,因此,就繪制出了整個圓,因此 u= /2 當當 =0,參數(shù),參數(shù) u=0; = 2 ,參數(shù),參數(shù) u=1; = /2 ,參數(shù),參數(shù) u=1/4; = ,參數(shù),參數(shù) u=1/2;( )cos(2)( )sin(2)01x uruy uru
8、uxy x(u), y(u)n參數(shù)表示的優(yōu)點參數(shù)表示的優(yōu)點(1)n有更大的自由度來控制曲線、曲面形狀有更大的自由度來控制曲線、曲面形狀 例如,一個二維三次曲線的顯式方程為例如,一個二維三次曲線的顯式方程為 有有4個系數(shù)可以用來控制曲線形狀,個系數(shù)可以用來控制曲線形狀, 而其參數(shù)表達式為而其參數(shù)表達式為 有有8個系數(shù)可以用來控制曲線形狀個系數(shù)可以用來控制曲線形狀32yaxbxcxd3232xatbtctdyetftgthn參數(shù)表示的優(yōu)點參數(shù)表示的優(yōu)點(2)n易于用矢量和矩陣表示幾何分量,簡化計算易于用矢量和矩陣表示幾何分量,簡化計算n非參數(shù)方程的幾何變換要通過對所有型值點進行變非參數(shù)方程的幾何變
9、換要通過對所有型值點進行變換來實現(xiàn),而參數(shù)方程可以直接進行變換換來實現(xiàn),而參數(shù)方程可以直接進行變換;323232xxxxyyyyzzzzxa tb tc tdya tb tc tdza tbtc td321xxxxyyyyzzzztabcdxtyabcdtzabcd 三次Hermite參數(shù)曲線n參數(shù)表示的優(yōu)點參數(shù)表示的優(yōu)點(3)n便于處理斜率為無窮大的問題,不會出現(xiàn)計算中便于處理斜率為無窮大的問題,不會出現(xiàn)計算中斷斷; 平面直線顯式方程平面直線顯式方程 非參數(shù)方程無法表示非參數(shù)方程無法表示 x = c(常數(shù))常數(shù)) 的直線,因為此時的直線,因為此時dx=0,斜率斜率k為無窮為無窮 大;而用參數(shù)
10、方程就可以直接表示。大;而用參數(shù)方程就可以直接表示。 ykxbxybdy(x,y)dykdxdxn參數(shù)表示的優(yōu)點參數(shù)表示的優(yōu)點(4)n參數(shù)方程對變量個數(shù)不限,從而可以很方便地參數(shù)方程對變量個數(shù)不限,從而可以很方便地把低維曲線曲面擴展到高維空間中去把低維曲線曲面擴展到高維空間中去; 例如一條二維三次參數(shù)曲線例如一條二維三次參數(shù)曲線3232xxxxyyyyxa tb tc tdya tb tc td32320 xxxxyyyyxa tb tc tdya tb tc tdz擴展到三維的參數(shù)表達式為擴展到三維空間,就可以做三維的變換或其他計算n參數(shù)表示的優(yōu)點參數(shù)表示的優(yōu)點(5)n0,1之間規(guī)格化的參數(shù)
11、,使其相應的幾何分量之間規(guī)格化的參數(shù),使其相應的幾何分量是有界的,不需要另外的參數(shù)定義其邊界是有界的,不需要另外的參數(shù)定義其邊界。 例如前例中直線段的參數(shù)方程例如前例中直線段的參數(shù)方程 自然表示出端點為自然表示出端點為 (1,2)和和(3,4),如果是顯式,如果是顯式方程,還要專門說明兩端點的位置,否則直線方方程,還要專門說明兩端點的位置,否則直線方程程 表示的是一條無限的直線而不是表示的是一條無限的直線而不是線段線段。( )1 3( )2x tty tt 1(5)3yx1.2 參數(shù)曲線的定義及相關基本概念參數(shù)曲線的定義及相關基本概念n三維參數(shù)曲線的一般表達式三維參數(shù)曲線的一般表達式n基本概念
12、基本概念n位置矢量位置矢量 曲線上任意一點的位置矢量曲線上任意一點的位置矢量p(t) ( ) , ( ) , ( ) , 01xx tyy tzz tt ( ) ( ), ( ), ( )p tx ty tz txyzt=0t=1P(t)P1P0n切矢量切矢量T 曲線上兩點曲線上兩點r和和Q的參數(shù)分別為的參數(shù)分別為t和和 t+ t r和和Q兩點之間的弦長兩點之間的弦長 當當r和和Q之間的弧長之間的弧長 c0時,時, pc, 曲線在該點處的單位切矢量曲線在該點處的單位切矢量切矢量切矢量dp/dt 僅與僅與T成比例成比例 若切矢量數(shù)值遠遠超過曲線弦長的幾若切矢量數(shù)值遠遠超過曲線弦長的幾 倍,曲線會
13、出現(xiàn)倍,曲線會出現(xiàn)回轉(zhuǎn)現(xiàn)象回轉(zhuǎn)現(xiàn)象 = ()( )p p ttp txyzP0P1t=0t=1cpP(t)rP(t+t)QTd /dpcTn 基本概念基本概念n曲率曲率k 表示曲線在該點處的彎曲程度表示曲線在該點處的彎曲程度 當當Q趨向于趨向于r,即,即 c0時,時,0lim |/|T/ckcddc xyzP0P1c=0c=1cP(c)rP(c+c)Q T( ), ( )p ckp c因為所以 1 k曲率半徑可以看作在該點處,有一個半徑為可以看作在該點處,有一個半徑為 的密切圓內(nèi)切于該點,曲率半的密切圓內(nèi)切于該點,曲率半徑就為徑就為 ,曲率為,曲率為1/k,密切圓的圓心稱為,密切圓的圓心稱為“
14、曲率中心曲率中心”n主法矢主法矢N和副法矢和副法矢B 垂直于切矢量垂直于切矢量T的矢量都是法矢量,構成的矢量都是法矢量,構成法平面法平面 其中指向曲率中心的單位法矢量稱為單位主法矢其中指向曲率中心的單位法矢量稱為單位主法矢N 單位副法矢單位副法矢BT N T和和N構成構成密切平面密切平面 N和和B構成構成法平面法平面 B和和T構成構成化直平面化直平面n 基本概念基本概念xyzP0P1c=0c=1TBN法平面密切平面化直平面n 基本概念基本概念n擾率擾率 表示曲線在該點處的扭出其密切平面的速率表示曲線在該點處的扭出其密切平面的速率 當當Q趨向于趨向于r,即,即 c0時,時,0lim |/|B/c
15、cddc cxyzP0P1c=0c=1P(c)rP(c+c)QB(c+c)B(c+c)B(c)n 基本術語基本術語n樣條樣條 SplineA traditional spline used for drawing smooth curves. The wooden spline is bent into shape using spline weights.n 基本術語基本術語n插值插值n插值的概念插值的概念 給定函數(shù)給定函數(shù) f(x)在區(qū)間在區(qū)間a,b上上n個不同的值個不同的值f(xi) , i=1,2,3,n,尋找某一函數(shù),尋找某一函數(shù) (x)逼近逼近f(x), (xi)=f(xi) (x
16、)就稱為插值函數(shù),也稱就稱為插值函數(shù),也稱插值樣條曲線插值樣條曲線, xi為插為插值節(jié)點;值節(jié)點; xyx1x2x3xn (x)f(x)n線性插值線性插值給定兩點給定兩點x1和和x2處的值處的值 用一個線性函數(shù)進行插值用一個線性函數(shù)進行插值 代入代入 (x)的表達式,可求出系數(shù)的表達式,可求出系數(shù)a和和bn 插值插值1122()()yf xyf x( )xaxb1122( ) , ()xyxy211121( )()yyxyxxxxxyx1x2f(x) (x)y1y2n 插值插值n二次插值二次插值需要知道函數(shù)需要知道函數(shù)f(x)上的三個點上的三個點x1、x2 和和x3的值的值y1、y2 和和y3
17、 用一個二次函數(shù)來插值用一個二次函數(shù)來插值 必須滿足方程組必須滿足方程組 求解出系數(shù)求解出系數(shù)a、b、c,就可以構造,就可以構造 出二次插值函數(shù)出二次插值函數(shù) (x)2( )xaxbxc112233() , () , ()xyxyxyxyx1x2f(x)x3y1y2y3 (x)n 逼近逼近n當型值點太多時,很難構造插值函數(shù)當型值點太多時,很難構造插值函數(shù)n選擇一個次數(shù)較低的函數(shù)選擇一個次數(shù)較低的函數(shù)F(x),最佳逼近這些型值點,最佳逼近這些型值點n最小二乘逼近最小二乘逼近 構造構造F(x)使使 達到極小達到極小 也稱也稱F(x)為為逼近樣條逼近樣條xyx1x2x3xnf(x)F(x)21 (
18、)( ) nkiikid F xf xd,是權值n 光順光順n平面曲線的光順條件:平面曲線的光順條件:n(1) 具有二階幾何連續(xù)具有二階幾何連續(xù)G2n(2) 不存在多余的拐點不存在多余的拐點n(3) 曲率變化比較小曲率變化比較小 n曲線段之間的連續(xù)性曲線段之間的連續(xù)性n參數(shù)連續(xù)性參數(shù)連續(xù)性C和幾何連續(xù)性和幾何連續(xù)性Gn在結合點在結合點P處位置重合,稱為處位置重合,稱為C0和和G0連續(xù)連續(xù)n在點在點P處切矢量方向相同,大小相等處切矢量方向相同,大小相等C1連續(xù);連續(xù); 在點在點P處切矢量方向相同,大小不等處切矢量方向相同,大小不等G1連續(xù);連續(xù);n在點在點P處的處的n階導矢方向相同,大小相等階導
19、矢方向相同,大小相等C n連續(xù);連續(xù); 在點在點P處的處的n階導矢方向相同,大小不等階導矢方向相同,大小不等Gn連續(xù);連續(xù);Tp1Q1(t)Q2(t)PTp21.3 常用參數(shù)曲線常用參數(shù)曲線n 1.3.1 樣條曲線樣條曲線n樣條曲線的表示有三種等價的方式:樣條曲線的表示有三種等價的方式: (1) 列出一組在樣條邊界上的列出一組在樣條邊界上的邊界條件邊界條件; (2) 列出描述樣條特征的列出描述樣條特征的矩陣矩陣; (3) 列出一組列出一組調(diào)合函數(shù)調(diào)合函數(shù)(或(或基函數(shù)基函數(shù))。)。 nHermit三次樣條曲線三次樣條曲線三次參數(shù)曲線方程的一般矢量形式是三次參數(shù)曲線方程的一般矢量形式是32( )
20、uuuuPabcd2( )32uuuPabcnHermit三次樣條曲線三次樣條曲線設有設有n+1個形值點個形值點兩相鄰型值點兩相鄰型值點Pk和和Pk+1之間之間Hermit曲線的邊界條件是:曲線的邊界條件是:邊界條件的矩陣表示為邊界條件的矩陣表示為 11(0) , (1)(0) , (1)kkkkPPPPPPPPDDP(,) 0,1,2,.,kkkkxyzkn110001111100103210kkkkPP PabPcDdDnHermit三次樣條曲線三次樣條曲線系數(shù)矩陣求解得到系數(shù)矩陣求解得到 11112211332100101000kkkkHkkkkMPPPP aPPbPPcDDdDDHer
21、mit矩陣3232323211011213( )(231)( 23)P (2)P() ( )( )P( )P( )kkkkkkkkuuuuuuuuuuHuH uHuH uPPPDDPPDD矩陣相乘,得到調(diào)和函數(shù)表達式為4個調(diào)合函數(shù)個調(diào)合函數(shù)1.3.2 Bzier曲線曲線n 法國雷諾汽車公司的法國雷諾汽車公司的P.E.Bzier提出的一種以逼近提出的一種以逼近為基礎的參數(shù)曲線為基礎的參數(shù)曲線n Bzier曲線的定義曲線的定義用一組折線或稱做特征多邊形定義的,曲線和特征多邊形的起點與終點的位置重合,多邊形第一條邊和最后一條邊表示了曲線起點和終點的切矢量方向用一組折線或稱做控制多邊形Control
22、Polygon定義的,曲線和控制多邊形的起點與終點的位置重合,多邊形第一條邊和最后一條邊表示了曲線起點和終點的切矢量方向1.3.2 Bzier曲線曲線nn次次Bzier曲線上各點的插值公式為曲線上各點的插值公式為,0( )( )nii niC tPBt調(diào)合函數(shù),!( )(1)!()!in ii nnBttti ni控制頂點例如,三次Bzier曲線(n=3)的調(diào)和函數(shù)為32230,31,32,33,3( )(1) , ( )3 (1) , ( )3 (1) , ( )BttBtttBtttBtt則,三次Bzier曲線方程為32230123( )(1)3 (1)+3 (1)C ttPttPtt P
23、t P 1.3.2 Bzier曲線曲線nBzier曲線的調(diào)和函數(shù)曲線的調(diào)和函數(shù),!( )(1)!()!in ii nnBttti ni01tB0,3B1,3B2,3B3,330,3( )(1) Btt21,3( )3 (1) Bttt22,3( )3 (1) Bttt33,3( )Btt 1.3.2 Bzier曲線曲線n Bzier曲線的調(diào)和函數(shù)的性質(zhì)曲線的調(diào)和函數(shù)的性質(zhì)正性正性權性權性遞推性遞推性,( )0, 0,1 0,( )0, (0,1) 1,2,., -1i ni nBttinBttin,0( )1, (0,1)ni niBtt,11,1( )(1)( )( )i ni ninBtt
24、 BttBt 1.3.2 Bzier曲線曲線n Bzier曲線的性質(zhì)曲線的性質(zhì)曲線的起點與終點與控制多邊形的起點和終曲線的起點與終點與控制多邊形的起點和終點重合;點重合;曲線的兩端點處的切矢量方向與控制多邊形曲線的兩端點處的切矢量方向與控制多邊形的第一條和最后一條邊重合;的第一條和最后一條邊重合;對稱性。將控制頂點的順序反向,得到的曲對稱性。將控制頂點的順序反向,得到的曲線形狀不變,方向相反;線形狀不變,方向相反;凸包性。曲線總落在控制多邊凸包性。曲線總落在控制多邊 形的凸包中;形的凸包中;變差縮減性。曲線的波動比控制多邊形小。變差縮減性。曲線的波動比控制多邊形小。P0P1P2P3T0T3 1
25、.3.2 Bzier曲線曲線n Bzier曲線的繪制算法曲線的繪制算法 分割遞推分割遞推Casteljau算法(這里以三次曲線為例)算法(這里以三次曲線為例) 計算曲線上對應參數(shù)計算曲線上對應參數(shù)t 的點的位置的點的位置C(t) 1001(1)Pt PtPP0P1P2P3P01C(t)P11P21P02P12P30P01C(t)P11P21P02P12P301112(1)Pt PtP211112(1)Pt PtP211001(1)Pt PtP1223(1)Pt PtP322001(1)Pt PtP 1.3.2 Bzier曲線曲線n 推廣到推廣到n次的次的Bzier曲線曲線Casteljau遞推
26、公式為遞推公式為n Bzier曲線的設計技術曲線的設計技術三個控制頂點,生成拋物線,四個控制頂點生成三次曲三個控制頂點,生成拋物線,四個控制頂點生成三次曲線,以此類推;線,以此類推;退化形式退化形式 共線的控制頂點生成直線段的共線的控制頂點生成直線段的Bzier曲線;曲線; 一組重合的控制點生成一個點的一組重合的控制點生成一個點的Bzier曲線;曲線;1( )(1)( )( )1,2,., , 0,1,., , (0,1)rr ir iiiiP tt PttPtrninrt 1.3.2 Bzier曲線曲線n Bzier曲線的設計技術曲線的設計技術將第一個和最后一個控制頂點重合,可得到封閉的將第
27、一個和最后一個控制頂點重合,可得到封閉的Bzier曲線;曲線;多個控制點在某位置重合,多個控制點在某位置重合,Bzier曲線會更靠近該位置;曲線會更靠近該位置;使用任何數(shù)目的控制點擬合使用任何數(shù)目的控制點擬合Bzier曲線,復雜曲線可以用幾個低曲線,復雜曲線可以用幾個低次的次的Bzier曲線段拼接曲線段拼接P0P1P2P3P4P5P0P2P1P3P4Q0Q1Q2Q3 1.3.2 Bzier曲線曲線n Bzier曲線的設計技術曲線的設計技術 Bzier曲線段拼接的連續(xù)性問題曲線段拼接的連續(xù)性問題 0階連續(xù)性:只要兩控制多邊形端點連續(xù),:只要兩控制多邊形端點連續(xù), 相鄰相鄰Bzier曲線段之曲線段
28、之間自然達到間自然達到C0和和G0連續(xù);連續(xù); 1階連續(xù)性:回顧連續(xù)性的定義回顧連續(xù)性的定義充要條件充要條件:Pn-1、Pn=Q0、Q1三點三點共線,可達到共線,可達到G1連續(xù);連續(xù);若使得若使得T1=T2,達到,達到C1連續(xù);連續(xù); Pn-3Pn-2Pn-1PnT1T2 1.3.2 Bzier曲線曲線n Bzier曲線的設計技術曲線的設計技術 Bzier曲線段拼接的連續(xù)性問題曲線段拼接的連續(xù)性問題 2階連續(xù)性:在:在1階連續(xù)的前提下,滿足兩個附加條件:拼接點階連續(xù)的前提下,滿足兩個附加條件:拼接點處的密切平面重合;曲率相等處的密切平面重合;曲率相等 ,可,可達到達到C2連續(xù);連續(xù); 1.3.
29、2 Bzier曲線曲線n n次次Bzier曲線的升階曲線的升階n通過增加控制頂點,不改變曲線形狀,實現(xiàn)通過增加控制頂點,不改變曲線形狀,實現(xiàn)對曲線更靈活的控制;對曲線更靈活的控制;(1)1 (1) 110,1,.,1iiiiiPPPnninP0P1P2P3P0(1)=P1(1)P2(1)P3(1)P4(1)=(1)1011344PPP(1)2121122PPP(1)00PP(1)43PP(1)3233144PPP 1.3.2 Bzier曲線曲線n Bzier曲線的升階曲線的升階n新的控制頂點是原來控制多邊形在參數(shù)新的控制頂點是原來控制多邊形在參數(shù)i/(n+1)處的線性插值;處的線性插值;n升階
30、后的新控制多邊形在原來的控制多升階后的新控制多邊形在原來的控制多邊形的凸包內(nèi);邊形的凸包內(nèi);n升階后的控制多邊形更靠近升階后的控制多邊形更靠近Bzier曲線曲線 1.3.2 Bzier曲線曲線n 有理有理Bzier曲線曲線n參照有理多項式,為參照有理多項式,為Bzier曲線方程加入曲線方程加入權因子權因子hi,0( )( )nii niC tPBt,00( )( )/( )nnriii nii niiC tPhBthBt000,1 11,00,11,( )( ).( )( )( ).( )nnnnn nnnnn nh P Bth PBth P Bth Bth Bth Bt 1.3.2 Bzie
31、r曲線曲線n引入權因子可更好地控制曲線的形狀引入權因子可更好地控制曲線的形狀n權因子增大權因子增大 ,曲線逐漸被拉向該控制頂點,曲線逐漸被拉向該控制頂點P0(h0=1)P1(h1=1)P2P3(h3=1)h2=1/2h2=1h2=2 1.3.2 Bzier曲線曲線n Bzier曲線的缺點曲線的缺點控制頂點的數(shù)目控制頂點的數(shù)目n決定了決定了Bzier曲線的階次,曲線的階次,當當n很大時,控制多邊形對曲線的控制將會減很大時,控制多邊形對曲線的控制將會減弱;弱;Bzier曲線不能做局部修改。改變某一控制曲線不能做局部修改。改變某一控制頂點,整條曲線都會改變。這是因為頂點,整條曲線都會改變。這是因為B
32、zier曲曲線的調(diào)和函數(shù)在線的調(diào)和函數(shù)在0 t 1的整個區(qū)間內(nèi)都不為的整個區(qū)間內(nèi)都不為0。1.3.3 B樣條曲線樣條曲線n 已知已知n+1個控制頂點個控制頂點Pi (i=0,1,n),k次次B樣條樣條曲線的表達式為曲線的表達式為,0( )( )nii kiC uPBu調(diào)合函數(shù)控制頂點1,0,111,1,1111 ( )0 ()( )()( )( ) ()iiiii ki kiki kkni kii kitutBuut Butu BuBututtttt 若其他 1.3.3 B樣條曲線樣條曲線n節(jié)點矢量節(jié)點矢量 Knot Vectorn節(jié)點為非減序排列,即節(jié)點為非減序排列,即ti+1 tn當節(jié)點沿
33、參數(shù)參數(shù)軸等距分布,即當節(jié)點沿參數(shù)參數(shù)軸等距分布,即ti+1- ti為常數(shù),則為為常數(shù),則為均均勻勻B樣條曲線樣條曲線;n若若ti+1- ti不為常數(shù),則為不為常數(shù),則為非均勻非均勻B樣條曲線樣條曲線;0121, ,.,ikTt tt 1.3.3 B樣條曲線樣條曲線n均勻均勻B樣條曲線樣條曲線n節(jié)點矢量的定義節(jié)點矢量的定義n例如,由例如,由4個控制頂點的個控制頂點的2次次B樣條曲線的樣條曲線的節(jié)點矢量為節(jié)點矢量為n一條均勻一條均勻B樣條曲線樣條曲線的所有調(diào)和函數(shù)的所有調(diào)和函數(shù)Bi,k(u)形狀都相同形狀都相同 (01)itiink 0,1,2,3,4,5,6,7T 1.0007642531P0
34、P1P2P3B0,2B1,2B2,2B3,2B4,2uPSPE 1.3.3 B樣條曲線樣條曲線n均勻均勻B樣條曲線樣條曲線Uniform B-spline basis functions from degree 1 to 6. As degree increases, the basis functions become smoother and have a larger support, but each basis function still has only local influence over a curve or surface. 1.3.3 B樣條曲線樣條曲線n非均勻非均勻
35、B樣條曲線樣條曲線n節(jié)點矢量可以為節(jié)點矢量可以為 0,1,2,3,3,4 0,2,2,3,3,6 0,0.2 ,0.6 ,0.9 ,1.0n增加調(diào)和函數(shù)形狀的多樣性,更有效地調(diào)整曲線形狀,增加增加調(diào)和函數(shù)形狀的多樣性,更有效地調(diào)整曲線形狀,增加細微的擺動,甚至增加不連續(xù)的局部細微的擺動,甚至增加不連續(xù)的局部1.000231B0,2B1,2B2,2B3,2B4,2 1.3.3 B樣條曲線樣條曲線Cubic B-spline basis functions for two different knot vectors. example B-spline curves defined on thes
36、e bases. 1.3.3 B樣條曲線樣條曲線nB樣條曲線的優(yōu)點樣條曲線的優(yōu)點n曲線次數(shù)獨立于控制點數(shù)目;曲線次數(shù)獨立于控制點數(shù)目;n允許局部修改曲線形狀。允許局部修改曲線形狀。 1.3.3 B樣條曲線樣條曲線nB樣條曲線的性質(zhì)樣條曲線的性質(zhì)n局部性局部性。調(diào)和函數(shù)僅在。調(diào)和函數(shù)僅在ti,ti+k+1區(qū)間內(nèi)有值,使區(qū)間內(nèi)有值,使得得k次次B樣條曲線在修改時僅與相鄰的樣條曲線在修改時僅與相鄰的k+1個控個控制頂點相關制頂點相關n連續(xù)性連續(xù)性。 k次次B樣條曲線在整個參數(shù)樣條曲線在整個參數(shù)u取值取值范圍范圍內(nèi)具有內(nèi)具有Ck-1階連續(xù)。如果在某一節(jié)點處是階連續(xù)。如果在某一節(jié)點處是L重節(jié)重節(jié)點,點,
37、 則具有則具有Ck-L階連續(xù)階連續(xù)1,10 ( )0 ii ki kii ktutBuutut 或 1.3.3 B樣條曲線樣條曲線nB樣條曲線的性質(zhì)樣條曲線的性質(zhì)n變差縮減性。變差縮減性。在相鄰節(jié)點之間的每個樣條曲線在相鄰節(jié)點之間的每個樣條曲線段包含在相鄰的段包含在相鄰的k+1個控制點所形成的凸包內(nèi),個控制點所形成的凸包內(nèi),任意直線與曲線的交點數(shù)不超過與控制多邊形任意直線與曲線的交點數(shù)不超過與控制多邊形的交點數(shù)。的交點數(shù)。n造型的靈活性造型的靈活性??梢詷嬙熘本€段、尖點、切線??梢詷嬙熘本€段、尖點、切線等特殊情況。等特殊情況。n構造直線。對三次。對三次B樣條曲線,設置樣條曲線,設置4個控制頂點
38、個控制頂點Pi, Pi+1, Pi+2, Pi+3在同一直線上,就可以得到一段直線,此時對應的在同一直線上,就可以得到一段直線,此時對應的 ti+3 u ti+4曲線段即為一條直線,且與曲線段即為一條直線,且與Pi Pi+1 Pi+2 Pi+3所在所在的直線重合的直線重合P0P1P2P3P4 P5 1.3.3 B樣條曲線樣條曲線nB樣條曲線的性質(zhì)樣條曲線的性質(zhì)n造型的靈活性造型的靈活性n構造尖點。對三次。對三次B樣條曲線,設置控制頂點樣條曲線,設置控制頂點Pi, Pi+1, Pi+2三三點重合,就可以使曲線過點重合,就可以使曲線過Pi點,形成尖點點,形成尖點P0P1P2P3P4 P5 1.3.
39、3 B樣條曲線樣條曲線nB樣條曲線的性質(zhì)樣條曲線的性質(zhì)n造型的靈活性造型的靈活性n構造切線。為使三次。為使三次B樣條曲線與某一直線樣條曲線與某一直線L相切,設置控相切,設置控制頂點制頂點Pi, Pi+1, Pi+2位于位于L上,并且節(jié)點上,并且節(jié)點ti+3的重節(jié)點數(shù)不超過的重節(jié)點數(shù)不超過2個。個。P0P1P3 P4P2 1.3.4 非均勻有理非均勻有理B 樣條曲線樣條曲線nNon-Uniform Rational B-splineNURBS曲線曲線n非均勻:節(jié)點矢量在參數(shù)軸上的分布不等距非均勻:節(jié)點矢量在參數(shù)軸上的分布不等距n加入控制頂點的權因子,便于更靈活地對曲線進加入控制頂點的權因子,便于
40、更靈活地對曲線進行修改行修改n函數(shù)形式函數(shù)形式 Wi為控制頂點為控制頂點Pi的權因子、的權因子、 ,00( )( )/( )nniii kii kiiC uW PBuW Bu 1.3.4 非均勻有理非均勻有理B 樣條樣條NURBS曲線曲線nNURBS曲線曲線的優(yōu)點的優(yōu)點n對標準的解析形狀(圓錐曲線、二次曲線、回轉(zhuǎn)面對標準的解析形狀(圓錐曲線、二次曲線、回轉(zhuǎn)面等)提供了統(tǒng)一的數(shù)學表示,便于工程數(shù)據(jù)庫的存等)提供了統(tǒng)一的數(shù)學表示,便于工程數(shù)據(jù)庫的存取和應用;取和應用;n可以通過控制頂點和權因子更靈活地改變形狀;可以通過控制頂點和權因子更靈活地改變形狀;n具有透視投影變換和仿射變換的不變性;具有透視
41、投影變換和仿射變換的不變性;n非有理非有理B樣條、有理及非有理樣條、有理及非有理Bzier曲線、曲面都曲線、曲面都是是NURBS的特例;的特例;nNURBS已已被國際標準化組織定義為工業(yè)產(chǎn)品形狀被國際標準化組織定義為工業(yè)產(chǎn)品形狀表示的國際標準方法。表示的國際標準方法。 1.3.4 非均勻有理非均勻有理B 樣條樣條NURBS曲線曲線nNURBS曲線曲線的缺點的缺點n比一般的曲線、曲面定義方法更費存儲空間和處理比一般的曲線、曲面定義方法更費存儲空間和處理時間;時間;n權因子選擇不當會造成形狀畸變;權因子選擇不當會造成形狀畸變;n對拼接、重疊形狀的處理相當麻煩;對拼接、重疊形狀的處理相當麻煩;n如點
42、的映射這類算法在如點的映射這類算法在NURBS情況下會不太穩(wěn)定。情況下會不太穩(wěn)定。1.3.5 等距線等距線n 理論公式理論公式 d為等距線的偏離量,為等距線的偏離量,N(t)為曲線在某一點的法矢為曲線在某一點的法矢量量;n 折線集等距線:用滿足精度的一系列折線段去逼:用滿足精度的一系列折線段去逼近原曲線,然后再求該折線集的等距線集近原曲線,然后再求該折線集的等距線集,獲得,獲得曲線的等距線。曲線的等距線。0( )( )( )C tC td N t 1.4 OpenGL中參數(shù)曲線的繪制中參數(shù)曲線的繪制n1.4.1 繪制繪制Bzier曲線曲線nOpenGL一維求值器一維求值器nOpenGL使用求值
43、器構造曲線曲面;使用求值器構造曲線曲面;n用一維求值器繪制用一維求值器繪制Bzier曲線曲線P(u),步驟為,步驟為 首先用首先用glMap1()命令定義一維求值器;命令定義一維求值器;Void glMap1fd(GLenum target, TYPE u1, TYPE u2, Glint stride, GLint order, const TYPE *points);target 定義求值器所獲得的控制點類型; u1, u2 確定Bzier曲線參數(shù)的取值范圍;stride 表示開始控制頂點到下一個控制頂點之間的數(shù)值個數(shù);order 表示曲線的階數(shù)(次數(shù)1); *points 指定控制頂點數(shù)
44、據(jù)。.1.4.1 繪制繪制Bzier曲線曲線glMap1()函數(shù)中函數(shù)中控制點類型控制點類型target的可選值的可選值參 數(shù)含 義GL_MAP1_VERTEXT_3x, y, z 頂點坐標頂點坐標GL_MAP1_VERTEXT_4x, y, z , w頂點坐標頂點坐標GL_MAP1_INDEX顏色索引顏色索引GL_MAP1_COLORR,G,B,AGL_MAP1_NORMAL法向量坐標法向量坐標GL_MAP1_TEXTURE_COORD_1s 一維一維紋理坐標紋理坐標GL_MAP1_TEXTURE_COORD_2s, t 二維二維紋理坐標紋理坐標GL_MAP1_TEXTURE_COORD_3
45、s, t, r 三維三維紋理坐標紋理坐標GL_MAP1_TEXTURE_COORD_4s, t, r, q 齊次齊次紋理坐標紋理坐標1.4.1 繪制繪制Bzier曲線曲線glMap1()命令的調(diào)用實例命令的調(diào)用實例glMap1f ( GL_MAP_VERTEXT_3, 0.0, 1.0, 3 , 4, &ctrlpoints);求取曲線上的頂點位置坐標參數(shù)變化范圍01兩頂點之間間隔3個數(shù)值4階曲線定義控制頂點的數(shù)組1.4.1 繪制繪制Bzier曲線曲線n用一維求值器繪制用一維求值器繪制Bzier曲線曲線P(u)步驟步驟 調(diào)用調(diào)用glEnable()激活求值器;激活求值器;例如:例如:g
46、lEnable(GL_MAP_VERTEXT_3); /*激活頂點求值器激活頂點求值器*/glEnable(GL_MAP1_TEXTURE_COORD_3); /*激活紋理坐標求值器激活紋理坐標求值器*/ 調(diào)用調(diào)用glEvalCoord1()計算曲線上點的坐標。計算曲線上點的坐標。Void glEvalCoord1fdv(TYPE u);函數(shù)功能:根據(jù)參數(shù):根據(jù)參數(shù)u的取值,計算一維求值器中指定的控制點數(shù)的取值,計算一維求值器中指定的控制點數(shù) 值。值。1.4.1 繪制繪制Bzier曲線曲線nBzier曲線繪制實例曲線繪制實例n要求 用用8個控制頂點繪制一條個控制頂點繪制一條7次次Bzier曲線
47、;曲線; 打開打開GL_MAP_VERTEXT_3 和和 GL_MAP_COLOR_4 求值器,繪制曲線并生成求值器,繪制曲線并生成各點的顏色值。各點的顏色值。#include #include #include /*定義定義8個控制頂點坐標個控制頂點坐標*/GLfloat ctrlpoints83=-4.0,0.0,0.0,-2.0,3.0,0.0,0.0,4.0,0.0,2.0,3.0,0.0,4.0,0.0,0.0,6.0,-1.0,0.0,7.0,-1.0,0.0,8.0,1.0,0.0;/*定義定義8個顏色控制頂點個顏色控制頂點*/GLfloat ctrlcolor84=1.0,0.0,0.0,1.0,0.0,1.0,0.0,1.0,1.0,0.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0;void init(void)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湘教版地理七年級上冊《第三節(jié) 影響氣候的主要因素》聽課評課記錄2
- 蘇科版數(shù)學七年級上冊《有理數(shù)的減法法則》聽評課記錄2
- 現(xiàn)場管理承包協(xié)議書
- 生活指南版權使用合同(2篇)
- 魯人版道德與法治九年級上冊2.2 做大蛋糕 分好蛋糕 聽課評課記錄
- 聽評課一年級記錄怎么寫
- 吉林省八年級數(shù)學下冊17函數(shù)及其圖象17.4反比例函數(shù)17.4.1反比例函數(shù)聽評課記錄新版華東師大版
- 蘇科版九年級數(shù)學聽評課記錄:第52講 用待定系數(shù)法求二次函數(shù)的解析式
- 五年級數(shù)學上冊聽評課記錄
- 滬科版數(shù)學七年級下冊10.2《平行線的判定》聽評課記錄3
- 小學六年級數(shù)學上冊《簡便計算》練習題(310題-附答案)
- 2024年河南省《輔警招聘考試必刷500題》考試題庫及答案【全優(yōu)】
- -情景交際-中考英語復習考點
- 安全隱患報告和舉報獎勵制度
- 地理標志培訓課件
- 2023行政主管年終工作報告五篇
- 2024年中國養(yǎng)老產(chǎn)業(yè)商學研究報告-銀發(fā)經(jīng)濟專題
- 公園衛(wèi)生保潔考核表
- 培訓如何上好一堂課
- 高教版2023年中職教科書《語文》(基礎模塊)下冊教案全冊
- 2024醫(yī)療銷售年度計劃
評論
0/150
提交評論