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

下載本文檔

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

文檔簡介

會計學(xué)1Bezier曲線計算機(jī)圖形學(xué)Bézier曲線和曲面法國工程師Bézier使用逼近樣條為雷諾汽車公司設(shè)計汽車外形而開發(fā)。數(shù)學(xué)基礎(chǔ)簡單,容易實現(xiàn)

Bézier樣條在各種CAD系統(tǒng)、大多數(shù)圖形系統(tǒng)、相關(guān)繪圖和圖形軟件包中有廣泛應(yīng)用第1頁/共42頁BézierCurves定義控制點:

pk=(xk,yk,zk),k=0,1,···n.構(gòu)造P(u)Bk,n(u)是Bernstein(伯恩斯坦)函數(shù):C(n,k)是二項式系數(shù):Prescribed:00=1,0!=1.Bernsteinbasis第2頁/共42頁4Vectorequation第3頁/共42頁2023/1/175兩點創(chuàng)建1次Bezier曲線n=1,

矩陣方程:P0

到P1直線。第4頁/共42頁2023/1/176TheTwoFirstDegreeBlendingFunctions1次Bernstein函數(shù)第5頁/共42頁2023/1/177Whenn=2, Thematrixformis:Thisisaparabola(拋物線)startingatP0andendingatP1.And:3點創(chuàng)建2次Bezier曲線第6頁/共42頁2023/1/178BlendingFunctions

andtheCurveExamples2次Bernstein函數(shù)第7頁/共42頁2023/1/1793次

BézierCurvesFourpointscanspecifyingacubicBéziercurve.P(t)=B0,3P0+B1,3P1+B2,3

P2+B3,3P3 =(1-t)3P0+3t(1-t)2P1+3t2(1-t)P2+t3P3 (0t

1)第8頁/共42頁2023/1/17103次BézierCurves矩陣表達(dá)式第9頁/共42頁2023/1/1711 Thatis:代數(shù)形式第10頁/共42頁Asarule,aBézierCurveisapolynomialofdegreeonelessthanthenumberofcontrolpointsused:

twopointsgenerateastraightline,

threepointsgenerateaparabola,

fourpointsacubiccurve,andsoforth.UkUn-k第11頁/共42頁2023/1/1713已知Bezier曲線特征多邊形的頂點P0(1,2)、P1(3,4)、P2(5,6)、P3(7,8),求Bezier曲線的參數(shù)方程P(t)(矩陣表示);計算t=0.5,曲線上點P(0.5)

重要試從Bèzier曲線的定義式寫出三次Bèzier曲線的矩陣表示。(本題15分,只寫出結(jié)果者得2分)UkUn-k第12頁/共42頁2023/1/1714Examplesprog8BezierCurve.exe第13頁/共42頁2023/1/1715BézierCurves的性質(zhì)EndpointInterpolation(端點插值)AffineInvariance(仿射不變性)Convex-hullProperty(凸包性)LinearPrecision(線性)Variation-diminishingProperty(變差縮減性)DerivativesofBézierCurves(導(dǎo)數(shù))掌握第14頁/共42頁2023/1/1716端點插值EndpointInterpolationABézierCurvedosenotgenerallypassthrough,orinterpolate,allofthecontrolpoints,butitalwaysinterpolatesthefirstandthelastpoint.第15頁/共42頁2023/1/1717P0P3P2P1Q0Q3Q1Q2AffineInvariance(仿射不變性)第16頁/共42頁2023/1/1718Convex-hullProperty(凸包性)ABézierCurveneverwandersoutsideitsconvexhull.第17頁/共42頁2023/1/1719LinearPrecision(線性)Ifallofthecontrolpointsareplacedinastraightline,theirconvexhullcollapses(壓縮)toaline.TheBézierCurveistherefore“trapped”insidethishullandsomustalsobeastraightline.第18頁/共42頁2023/1/1720Variation-diminishingProperty

(變差縮減性)第19頁/共42頁2023/1/1721DerivativesofBézierCurves導(dǎo)數(shù)ThefirstderivativeofaBézierCurveisSothevelocity(thefirstderivative)isanotherBézierCurve,builtonanewsetofcontrolvectorspk.第20頁/共42頁2023/1/1722Whent=0,t=1,onecanevaluatethederivativesatthestartingpointandtheendingpoint:Thus,theslopeatthebeginningofthecurveisalongthelinejoiningthefirsttwocontrolpoints,andtheslopeattheendisalongthelinejoiningthelasttwoendpoints.第21頁/共42頁2023/1/1723因此,曲線在起點處的切線方向是第一第二控制點的連線,長度是其n倍;曲線在終點處的切線方向是倒數(shù)第二第一控制點的連線,長度是其n倍。端點的二階導(dǎo)數(shù)取決于與其最靠近的三個控制點,與其他點無關(guān)。事實上,r階導(dǎo)矢只與(r+1)個相鄰點有關(guān),與更遠(yuǎn)點無關(guān)。

第22頁/共42頁2023/1/1724使用BézierCurves設(shè)計

ClosedBéziercurve(封閉)Topassclosertoagivenpoint(靠近曲線)PiecinglowerdegreeBéziercurvesections

(Bezier曲線拼接)第23頁/共42頁2023/1/1725ClosedBéziercurve第24頁/共42頁2023/1/1726ToPassClosertoGivenPoint第25頁/共42頁2023/1/1727Bezier曲線拼接G0:Pn=Q0;(ai=

Pi-

Pi-1

bj=

Qj-

Qj-1)G1:b1=an

,

thatis,

Pn-1,

Pn=Q0

,

Q1arecollinear.C1:b1=an,thatis,

Pn=Q0andQ1=Pn+(Pn-Pn-1).C2:basedonC1,andQ2=Pn-2+4(Pn-Pn-1).第26頁/共42頁2023/1/1728Chapter8

Three-DimensionalObjectRepresentations貝塞爾曲面(BézierSurfaces)第27頁/共42頁2023/1/1729張量積Bezier曲面定義 Withpj,kspecifyingthelocationofthe(m+1)by(n+1)controlpoints.第28頁/共42頁2023/1/1730MatrixForm第29頁/共42頁2023/1/1731ExampleBézierSurfaceconstructedform=2,n=2.prog8Beziersurf.exe第30頁/共42頁2023/1/1732BézierSurfacesHavetheSame PropertiesasBézierCurves.DoublecubicBéziersurfacepatchanditsboundary10P20P01P11P21P31P02P22P12P32P13P23P00)0,0(PP=30)0,1(PP=03)1,0(PP=33)1,1(PP=)0,(uP)1,(uP),0(vP),1(vP第31頁/共42頁2023/1/1733用OpenGL畫Bezier曲線Bezier曲線由以下函數(shù)定義:

voidglMap1{fd}(GLenumtarget,TYPEu1,TYPEu2,GLintstride,GLintorder,constTYPE*points);GLenumtarget,枚舉型變量,指定控制點維數(shù):GL_MAP1_VERTEX_3、GL_MAP1_VERTEX_4。TYPEu1、TYPEu2,指定參數(shù)的最小、最大值。constTYPE*points,指向控制點數(shù)組的指針。GLintstride,指出在數(shù)組constTYPE*points中,從一個控制點到下一個控制點之間的數(shù)據(jù)個數(shù)(位移量)。GLintorder,控制點個數(shù),即Bezier曲線的階數(shù),多項式次數(shù)+1。第32頁/共42頁2023/1/1734定義了Bezier曲線后,進(jìn)行計算之前,需用target的值為參數(shù)調(diào)用glEnable()激活(glDisable()取消)。用以下函數(shù)計算曲線上的點:

voidglEvalCoord1{fd}{v}(TYPEu);TYPEu的取值在TYPEu1、TYPEu2之內(nèi)。該函數(shù)會將參數(shù)規(guī)范化。例子:源代碼運行第33頁/共42頁2023/1/1735定義并激活貝塞爾曲線后,亦可用定義網(wǎng)格(Grid,均勻間隔坐標(biāo))的方式在參數(shù)區(qū)間均勻取值計算曲線上點的坐標(biāo)。定義一維網(wǎng)格:

voidglMapGrid1{fd}(GLintn,TYPEu1,TYPEu2);GLintn,參數(shù)的均勻分割數(shù)。一維求值并繪制曲線:

voidglEvalMesh1(GLenummode,GLintp1,GLintp2);GLenummode,取值GL_POINT或GL_LINE,畫點或劃線。GLintp1、GLintp2,參數(shù)的對應(yīng)范圍。第34頁/共42頁2023/1/1736用OpenGL畫Bezier曲面Bezier曲面由以下函數(shù)定義:

voidglMap2{fd}(GLenumtarget,TYPEu1,TYPEu2,GLintustride,GLintuorder,TYPEv1,TYPEv2,GLintvstride,GLintvorder,TYPE*points);GLenumtarget,枚舉型變量,指定控制點維數(shù):GL_MAP1_VERTEX_3、GL_MAP1_VERTEX_4。TYPEu1、TYPEu2,TYPEv1、TYPEv2指定參數(shù)u和v的最小、最大值。constTYPE*points,指向控制點數(shù)組的指針。GLintustride、GLintvstride,分別指出在數(shù)組constTYPE*points中,從一個控制點到下一個控制點之間的數(shù)據(jù)個數(shù)(位移量)。GLintuorder、GLintvorder,分別指出兩個方向的控制點個數(shù),即其各自的階數(shù),多項式次數(shù)+1。第35頁/共42頁2023/1/1737定義了Bezier曲面后,進(jìn)行計算之前,需用target的值為參數(shù)調(diào)用glEnable()激活(glDisable()取消)。用以下函數(shù)計算曲面上的點:

voidglEvalCoord2{fd}{v}(TYPEu,TYPEv);TYPEu、TYPEv的取值分別在TYPEu1、TYPEu2和TYPEv1,TYPEv2之內(nèi)。該函數(shù)會將參數(shù)規(guī)范化。例子:源代碼運行第36頁/共42頁2023/1/1738定義

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論