計算機圖形學(xué)第8講曲線曲面_第1頁
計算機圖形學(xué)第8講曲線曲面_第2頁
計算機圖形學(xué)第8講曲線曲面_第3頁
計算機圖形學(xué)第8講曲線曲面_第4頁
計算機圖形學(xué)第8講曲線曲面_第5頁
已閱讀5頁,還剩115頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1曲線與曲面曲線與曲面(Curves and Surfaces)2本章目標l曲線的表示方法曲線的表示方法l重點掌握重點掌握Bezier曲線曲線l學(xué)會使用學(xué)會使用OpenGL的函數(shù)的函數(shù)為什么要研究曲線與曲面l計算機圖形學(xué)兩大基本任務(wù)計算機圖形學(xué)兩大基本任務(wù)n建模建模n繪制繪制3為什么要研究曲線與曲面l建立復(fù)雜模型建立復(fù)雜模型n一個球面一個球面n復(fù)雜曲面復(fù)雜曲面u電話電話u人臉人臉u賽車賽車4Rzyx222為什么要研究曲線與曲面5為什么要研究曲線與曲面l使用曲面曲線的好處使用曲面曲線的好處n控制物體形狀控制物體形狀u建模建模u修改修改n保證光滑與連續(xù)性保證光滑與連續(xù)性n可導(dǎo)性可導(dǎo)性n易于繪制易于

2、繪制67主要內(nèi)容l參數(shù)曲線基礎(chǔ)參數(shù)曲線基礎(chǔ)l參數(shù)多項式曲線參數(shù)多項式曲線l三次三次Hermite曲線曲線lBezier曲線曲線lBezier曲面曲面lOpenGL相關(guān)函數(shù)相關(guān)函數(shù)8參數(shù)曲線基礎(chǔ)參數(shù)曲線基礎(chǔ)l曲線的表示形式曲線的表示形式n非參數(shù)表示和參數(shù)表示非參數(shù)表示和參數(shù)表示l非參數(shù)表示非參數(shù)表示n顯式表示顯式表示u坐標間建立函數(shù)關(guān)系坐標間建立函數(shù)關(guān)系u不能建立多值曲線不能建立多值曲線n隱式表示隱式表示u看做是兩曲面的交看做是兩曲面的交u坐標變量間可以多對坐標變量間可以多對1 )()(xgzxfy 0922zyx 0),(0),(zyxgzyxf9曲線的表示形式曲線的表示形式l參數(shù)表示參數(shù)表示

3、n參數(shù)方程參數(shù)方程n參數(shù)表示的矢量表示參數(shù)表示的矢量表示ut 規(guī)范到規(guī)范到0,1:u矢量表示:矢量表示:P=x, y, zT , P(t)=x(t), y(t), z(t)T ut 可以表示時間、角度等量可以表示時間、角度等量,)()()(battzztyytxx abatt 1 , 0)( ttPP10曲線的表示形式曲線的表示形式l如:直線方程的矢量表示如:直線方程的矢量表示l如:圓如:圓1 , 0)()(1 , 0)(010010010 ttyyyytxxxxttPPPPP0P1P(t)01t010 xxxxtt 反映了反映了P 在在 P0P1 間的相對位置間的相對位置010 xxxxt

4、360, 0sincos0 RyRx反映了半徑與反映了半徑與 X 軸的夾角軸的夾角P()11曲線的表示形式曲線的表示形式l參數(shù)表示的優(yōu)點參數(shù)表示的優(yōu)點n容易確定曲線邊界。由參數(shù)區(qū)間確定容易確定曲線邊界。由參數(shù)區(qū)間確定n表示形式不變性。不依賴于坐標系的選取表示形式不變性。不依賴于坐標系的選取n表示能力強。利于控制點來控制曲線形狀,如后面將要學(xué)表示能力強。利于控制點來控制曲線形狀,如后面將要學(xué)到的到的Bezier曲線曲線12切矢量、法矢量、曲率和繞率切矢量、法矢量、曲率和繞率l位置矢量位置矢量n矢量表示:矢量表示: PP(t), 0t1n參數(shù)方程參數(shù)方程n導(dǎo)數(shù)導(dǎo)數(shù)u正則點:正則點:k1時,對時,對

5、tt0,P(t0)0u正則曲線:所有點是正則點正則曲線:所有點是正則點 1 , 0,)()()(ttzztyytxx,)(,)(,)()()()(10ddddddddTkttzttyttxttPtPkkkkkkkkk13切矢量、法矢量、曲率和繞率切矢量、法矢量、曲率和繞率l切矢量(切矢量(tangent vector)n參數(shù)參數(shù) t 遞增一個單位時三個坐標變量遞增一個單位時三個坐標變量 的變化量的變化量l弧長弧長n對正則曲線,定義弧長:對正則曲線,定義弧長: )( )( )( )()( tztytxdttdPtP222011d)(dd)(dd)(dd)(ddd)(dlim)(lim)(ttzt

6、tyttxttPtttPPPnLtstniiinn其中14切矢量、法矢量、曲率和繞率切矢量、法矢量、曲率和繞率n弧長參數(shù)表示弧長參數(shù)表示)( )( )( )(0d)(ddd)(d0sPPtPPtssttssttPdtdstttPst可以用弧長參數(shù)表示為曲線存在反函數(shù)的單調(diào)函數(shù)是關(guān)于參數(shù)15切矢量、法矢量、曲率切矢量、法矢量、曲率n單位切矢量單位切矢量u記記T(s)為為PP(s)上任意一點的切矢量。上任意一點的切矢量。則則T(s)為單位切矢量為單位切矢量1)(dd/d)(d/)()(d)(ddd)(d0tPtttPdsdtdttsdPdssdPttPdtdstttPstdssdPsT)( 16切

7、矢量、法矢量、曲率和繞率切矢量、法矢量、曲率和繞率l法矢量法矢量對等式兩邊求導(dǎo)后有對等式兩邊求導(dǎo)后有n 與與 垂直垂直n主法矢量主法矢量(normal)n副法矢量副法矢量(binormal) 1| )(|dddddd)(2sTtPtPsttPsPsT| )(|)()(sssTTN 02sTsT sT sT| )(|)( )(sssNNBl法矢量(法矢量(normal vector)l密切平面密切平面( osculating plane)nT、N構(gòu)成構(gòu)成l切平面切平面(tangent plane)nB、T構(gòu)成構(gòu)成l法平面法平面(normal plane)nN、B構(gòu)成構(gòu)成切矢量、法矢量、曲率和繞率

8、切矢量、法矢量、曲率和繞率17| )()(|)()(ttttPPPPB )(| )()(|)()()(ttttttPPPPPPN 切平面切平面切矢量、法矢量、曲率和繞率切矢量、法矢量、曲率和繞率1819切矢量、法矢量、曲率和繞率切矢量、法矢量、曲率和繞率l曲率曲率(curvature)n曲線的彎曲程度曲線的彎曲程度n曲率半徑曲率半徑ssks lim )(0)(1 )(sksp P(s)點處的曲率點處的曲率切矢量、法矢量、曲率和繞率切矢量、法矢量、曲率和繞率l繞率繞率(Torsion)對兩邊求導(dǎo)對兩邊求導(dǎo)對兩邊求導(dǎo)對兩邊求導(dǎo)B與與N平行平行 度量曲線的扭曲程度度量曲線的扭曲程度 20 0ssss

9、TBTB 0ss TB 0ss TB 02sB 02ssBBB與T垂直B與B垂直 ssNBsss lim )(0切矢量、法矢量、曲率和繞率切矢量、法矢量、曲率和繞率l兩邊求導(dǎo)后兩邊求導(dǎo)后FrenetSerret 公式公式21 sssTBN sssBTN22參數(shù)連續(xù)性與幾何連續(xù)性參數(shù)連續(xù)性與幾何連續(xù)性l參數(shù)連續(xù)性參數(shù)連續(xù)性n傳統(tǒng)的、嚴格的連續(xù)性傳統(tǒng)的、嚴格的連續(xù)性n曲線曲線 P = P(t)在在 tt0 處處n階參數(shù)連續(xù),如果它在階參數(shù)連續(xù),如果它在 t0 處處n階左右導(dǎo)數(shù)存在,并且滿足階左右導(dǎo)數(shù)存在,并且滿足n記為記為Cn nkdttPddttPdttkkttkk, 1 , 0,)()(00

10、23參數(shù)連續(xù)性與幾何連續(xù)性參數(shù)連續(xù)性與幾何連續(xù)性l幾何連續(xù)性幾何連續(xù)性n直觀的、易于交互控制的連續(xù)性直觀的、易于交互控制的連續(xù)性n0階幾何連續(xù)階幾何連續(xù)u稱曲線稱曲線P=P( t ) 在在 t=t0 處處0階幾何連續(xù),如果它在階幾何連續(xù),如果它在 t0 處位置處位置連續(xù),即連續(xù),即u記為:記為:G0n1階幾何連續(xù)階幾何連續(xù)u稱曲線稱曲線 P=P(t) 在在 t = t0 處處1階幾何連續(xù),如果它在階幾何連續(xù),如果它在 t0處處 GC0 ,并且切矢量方向連續(xù),即,并且切矢量方向連續(xù),即u記為:記為: G1)( )(00 tPtP任一常數(shù)任一常數(shù)為為0)( )( 00 tPtP參數(shù)曲面l曲面參數(shù)表

11、示曲面參數(shù)表示l曲面上的點曲面上的點l曲面上的切向量曲面上的切向量l曲面上的法向量曲面上的法向量l角點角點24 1 , 0 1 , 0, ,),(),(),(vuvuzzvuyyvuxx),(00vuP),(00vuuP),(00vuvP),(),(),(000000vuvuvuvuPPN)0 , 1 (),1 , 1 (),1 , 0(),0 , 0(PPPP25參數(shù)連續(xù)性與幾何連續(xù)性參數(shù)連續(xù)性與幾何連續(xù)性l幾何連續(xù)性(續(xù))幾何連續(xù)性(續(xù))n2階幾何連續(xù)階幾何連續(xù)*u稱曲線稱曲線 P=P(t) 在在 tt0 處處2階幾何連續(xù),如果它在階幾何連續(xù),如果它在 t0 處處l(1) G1l(2)副法

12、矢量方向連續(xù))副法矢量方向連續(xù)l(3)曲率連續(xù))曲率連續(xù))()(00 tBtB)()(00 tktk26曲線與曲面曲線與曲面l參數(shù)曲線基礎(chǔ)參數(shù)曲線基礎(chǔ)l參數(shù)多項式曲線參數(shù)多項式曲線l三次三次Hermite曲線曲線lBezier曲線曲線lBezier曲面曲面lOpenGL相關(guān)函數(shù)相關(guān)函數(shù)27參數(shù)多項式曲線參數(shù)多項式曲線l為什么采用參數(shù)多項式曲線?為什么采用參數(shù)多項式曲線?n表示最簡單表示最簡單n理論和應(yīng)用最成熟理論和應(yīng)用最成熟ln次多項式曲線次多項式曲線,)()()(10101010ttztzztztytyytytxtxxtxnnnnnn28參數(shù)多項式曲線參數(shù)多項式曲線l矩陣表示矩陣表示n矢量表

13、示矢量表示n加權(quán)和形式加權(quán)和形式n缺點缺點uPi 沒有明顯的幾何意義沒有明顯的幾何意義uPi 與曲線的關(guān)系不明確,導(dǎo)致曲線的形狀控制困難與曲線的關(guān)系不明確,導(dǎo)致曲線的形狀控制困難CTttzzzyyyxxxtztytxtPnnnn 1)()()()(1010101 , 0)(10 tPttPPCTtPnnFerguson curve29參數(shù)多項式曲線參數(shù)多項式曲線l參數(shù)多項式曲線的矩陣表示參數(shù)多項式曲線的矩陣表示n矩陣表示矩陣表示u矩陣分解矩陣分解u幾何矩陣幾何矩陣 G = G0 G1 Gnl控制頂點控制頂點 Giu基矩陣基矩陣M:MT 確定了一組基函數(shù)確定了一組基函數(shù)TGGC)(tP 1 ,

14、0)(0ttBtiniiGCTP tBi30參數(shù)多項式曲線參數(shù)多項式曲線l參數(shù)多項式曲線的矩陣表示(續(xù))參數(shù)多項式曲線的矩陣表示(續(xù))n例子:直線段的矩陣表示例子:直線段的矩陣表示GMT 1 , 011011)1 ()(1010ttPPtPtPtPP0P1控制頂點控制頂點: : P0;P0P1基函數(shù)基函數(shù): : 1t ;ttMT31參數(shù)多項式曲面參數(shù)多項式曲面l矩陣表示矩陣表示n矢量表示矢量表示n形式形式CVUT10101100010011)()()()(nmnmmnnmvvGGGGGGGGGuutztytxtP 1 , 01 , 0,)(00TvuvuPtPminjjiijCVU32參數(shù)多項

15、式曲線參數(shù)多項式曲線l參數(shù)多項式曲面的矩陣表示參數(shù)多項式曲面的矩陣表示n矩陣表示矩陣表示u矩陣分解矩陣分解u幾何矩陣幾何矩陣 l控制頂點控制頂點 GijuMUU、MVV 分別確定了兩組基函數(shù)分別確定了兩組基函數(shù)mnmmnnGGGGGGGGG101011000100VVUVUtPGUGCTTT)( 1 , 01 , 0, ,),(00,TvuvBuBGvuPminjnjmiijCVU vBuBnjmi, 33參數(shù)多項式曲線參數(shù)多項式曲線l生成方法生成方法n流程:流程:P(t)P0P1t + + Pn t n 1 , 0 t參數(shù)離散參數(shù)離散 nit0計算型值點計算型值點折線折線 niP0連接型值點

16、連接型值點計算一個型值點的運算量計算一個型值點的運算量 乘法:乘法:n(n+1)/2次次 加法:加法:n次次34參數(shù)多項式曲線參數(shù)多項式曲線l參數(shù)多項式曲線的生成(續(xù))參數(shù)多項式曲線的生成(續(xù))nHorner迭代算法迭代算法)()(0, 2, 1,)()()(01tRtPnnkPttRtRPtRkkknn 結(jié)果:結(jié)果:令令n次乘法和次乘法和n次加法次加法35曲線與曲面曲線與曲面l參數(shù)曲線基礎(chǔ)參數(shù)曲線基礎(chǔ)l參數(shù)多項式曲線參數(shù)多項式曲線l三次三次Hermite曲線曲線lBezier曲線曲線lBezier曲面曲面lOpenGL相關(guān)函數(shù)相關(guān)函數(shù)369.3 三次三次Hermite曲線曲線l三次三次Her

17、mite曲線的定義曲線的定義n給定給定4個矢量個矢量P0, P1, R0, R1 ,稱滿足下列條件的三次多,稱滿足下列條件的三次多項式曲線項式曲線 P(t) 為為Hermite 曲線曲線1010)1( ,)0( )1(,)0(RPRPPPPP P0P1R0R137Hermite曲線曲線l矩陣表示矩陣表示1 , 0)( tTMGtP 1T10T01T10T03210| 0010| 1111|0001|RMGTMGRMGTMGPMGTMGPMGTMGHHtHHHHtHHHHtHHHHtHH CTttzzzyyyxxxtztytxtPnnnn 1)()()()(101010n次多項式參數(shù)方程次多項式

18、參數(shù)方程389.3 三次三次Hermite曲線曲線n合并合并n解(不唯一)解(不唯一)HHHGRRPPMG 取取30102010111000111010 1100121023002301301020101110001130102010111000111HHHHMGMG39三次三次Hermite曲線曲線l基矩陣與基函數(shù)(調(diào)和函數(shù))基矩陣與基函數(shù)(調(diào)和函數(shù)) )()()()(223231111001210230023011010323232332tHtHtGtGttttttttttttTMHP(t)=P0G0(t)+P1G1(t)+R0H0(t)+R1H1(t)基函數(shù)為權(quán):基函數(shù)為權(quán): G0(t)

19、;G1(t);H0(t);H1(t)Hermite曲線上的點為曲線上的點為P0、P1、R0、R1的的加權(quán)和加權(quán)和40三次三次Hermite曲線曲線l形狀控制形狀控制n改變端點位置矢量改變端點位置矢量P0,P1n調(diào)節(jié)切矢量調(diào)節(jié)切矢量R0,R1的方向的方向n改變切矢量改變切矢量R0,R1的長度的長度41三次三次Hermite曲線曲線l幾何變換幾何變換n仿射不變性:對曲線的幾何變換等價于對仿射不變性:對曲線的幾何變換等價于對P0,P1,R0,R1做幾何變換做幾何變換l曲線生成曲線生成n取型值點:取型值點:tin對每個對每個ti,計算,計算 P(ti)42曲線與曲面曲線與曲面l參數(shù)曲線基礎(chǔ)參數(shù)曲線基礎(chǔ)

20、l參數(shù)多項式曲線參數(shù)多項式曲線l三次三次Hermite曲線曲線lBezier曲線曲線lBezier曲面曲面lOpenGL相關(guān)函數(shù)相關(guān)函數(shù)lPierre tienne Bzier (1910-1999)n法國工程師法國工程師n機械工程學(xué)位機械工程學(xué)位n電子工程學(xué)位電子工程學(xué)位n雷諾公司雷諾公司n并非發(fā)明并非發(fā)明Bzier曲線曲線uPaul de Casteljau4344Bezier曲線曲線lBezier曲線曲線n幾何造型的基本工具幾何造型的基本工具n目前在很多圖形軟件中廣泛應(yīng)用(如目前在很多圖形軟件中廣泛應(yīng)用(如AutoCAD)Bezier曲線曲線lBezier曲線定義曲線定義 :位置矢量(控

21、制點:位置矢量(控制點, control point) n:次數(shù)次數(shù) :控制多邊形:控制多邊形lBezier基函數(shù)(基函數(shù)(Bernstein多項式多項式)45)!( ! 1 , 0)1 ()(,ininCtttCtBininiinni其中 1 , 0, )(0,ttBPtPniniiiPnPPP1046Bezier曲線曲線lBezier基函數(shù)的基本性質(zhì)基函數(shù)的基本性質(zhì)n正性正性n權(quán)性權(quán)性., 1 , 0, 1)(0),1 , 0(; 1, 1 , 0, 0)(, 1)(, 1;, 2 , 1, 0)(, 1)(, 0.1 , 0, 0)(, 0,nitBtnitBtBtnitBtBtttBn

22、ininnninni1)1 ()1 ()(.1 , 0, 1)(00,0,nininiinninininittttCtBttB由二項式定理:lBezier基函數(shù)的基本性質(zhì)(續(xù))基函數(shù)的基本性質(zhì)(續(xù))n對稱性對稱性n降階公式降階公式n升階公式升階公式47Bezier基函數(shù)基函數(shù)., 1 , 0,1 , 0),()()1 ()(1, 11,nitttBtBttBninini., 1 , 0,1 , 0),(11)(11)(1,1, 1,nittBnintBnitBninini., 1 , 0,1 , 0),1 ()(,nittBtBninni48lBezier基函數(shù)的基本性質(zhì)(續(xù))基函數(shù)的基本性質(zhì)

23、(續(xù))n導(dǎo)數(shù)導(dǎo)數(shù)n積分積分n最大值最大值u在在Bi, n(t)在在 t i / n處取得最大值處取得最大值Bezier基函數(shù)基函數(shù)., 1),()()(1,1, 1,nitBtBntBninini., 1 , 0,11d)(10,ninttBniBezier基函數(shù)基函數(shù)l線性無關(guān)性線性無關(guān)性nn次多項式空間的一組線性無關(guān)函數(shù)次多項式空間的一組線性無關(guān)函數(shù)n任何任何n次多項式可表示為它們的線性組合次多項式可表示為它們的線性組合4950Bezier曲線定義及性質(zhì)曲線定義及性質(zhì)lBezier曲線的基本性質(zhì)曲線的基本性質(zhì)(1) 端點性質(zhì)端點性質(zhì)(2)端點切矢量)端點切矢量導(dǎo)數(shù)曲線導(dǎo)數(shù)曲線 1 , 0)

24、()()( 101,1ttBPPntPniniiin次次Bezier曲線曲線 P(t) 的導(dǎo)數(shù)曲線的導(dǎo)數(shù)曲線 P(t) 是是 n1次次Bezier曲線曲線)(| )( )(| )( 11010 nnttPPntPPPntPnttPtPPtP 100|)(|)(二階導(dǎo)數(shù)曲線二階導(dǎo)數(shù)曲線51Bezier曲線定義及性質(zhì)曲線定義及性質(zhì)(3)仿射不變性)仿射不變性u幾何性質(zhì)不隨坐標變換而變換(形狀、曲率等)幾何性質(zhì)不隨坐標變換而變換(形狀、曲率等)u仿射變換不改變曲線的表示形式仿射變換不改變曲線的表示形式)()()()(,00,tBPAtBPAtPAnininiinii對曲線的變換只要作用于控制頂點即可

25、對曲線的變換只要作用于控制頂點即可52Bezier曲線定義及性質(zhì)曲線定義及性質(zhì)(4)凸包性)凸包性u凸包:凸包: Pi的凸包是指包含這些點的最小凸集的凸包是指包含這些點的最小凸集uBezier曲線位于其控制頂點的凸包之內(nèi)曲線位于其控制頂點的凸包之內(nèi)53Bezier曲線定義及性質(zhì)曲線定義及性質(zhì)例:一些例:一些Bezier曲線曲線Bezier曲線54Bezier曲線定義及性質(zhì)曲線定義及性質(zhì)(5)平面曲線的保型性)平面曲線的保型性u保凸性:如果多邊形是凸的,那么保凸性:如果多邊形是凸的,那么Bezier曲線也是凸的曲線也是凸的u變差縮減性:平面內(nèi)任一直線與變差縮減性:平面內(nèi)任一直線與Bezier曲線

26、的交點個數(shù)不多曲線的交點個數(shù)不多于該直線與控制多邊形的交點個數(shù)。說明于該直線與控制多邊形的交點個數(shù)。說明Bezier曲線比控制曲線比控制多邊形的波動小,更光順多邊形的波動小,更光順55Bezier曲線定義及性質(zhì)曲線定義及性質(zhì)(6)擬局部性)擬局部性 局部性指移動控一個制頂點時,只影響曲線的局部。局部性指移動控一個制頂點時,只影響曲線的局部。 移動控制頂點移動控制頂點Pi 時,對應(yīng)參數(shù)時,對應(yīng)參數(shù) ti /n 的曲線上的點變動最大,的曲線上的點變動最大,遠離遠離 i/n 的曲線上的點變動越來越小的曲線上的點變動越來越小56Bezier曲線曲線l一次一次Bezier曲線曲線nn = 1時,有兩個控

27、制點時,有兩個控制點 P0 和和 P1 ,Bezier多項式是一次多項式是一次多項式:多項式:0,1 t)1 ()()(10101 ,kkktPPttBPtp一次一次Bezier曲線是連接起點曲線是連接起點P0和終點和終點P1的直線段的直線段57Bezier曲線曲線l二次二次Bezier曲線曲線nn=2時,有時,有3個控制點個控制點P0、P1和和P2,Bezier多項式是二次多多項式是二次多項式:項式:201201022102202,)2()(2 0,1 t )1 (2)1 ( )()(tPPPtPPPPtPttPttBPtpkkk22101001022121)(ttPPPtPlp(t) =

28、(1 -t )2 P0 + 2 (1-t) t P1 + t2 P2 , 0 t 1p(0) = 1 P0 + 0 P1 + 0 P2p(1/3) = (4/9) P0 + (4/9) P1 + (1/9) P2p(1/2) = (1/4) P0 + (1/2) P1 + (1/4) P2p(2/3) = (1/9) P0 + (4/9) P1 + (4/9) P2p(1) = 0 P0 + 0 P1 + 1 P258b2,0b2,20u011b2,1P0P1P2u = 0u = 1/2u = 159Bezier曲線曲線l三次三次Bezier曲線的矩陣表示曲線的矩陣表示n矩陣表示矩陣表示3,3

29、3,23, 13,03210303,)(1 ,0)(BBBBPPPPtPtBPtPiiiTMGtttGtttttttttGtCttCttCtCG BEZBEZ32BEZ3323232BEZ333223213303BEZ1100033003630133133363331)1()1()1(60Bezier曲線的遞推算法曲線的遞推算法lHorner算法算法n只適宜低次只適宜低次Bezier曲線(如三次曲線(如三次Bezier曲線)曲線)lde Casteljau算法(數(shù)值更穩(wěn)定)算法(數(shù)值更穩(wěn)定) 1 , 0, )()(0,ttBPtPniniinririiriPtPrninrtPPtrPP0111

30、)(,1 ,0;,2,1,)1(,0, Bezier曲線的遞推算法曲線的遞推算法lPaul de Casteljau (1930- )n法國物理學(xué)家、數(shù)學(xué)家法國物理學(xué)家、數(shù)學(xué)家n在雪鐵龍汽車工作期間在雪鐵龍汽車工作期間提出一種曲線算法提出一種曲線算法n國際實體建模協(xié)會國際實體建模協(xié)會(Solid Modeling Association)Breizer獎,獎,20126162Bezier曲線的遞推算法曲線的遞推算法lBezier曲線的離散生成曲線的離散生成算法(續(xù))算法(續(xù))1ttr0 r1 r2 r3 nririiriPtPrninrtPPtrPP0111)(, 1 , 0;, 2 , 1,

31、)1(, 0, 的點處的點處上分割比為上分割比為位于線段位于線段)(:ttPPPririri1111Bezier曲線的遞推算法曲線的遞推算法l一次一次Bezier曲線曲線63Bezier曲線的遞推算法曲線的遞推算法l二次二次Bezier曲線曲線64Bezier曲線的遞推算法曲線的遞推算法l三次三次Bezier曲線曲線65Bezier曲線的遞推算法曲線的遞推算法l四次四次Bezier曲線曲線6667Bezier曲線的拼接曲線的拼接lBezier曲線的拼接及其連續(xù)性曲線的拼接及其連續(xù)性n可以用任意數(shù)目的控制點逼近出一條可以用任意數(shù)目的控制點逼近出一條Bezier 曲線,但是高曲線,但是高次次Bez

32、ier曲線計算比較復(fù)雜,曲線計算比較復(fù)雜,n為構(gòu)造復(fù)雜曲線,工程上往往使用分段三次為構(gòu)造復(fù)雜曲線,工程上往往使用分段三次Bezier樣條曲樣條曲線來描述,即將一段段的三次線來描述,即將一段段的三次Bezier曲線首尾相連拼接起曲線首尾相連拼接起來來n由于由于Bezier曲線通過端點,較容易獲得曲線通過端點,較容易獲得0階連續(xù)性階連續(xù)性n關(guān)鍵問題是如何保證連接處具有關(guān)鍵問題是如何保證連接處具有G1和和G2連續(xù)性連續(xù)性l如何保證連接處具有如何保證連接處具有G1和和G2連續(xù)性連續(xù)性? (1)在兩段三次在兩段三次Bezier曲線間得到曲線間得到GC1連續(xù)性連續(xù)性68Bezier曲線的拼接曲線的拼接為實

33、現(xiàn)為實現(xiàn)G1連續(xù),則有:連續(xù),則有:)(3)0()(3)1(012231QQpPPp )1()0(12pp )(2301PPQQ 亦即:亦即:69Bezier曲線的拼接曲線的拼接)2()2()1()0(32121012PPPQQQpp (2)在兩段三次在兩段三次Bezier曲線間得到曲線間得到G2連續(xù)性:連續(xù)性:Bezier曲線的升階與降階曲線的升階與降階l升階(升階(degree elevation)n為了能更加靈活地控制曲線,需要增加控制點個數(shù)為了能更加靈活地控制曲線,需要增加控制點個數(shù)n增加控制點時,為了保持原有曲線,需要改變原控制點增加控制點時,為了保持原有曲線,需要改變原控制點n如何

34、確定新的控制點如何確定新的控制點n已知已知求求 使得使得70 1 , 0, )()(0,ttBPtPninii1, 0,*niPi 1 , 0, )()(101,*ttBPtPniniiBezier曲線的升階與降階曲線的升階與降階l對于對于由基函數(shù)的升階公式由基函數(shù)的升階公式有有71., 1 , 0,1 , 0),(11)(11)(1,1, 1,nittBnintBnitBninini 1 , 0, )()(0,ttBPtPninii ., 1 , 0,1 , 0,111)(01,1,nittBPniPnintBniniiini1*111iiiPniPninPBezier曲線的升階與降階曲線的

35、升階與降階l新的控制點從舊控制點分段線性插值得到的新的控制點從舊控制點分段線性插值得到的n參數(shù)為參數(shù)為l升階后的新的特征多邊形在原始特征多邊形的凸包內(nèi)升階后的新的特征多邊形在原始特征多邊形的凸包內(nèi)l特征多邊形更靠近曲線特征多邊形更靠近曲線721niBezier曲線的升階與降階曲線的升階與降階l降階降階n升階的逆過程升階的逆過程推出推出731*111iiiPniPninP74曲線與曲面曲線與曲面l參數(shù)曲線基礎(chǔ)參數(shù)曲線基礎(chǔ)l參數(shù)多項式曲線參數(shù)多項式曲線l三次三次Hermite曲線曲線lBezier曲線曲線lBezier曲面曲面75Bezier曲面曲面lBezier曲面曲面n利用兩組正交的利用兩組正

36、交的 Bezier 曲線逼近由控制點網(wǎng)格描述的曲曲線逼近由控制點網(wǎng)格描述的曲面面n其中其中 pj, k 是給定的是給定的 (m+1)(n+1) 個控制點的位置個控制點的位置nBezier 曲面與曲面與 Bezier 曲線有相同的性質(zhì)曲線有相同的性質(zhì) 1 ,01 ,0, ),()(),(00,vuuBvBPvuPminjnjmiji76Bezier曲面曲面u(1,1)lBezier曲面性質(zhì)曲面性質(zhì)n權(quán)性權(quán)性n曲面的恰好通過曲面的恰好通過4個角控制點個角控制點n曲面上點曲面上點的切平面正好為三角形的切平面正好為三角形 所在平面所在平面Bezier曲面曲面77. 1,0 allfor , 1)()(

37、00,vuvBuBminjjnim) 1 , 0(),1 , 1 (),0 , 1 (),0 , 0(PPPPBezier曲面曲面lde Casteljau算法算法l遞推遞推或或78 1 ,01 ,0, ),()(),(00,vuuBvBPvuPminjnjmijiBezier曲面曲面79Bezier曲面曲面8081Bezier曲面曲面l實例實例Bezier曲面曲面8283曲線與曲面曲線與曲面l參數(shù)曲線基礎(chǔ)參數(shù)曲線基礎(chǔ)l參數(shù)多項式曲線參數(shù)多項式曲線l三次三次Hermite曲線曲線lBezier曲線曲線lBezier曲面曲面lB樣條曲面與曲線樣條曲面與曲線B樣條曲線與曲面lBezier曲線缺點:

38、曲線缺點:n曲線或曲面不能作局部修改曲線或曲面不能作局部修改n曲面的拼接比較復(fù)雜曲面的拼接比較復(fù)雜l1972 年,年,Gordon、Riesenfeld等人提出了等人提出了B樣條樣條方方法,在保留法,在保留Bezier方法全部優(yōu)點的同時,克服了方法全部優(yōu)點的同時,克服了Bezier方法的弱點。方法的弱點。84 1 , 0, )(0,ttBPtPniniiB樣條曲線與曲面l什么是樣條函數(shù)?什么是樣條函數(shù)?n“在數(shù)學(xué)學(xué)科數(shù)值分析中,樣條是一類分段(片)光滑在數(shù)學(xué)學(xué)科數(shù)值分析中,樣條是一類分段(片)光滑、并且在各段交接處也有一定光滑性的函數(shù)。在中國大、并且在各段交接處也有一定光滑性的函數(shù)。在中國大陸

39、,早期曾經(jīng)被稱做陸,早期曾經(jīng)被稱做“齒函數(shù)齒函數(shù)”。后來因為工程學(xué)術(shù)語。后來因為工程學(xué)術(shù)語中中“放樣放樣”一詞而得名。一詞而得名?!眑為什么要使用樣條函數(shù)?為什么要使用樣條函數(shù)?n龍格現(xiàn)象:高次多項式龍格現(xiàn)象:高次多項式n樣條函數(shù):樣條函數(shù):u低次低次u光滑光滑85B樣條曲線lB樣條(樣條(B-Spline)n一類樣條函數(shù)一類樣條函數(shù)nB表示表示Basisn保留保留Brezier優(yōu)點優(yōu)點n克服克服Brezier缺點缺點86B樣條曲線l定義定義l :控制頂點控制頂點 :k階(階(k-1次)次)B樣條基函數(shù)樣條基函數(shù)由由k個個k-1次分段多項式組成次分段多項式組成分段多項式相連的分段多項式相連的t

40、值稱為值稱為節(jié)點節(jié)點 曲線上曲線上ti序列構(gòu)成的向量稱為序列構(gòu)成的向量稱為節(jié)點向量節(jié)點向量 87nikiitNPtP0,)()(iP ), 0( ,nitNki88lB樣條基函數(shù)樣條基函數(shù)nde Boor-Cox迭代公式迭代公式n結(jié)點向量結(jié)點向量8990t5t4t2t3t1t0t6t7N0,1(t)N3,4(t)N0,4(t)N0,3(t)N0,2(t)N1,1(t)N2,2(t)N1,2(t)91 , otherwise 0 if 1)( , otherwise 0 if 1)(211 , 1101 , 0ttttNttttN otherwise 0 if if )()()()( 21122

41、100102, 01 , 11221 , 00102, 0tttttttttttttttNtNtttttNtttttNt2t1t0N0,1(t)N0,2(t)N1,1(t)92 otherwise 0 if if if )()()()(3223313321121133122020100100203 , 02, 11332, 00203 , 0ttttttttttttttttttttttttttttttttttttttttttNtNtttttNtttttNt2t3t1t0N0,3(t)N0,2(t)N1,2(t)93t5t4t2t3t1t0t6t7N0,1(t)N3,4(t)N0,4(t)N0,

42、3(t)N0,2(t)N1,1(t)N2,2(t)N1,2(t)三次節(jié)點節(jié)點94 46361161otherwise0 if 3 if2 if2 if 1)(233432121104, 0tttvttuttttuttttvttttvttttutNl性質(zhì)性質(zhì)n非負性非負性n權(quán)性權(quán)性95l分類分類n均勻均勻B樣條曲線樣條曲線u節(jié)點均勻分布節(jié)點均勻分布n準均勻準均勻B樣條曲線樣條曲線u兩端節(jié)點具有重復(fù)度兩端節(jié)點具有重復(fù)度kn非均勻非均勻B樣條曲線樣條曲線u節(jié)點按非遞減順序任意分布節(jié)點按非遞減順序任意分布96Cttii1l局部性局部性 nP(t)在區(qū)間在區(qū)間(ti,ti+1)頂多與頂多與k個控制頂點個

43、控制頂點Pj(j=i-k+1,.,i)有關(guān)有關(guān),與其它控制頂點無關(guān);,與其它控制頂點無關(guān);n移動該曲線的第移動該曲線的第i個控制頂點個控制頂點Pi至多影響到定義在區(qū)間至多影響到定義在區(qū)間(ti,ti+k)上那部分曲線的形狀,對曲線的其余部分不發(fā)生上那部分曲線的形狀,對曲線的其余部分不發(fā)生影響影響97l連續(xù)性連續(xù)性nP(t)在在r( k r n )重節(jié)點處連續(xù)階不低于)重節(jié)點處連續(xù)階不低于k-1-rn整條曲線連續(xù)階不低于整條曲線連續(xù)階不低于k-1-rmax,其中,其中rmax表示位于區(qū)間表示位于區(qū)間(tk-1,tn+1)內(nèi)的節(jié)點的最大重數(shù)內(nèi)的節(jié)點的最大重數(shù)l凸包性凸包性nP(t)在區(qū)間在區(qū)間(t

44、i,ti+1, k -1 r n上部分位于上部分位于k個點個點Pi-k+1 ,Pi-k+1的的凸包內(nèi)凸包內(nèi)n整個曲線位于各凸包的并集內(nèi)整個曲線位于各凸包的并集內(nèi)l分段參數(shù)多項式分段參數(shù)多項式nP(t)在每一區(qū)間在每一區(qū)間 (ti,ti+1), k -1 r n都是次數(shù)不高于都是次數(shù)不高于k -1的分段的分段多項式多項式nP(t)是參數(shù)是參數(shù)t的的k -1次次分段多項式分段多項式98l導(dǎo)數(shù)公式導(dǎo)數(shù)公式l變差縮減性變差縮減性n平面內(nèi)任一直線與曲線的交點個數(shù)不多于該直線與控制平面內(nèi)任一直線與曲線的交點個數(shù)不多于該直線與控制多邊形的交點個數(shù)多邊形的交點個數(shù)l幾何不變性幾何不變性nB樣條曲線的形狀和位置

45、與坐標系的選擇無關(guān)樣條曲線的形狀和位置與坐標系的選擇無關(guān)l仿射不變性仿射不變性99l直線保持性直線保持性n控制多邊形退化為一條直線時,曲線也退化為一條直線控制多邊形退化為一條直線時,曲線也退化為一條直線l造型的靈活性造型的靈活性n用用B樣條曲線可以構(gòu)造直線段、尖點、切線等特殊情況樣條曲線可以構(gòu)造直線段、尖點、切線等特殊情況100l目的:更加快速地計算目的:更加快速地計算B樣條曲線樣條曲線l輸入:控制頂點輸入:控制頂點 ,節(jié)點序列,節(jié)點序列til先將先將t限定在區(qū)間限定在區(qū)間ti,ti+1)上上101iPl遞推公式遞推公式102103l割角割角104節(jié)點插入算法l通過插入節(jié)點可以進一步改善通過插入節(jié)點可以進一步改善B樣條曲線的局部性樣條曲線的局部性質(zhì),提高質(zhì),提高B樣條曲線的形狀控制的靈活性,可以實樣條曲線的形狀控制的靈活性,可以實現(xiàn)對曲線的分割等現(xiàn)對曲線的分割等l插入節(jié)點插入節(jié)點=插入控制頂點插入控制頂點給定一條給定一條k階階(k-1次次)B樣條曲線樣條曲線及其節(jié)點向量及其節(jié)點向量n插入節(jié)點插入節(jié)點 得到:得到:n決定新的決定新的B樣條基于是樣條基于是105nikiitNPtP0,)()(,10ntttT,111nkiittttt求1jP節(jié)點插入算法l求新控制頂點求新控制頂點r為節(jié)點為節(jié)點t的重復(fù)度的重復(fù)度l當(dāng)當(dāng)r=0時,它僅涉及節(jié)點序列時

溫馨提示

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

評論

0/150

提交評論