版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第六章曲線和曲面三維圖形的基本問題1.在二維屏幕上如何顯示三維物體?顯示器屏幕、繪圖紙等是二維的顯示對象是三維的解決方法----投影三維顯示設(shè)備正在研制中2.如何表示三維物體?二維形體的表示----直線段,折線,曲線段,多邊形區(qū)域三維形體的表示----空間直線段、折線、曲線段、多邊形、曲面片表示形體的兩種模型表示形體的兩種模型數(shù)據(jù)模型完全以數(shù)據(jù)描述例如用以8個頂點表示的立方體以中心點和半徑表示的球以數(shù)據(jù)文件的形式存在包括----特征表示、空間分割表示、推移表示、邊界表示、構(gòu)造實體幾何表示等進一步分為線框模型表面模型實體模型線框模型線框模型:將形體表示成一組輪廓線的集合。一般地,畫出了形體的棱線與輪廓線就能唯一地表示出來。如圖,八個頂點可以定義一個長方體,但還不足以識別它,如果定義了棱線,則無論如何放置長方體都能唯一地表示了。對于多面體由于其輪廓線和棱線通常是一致的,所以多面體的線模型更便于識別,且簡單。e12v4v8s3e2e4e6e8e2e7e11e10e9e3e1v2v3v1v7v5v6s2s6s5s1s4線框模型優(yōu)點:簡單、處理速度快缺點:1、對于非平面多面體,如圓柱、球等形體,其輪廓線隨觀察方向的改變而改變,無法用一組固定的輪廓線來表示它們。2、線框模型與形體之間不存在一一對應(yīng)關(guān)系:它僅僅通過給定的輪廓線約束所表示形體的邊界面,而在輪廓線之間的地方,形體的表面可以任意變化。3、沒有形體的表面信息,不適于真實感顯示,由此導(dǎo)致表示的形體可能產(chǎn)生二義性。表面模型表面模型將形體表示成一組表面的集合如果把線框模型中的棱線包圍的部分定義為面,所形成的模型便是表面模型。其數(shù)據(jù)結(jié)構(gòu)是在線模型的基礎(chǔ)上附加一些指針,有序地連接棱線。下圖中表面編號表示第幾個表面,表面特征表面是平面還是曲面。形體與其表面一一對應(yīng),適合于真實感顯示4頂點個數(shù)1起始指針0表面特征5表面編接指針屬性頂點號14232341表面模型缺點:不能有效的用來表示實體原因:1、表面模型中的所有面未必形成一個封閉的邊界2、各個面的側(cè)向沒有明確定義,即不知道實體位于面的哪一側(cè)實體模型實體模型用來描述實體,主要用于CAD/CAM包含了描述一個實體所需的較多信息,如幾何信息、拓?fù)湫畔ⅲ梢灾С侄喾N運算,如歐拉運算等。表示形體的兩種模型過程模型以一個過程和相應(yīng)的控制參數(shù)描述例如用一些控制參數(shù)和一個生成規(guī)則描述的植物以一個數(shù)據(jù)文件和一段代碼的形式存在包括----粒子系統(tǒng)、L系統(tǒng)、迭代函數(shù)系統(tǒng)等三維對象兩類表示方法數(shù)據(jù)模型邊界表示Boundaryrepresentations空間區(qū)分Space-partitioningrepresentations過程模型L系統(tǒng)、分形…..RepresentationMethods邊界表示使用一組平面或曲面逼近表示3D對象(描述輪廓)曲面將物體分為內(nèi)外兩部分。典型例子:多邊形平面、樣條曲面RepresentationMethodsRepresentationMethods空間分區(qū)表示用來描述物體內(nèi)部性質(zhì)將包含一物體的空間區(qū)域劃分成一組較小的、非重疊的、鄰接的實體。如:八叉樹表示RepresentationMethods3DRepresentationmethods多邊形表面PolygonSurfaces二次曲面樣條表示:Bezier曲線立體構(gòu)造Solid-Modeling八叉樹Octrees分形FractalL系統(tǒng)…邊界表示方法(第6章)空間區(qū)分表示方法不行還有我們!第7章6.0多邊形表面三維圖形中運用邊界表示的最普遍方式是使用一組包圍物體內(nèi)部的表面多邊形。很多圖形系統(tǒng)以一組表面多邊形來存儲物體的描述。由于所有表面以線性方程加以描述,因此會簡化并加速物體的表面繪制和顯示。某些情況下,多邊形表示是惟一可用的,但很多圖形包也允許以其它方式對物體加以描述,如樣條曲面,它在轉(zhuǎn)換到多邊形表示后加以處理6.0多邊形表面多邊形表數(shù)據(jù)表分為兩組進行組織幾何表:頂點坐標(biāo)和用來標(biāo)識多邊形表面空間方向的參數(shù)點表、邊表、面表屬性表:指明物體透明度及表面反射度的參數(shù)和紋理特征多邊形表面頂點表序號點坐標(biāo)1x1,y1,z12x2,y2,z23x3,y3,z34x4,y4,z45x5,y5,z5邊表序號頂點號1v1,v22v2,v33v3,v14v3,v45v4,v56v5,v1多邊形面表序號邊序號1E1,E2,E32E3,E4,E5,E6E1E2E4E5S1v2v1v3v4v5E3E6S2PolygonSurfaces多邊形網(wǎng)格圖形系統(tǒng)一般使用多邊形網(wǎng)格對3D物體進行建模6.1曲線和曲面(第六章內(nèi)容)曲線曲面的生成方法給定一組數(shù)學(xué)函數(shù)給定的一組數(shù)據(jù)點一旦給定函數(shù),圖形包將指定曲線方程投影到顯示平面上,且沿著投影函數(shù)路徑繪制像素位置。由函數(shù)式描述而生成的顯示曲面的例子有二次曲面和超二次曲面
可以為簡單的3D對象提供精確的描述6.2.1節(jié)球面三葉玫瑰線、圓柱螺線、圓錐螺線球面、橢球面、環(huán)面等6.1曲線和曲面二次曲面和超二次曲面不能表達(dá)復(fù)雜的曲線和曲面。例如飛機或汽車的流線表面…..使用樣條表示6.1曲線和曲面本章內(nèi)容曲線曲面基礎(chǔ)知識曲線和曲面的表示(1)插值和逼近樣條(2)Hermite樣條曲線(3)Bezier曲線曲面(4)B樣條曲線曲面
(5)
有理樣條曲線曲面(6)曲線曲面的轉(zhuǎn)換和計算6.1曲線和曲面表示方法曲線曲面的表示要求1.唯一性;2.幾何不變性;3.易于定界;4.統(tǒng)一性5.易于實現(xiàn)光滑連接;6.幾何直觀曲線曲面表示方法顯式表示:y=f(x)隱式表示:f(x,y)=0參數(shù)表示:P(t)=[x(t),y(t),z(t)]顯式或隱式表示存在下述問題:(1)與坐標(biāo)軸相關(guān)的,不便于坐標(biāo)變換;(2)無法解決斜率為無窮大的情況;(3)對于空間復(fù)雜曲線曲面很難表示(4)不便于計算和編程參數(shù)表示:曲線上任一點的坐標(biāo)均表示成給定參數(shù)的函數(shù)。假定用t表示參數(shù),平面曲線上任一點P可表示為:
空間曲線上任一三維點P可表示為:參數(shù)表示例子:直線圓參數(shù)表示的優(yōu)點:(1)滿足幾何不變性的要求;(2)有更大的自由度來控制曲線曲面的形狀;(3)便于坐標(biāo)變換;(4)便于處理斜率為無限大的問題,不會因此中斷計算;(5)代數(shù)、幾何相關(guān)和無關(guān)的變量是完全分離的,而且對變量個數(shù)不限,便于向高維空間擴展。(6)t∈[0,1],直接定義了邊界。便于曲線和曲面的分段、分片描述。(7)易于用矢量和矩陣表示,從而簡化了計算。參數(shù)曲線的代數(shù)形式和幾何形式一條三次參數(shù)曲線的代數(shù)形式:矢量形式:給定P(0),P(1),以及P’(0),P’(1)解四個方程,求得參數(shù)令參數(shù)曲線的幾何形式矩陣形式表示參數(shù)曲線:P=TA其中P=FBP=TMB表示一條參數(shù)曲線6.2位置矢量、切矢量、法矢量、曲率和撓率曲線上任一點的位置矢量可表示為:P(t)=[x(t),y(t),z(t)];切向量(切矢量)選擇弧長s作為參數(shù),則是單位切矢量。根據(jù)弧長微分公式有:于是有,即為單位矢量設(shè)曲線的參數(shù)方程是P=P(s),其上任一點的單位切矢量為T(s),稱矢量方向上的單位矢量N(s)為曲線在s處的主法矢量,稱過P(s)以N(s)為方向的直線為主法線。
T(s)為單位矢量,即,故得到:即主法矢量N(s)與切矢量T(s)垂直。
法矢量與平行的法矢量稱為曲線在該點的主法矢量N矢量積是第三個單位矢量,它垂直于T和N。把平行于矢量B的法矢稱為曲線的副法矢量我們可以推導(dǎo)出:T(切矢量)、N(主法矢量)和B(副法矢量)構(gòu)成了曲線上的活動坐標(biāo)架。N、B構(gòu)成的平面稱為法平面,N、T構(gòu)成的平面稱為密切平面,B、T構(gòu)成的平面稱為從切平面。密切面從切面法平面TBN主法線曲線的法矢量
曲率和撓率即稱為曲率,其幾何意義是曲線的單位切矢量對弧長的轉(zhuǎn)動率。曲率k的倒數(shù)稱為曲率半徑。撓率的絕對值等于副法線方向(或密切平面)對于弧長的轉(zhuǎn)動率..對于一般參數(shù)t,我們可以推導(dǎo)出曲率和撓率的計算公式如下:)(ssTD+)(sTTDO曲率和撓率(a)(b)1N1B1T0N0B0T0B1BqDqD本章內(nèi)容曲線曲面基礎(chǔ)知識曲線和曲面的表示(1)插值和逼近樣條
(2)Hermite樣條曲線(3)Bezier曲線曲面(4)B樣條曲線曲面
(5)
有理樣條曲線曲面(6)曲線曲面的轉(zhuǎn)換和計算樣條的歷史很早的繪圖員利用“ducks”和有柔性的木條(樣條)來繪制曲線木質(zhì)的樣條具有二階連續(xù)并且通過所有的控制點ADuck(weight)Duckstraceoutcurve6.3插值和逼近樣條樣條:通過一組指定點集而生成平滑曲線的柔性帶。樣條曲線在計算機圖形學(xué)中的含義由多項式曲線段連接而成的曲線在每段的邊界處滿足特定的連續(xù)性條件樣條曲面使用兩組正交樣條曲線進行描述樣條樣條在圖形學(xué)中的應(yīng)用設(shè)計曲線、曲面汽車車身設(shè)計、飛機和航天飛機表面的設(shè)計、船體設(shè)計以及家庭應(yīng)用。曲線的產(chǎn)生給定一組離散的坐標(biāo)點,將數(shù)據(jù)集擬合成指定的曲線函數(shù)根據(jù)曲線函數(shù)得到曲線的圖形曲線的類型插值樣條曲線:選取的多項式使得曲線通過每個控制點逼近樣條曲線:選取的多項式不一定使曲線通過每個控制點給定一組有序的數(shù)據(jù)點Pi,i=0,1,…,n,構(gòu)造一條曲線順序通過這些數(shù)據(jù)點,稱為對這些數(shù)據(jù)點進行插值,所構(gòu)造的曲線稱為插值曲線。線性插值:假設(shè)給定函數(shù)f(x)在兩個不同點x1和x2的值,用一個線形函數(shù):y=ax+b,近似代替,稱為的線性插值函數(shù)。拋物線插值:已知在三個互異點的函數(shù)值為,要求構(gòu)造一個函數(shù)使拋物線在結(jié)點處與在處的值相等。插值xyo1y2y)(xfy=)(xyj=1x2xxyo1y2y)(xfy=)(xyj=1x2x3x3y(a)(b)線性插值和拋物插值逼近:構(gòu)造一條曲線使之在某種意義下最接近給定的數(shù)據(jù)點(但未必通過這些點),所構(gòu)造的曲線稱為逼近曲線。在計算數(shù)學(xué)中,逼近通常指用一些性質(zhì)較好的函數(shù)近似表示一些性質(zhì)不好的函數(shù)。曲線的逼近逼近求給定型值點之間曲線上的點稱為曲線的插值。將連接有一定次序控制點的直線序列稱為控制多邊形或特征多邊形。曲線的逼近凸殼凸殼的定義Convexhull包含一組控制點的凸多邊形邊界凸殼的作用提供了曲線或曲面與包圍控制點的區(qū)域之間的偏差的測量以凸殼為界的樣條保證了多項式沿控制點的平滑前進凸殼光順(Firing)指曲線的拐點不能太多。對平面曲線而言,相對光順的條件是:a.具有二階幾何連續(xù)性(G2);b.不存在多余拐點和奇異點;c.曲率變化較小。光順假定參數(shù)曲線段pi以參數(shù)形式進行描述:參數(shù)連續(xù)性幾何連續(xù)性參數(shù)連續(xù)性與幾何連續(xù)性1.參數(shù)連續(xù)性0階參數(shù)連續(xù)性記作C0連續(xù)性,是指曲線的幾何位置連接,即1階參數(shù)連續(xù)性記作C1連續(xù)性,指代表兩個相鄰曲線段的方程在相交點處有相同的一階導(dǎo)數(shù):2階參數(shù)連續(xù)性,記作C2連續(xù)性,指兩個相鄰曲線段的方程在相交點處具有相同的一階和二階導(dǎo)數(shù)。
2.幾何連續(xù)性0階幾何連續(xù)性,記作G0連續(xù)性,與0階參數(shù)連續(xù)性的定義相同,滿足:1階幾何連續(xù)性,記作G1連續(xù)性,指一階導(dǎo)數(shù)在相鄰段的交點處成比例;2階幾何連續(xù)性,記作G2連續(xù)性,指相鄰曲線段在交點處其一階和二階導(dǎo)數(shù)均成比例。參數(shù)連續(xù)性條件兩個相鄰曲線段在相交處的參數(shù)導(dǎo)數(shù)相等零階連續(xù)(C0連續(xù)):簡單地表示曲線連接一階連續(xù)(C1連續(xù)):說明代表兩個相鄰曲線的方程在相交點處有相同的一階導(dǎo)數(shù)(切線)二階連續(xù)(C2連續(xù)):兩個曲線段在交點處有相同的一階和二階導(dǎo)數(shù),交點處的切向量變化率相等參數(shù)連續(xù)性條件曲線分段構(gòu)造時參數(shù)連續(xù)性條件零階連續(xù)一階連續(xù)二階連續(xù)F(u)f(u)F(1)=f(0)F'(1)=f'(0)F''(1)=f''(0)幾何連續(xù)性條件兩個相鄰曲線段在相交處的參數(shù)導(dǎo)數(shù)成比例零階連續(xù)(G0連續(xù)):與0階參數(shù)連續(xù)性相同,即兩個曲線必在公共點處有相同的坐標(biāo)一階連續(xù)(G1連續(xù)):表示一階導(dǎo)數(shù)在兩個相鄰曲線的交點處成比例二階連續(xù)(G2連續(xù)):表示兩個曲線段在相交處的一階和二階導(dǎo)數(shù)均成比例幾何連續(xù)性條件插值樣條曲線三次樣條插值自然三次樣條插值Hermite樣條插值Cardinal樣條插值Kochanek_Bartels樣條插值逼近樣條曲線Bezier曲線B_樣條曲線本章內(nèi)容曲線和曲面表示的基礎(chǔ)知識曲線和曲面的表示(1)插值和逼近樣條(2)Hermite樣條曲線(3)Bezier曲線曲面(4)B樣條曲線曲面
(5)
有理樣條曲線曲面(6)曲線曲面的轉(zhuǎn)換和計算6.4.1樣條描述n次樣條參數(shù)多項式曲線的矩陣:6.4Himerte樣條 基矩陣 基函數(shù)(blengingfunction),或稱混合函數(shù)。6.4.2三次樣條給定n+1個點,可得到通過每個點的分段三次多項式曲線:6.4.3自然三次樣條定義:給定n+1個型值點,現(xiàn)通過這些點列構(gòu)造一條自然三次參數(shù)樣條曲線,要求在所有曲線段的公共連接處均具有位置、一階和二階導(dǎo)數(shù)的連續(xù)性,即自然三次樣條具有C2連續(xù)性。還需要兩個附加條件才能解出方程組.
特點:1.只適用于型值點分布比較均勻的場合2.不能“局部控制”6.4.4三次Hermite樣條定義:假定型值點Pk和Pk+1之間的曲線段為p(t),t∈[0,1],給定矢量Pk、Pk+1、Rk和Rk+1,則滿足下列條件的三次參數(shù)曲線為三次Hermite樣條曲線:
推導(dǎo):幾何形式對三次參數(shù)曲線,若用其端點位矢P(0)、P(1)和切矢P¢(0)、P¢(1)描述。將P(0)、P(1)、P¢(0)和P¢(1)簡記為P0、P1、P¢0和P¢1,代入得
Mh是Hermite矩陣。Gh是Hermite幾何矢量。三次Hermite樣條曲線的方程為:
通常將T?Mk稱為Hermite基函數(shù)(或混合函數(shù),調(diào)和函數(shù)):
H(t)t10.20.40.60.80.20.40.60.81`-0.2H0(t)H1(t)H2(t)H3(t)Hermite基函數(shù)特點分析:1.可以局部調(diào)整,因為每個曲線段僅依賴于端點約束。2.Hermite曲線具有幾何不變性本章內(nèi)容曲線和曲面表示的基礎(chǔ)知識曲線和曲面的表示(1)插值和逼近樣條(2)Hermite樣條曲線(3)Bezier曲線曲面(4)B樣條曲線曲面
(5)
有理樣條曲線曲面(6)曲線曲面的轉(zhuǎn)換和計算6.5Bezier曲線6.5.1Bezier曲線的定義Bezier曲線的例子定義:其中,Pi構(gòu)成該Bezier曲線的特征多邊形Bernstein基函數(shù)具有如下形式:注意:當(dāng)k=0,t=0時,tk=1,k!=1。
6.5.2Betnstein基函數(shù)的性質(zhì)(1)正性
(2)端點性質(zhì)
(3)權(quán)性
由二項式定理可知:(4)對稱性
因為
(5)遞推性。
即高一次的Bernstein基函數(shù)可由兩個低一次的Bernstein調(diào)和函數(shù)線性組合而成。因為,(6)導(dǎo)函數(shù)
(7)最大值。在處達(dá)到最大值。(8)升階公式
(9)積分1.一次Bezier曲線(n=1)
2.二次Bezier曲線(n=2)
3.三次Bezier曲線(n=3)
三次Bezier曲線四個Bezier基函數(shù)0tB0,3(t)B3,3(t)B1,3(t)B2,3(t)6.5.3Bezier曲線的性質(zhì)1.端點
2.一階導(dǎo)數(shù)
三次Bezier曲線段在起始點和終止點處的一階導(dǎo)數(shù)為:3.二階導(dǎo)數(shù)
三次Bezier曲線段在起始點和終止點處的二階導(dǎo)數(shù)為:當(dāng)t=0時,當(dāng)t=1時,上式表明:2階導(dǎo)矢只與相鄰的3個頂點有關(guān),事實上,r階導(dǎo)矢只與(r+1)個相鄰點有關(guān),與更遠(yuǎn)點無關(guān)。將、及、代入曲率公式,可以得到Bezier曲線在端點的曲率分別為:(4)對稱性。由控制頂點構(gòu)造出的新Bezier曲線,與原Bezier曲線形狀相同,走向相反。因為:這個性質(zhì)說明Bezier曲線在起點處有什么幾何性質(zhì),在終點處也有相同的性質(zhì)。(5)凸包性由于,且,這一結(jié)果說明當(dāng)t在[0,1]區(qū)間變化時,對某一個t值,P(t)是特征多邊形各頂點的加權(quán)平均,權(quán)因子依次是。在幾何圖形上,意味著Bezier曲線P(t)在中各點是控制點Pi的凸線性組合,即曲線落在Pi構(gòu)成的凸包之中,如下圖所示。Bezier曲線的凸包性凸包(6)幾何不變性。這是指某些幾何特性不隨坐標(biāo)變換而變化的特性。Bezier曲線位置與形狀與其特征多邊形頂點的位置有關(guān),它不依賴坐標(biāo)系的選擇。(7)變差縮減性。若Bezier曲線的特征多邊形是一個平面圖形,則平面內(nèi)任意直線與C(t)的交點個數(shù)不多于該直線與其特征多邊形的交點個數(shù),這一性質(zhì)叫變差縮減性質(zhì)。此性質(zhì)反映了Bezier曲線比其特征多邊形的波動還小,也就是說Bezier曲線比特征多邊形的折線更光順。(8)仿射不變性對于任意的仿射變換A:即在仿射變換下,的形式不變。6.5.4Bezier曲線的生成1.繪圖一段Bezier曲線①利用定義式Bezier曲線的繪制,可以利用其定義式,對參數(shù)t選取足夠多的值,計算曲線上的一些點,然后用折線連接來近似畫出實際的曲線。隨著選取點增多,折線和曲線可以任意接近。假設(shè)給定的四個型值點是P0=(1,1),Pl=(2,3),P2=(4,3),P3=(3,1),則計算結(jié)果見下表。t(1-t)33t(1-t)23t2(1-t)t3P(t)01000(1,1)0.150.6140.3250.05740.0034(1.5058,1.765)0.350.2750.4440.2390.043(2.248,2.376)0.50.1250.3750.3750.125(2.75,2.5)0.650.0430.2390.4440.275(3.122,2.36)0.850.00340.05740.3250.614(3.248,1.75)10001(3,1)②利用曲線性質(zhì)(幾何作圖法和分裂法)a.幾何作圖法(deCasteljau算法)記點Pk,Pk+l,…,Pl可以生成的Bezier曲線為Pk,l(t),0≤t≤1,則成立下面的遞推關(guān)系上式改寫為:
幾何作圖法偽代碼語言實現(xiàn):voidbez_to_points(intn,doubleP[],intnpoints,doublepoints[])
//P為控制點坐標(biāo)
//控制點P的個數(shù)為n+1
//points存儲Bezier曲線上的離散點序列//離散點序列points的個數(shù)為npoints+1
{doublet,delt; delt=1.0/(double)npoints;//將參數(shù)tnpoints等分 t=0.0; for(inti=0;i<=npoints;i++) {
points[i]=decas(n,P,t);
//分別求出npoints+1個離散點points的坐標(biāo) t+=delt; }}doubledecas(intn,doubleP[],doublet){ intm,i; double*R,*Q,P0; R=newdouble[n+1];Q=newdouble[n+1]; for(i=0;i<=n;i++) R[i]=P[i];//將控制點坐標(biāo)P保存于R中//n次Bezier曲線在點t的值,可由兩條n-1次Bezier曲線在點t的值通過線性組合而求得。for(m=n;m>0;m--)
{for(i=0;i<=m-1;i++)Q[i]=R[i]+t*(R[i+1]-R[i]);for(i=0;i<=m-1;i++)R[i]=Q[i]; }P0=R[0];deleteR;deleteQ;return(P0);}
設(shè)給出四點的坐標(biāo)是(1,1),(2,3),(4,3),(3,1),求所確定三次Bezier曲線在t=1/3時的值P(1/3),算法的計算過程
Bezier幾何作圖算法計算過程
b.分裂法思想:將原控制點集分為兩個點數(shù)相同的新控制點集,分別對應(yīng)原曲線的前半段和后半段,新控制點集比原控制點集更接近直線,分裂過程繼續(xù)進行,控制點集會迅速向曲線靠近,當(dāng)滿足某個允許的界限時,可依次連接各點的折線來表示曲線
設(shè)控制點序列P0,P1,…,Pn確定的n次Bezier曲線是P(t),用如下遞歸方式計算另一組點集:
如果令Pa(s)和Pb(s)分別是以控制點序列和,確定的Bezier曲線,其中0≤s≤1,那么就有:己知四點P0,P1,P2,P3,確定了一條三次Bezier曲線P(t),可寫出下式,
分裂法中的遞歸計算分裂法的示意圖
驗證Bezier曲線分成前后兩段的正確性,P0的系數(shù)為例,驗證兩端它的系數(shù)是相等的。
設(shè)己知三次Bezier曲線P(t)的控制頂點是P0,P1,P2,P3,在P()處將曲線分為兩段,求出前半段的控制頂點Q0,Ql,Q2,Q3和后半段的控制頂點R0,R1,R2,R3,。有算法如下voidsplit_Bezier(PointP[]){ PointR[4],Q[4]; inti,j; for(i=0;i<=3;i++) R[i]=P[i];
for(i=0;i<=2;i++)
{Q[i]=R[0]; for(j=0;j<=2-i;j++) {R[j].x=(R[j].x+R[j+1].x)/2;//分別對相鄰兩控制點間的線段進行分裂R[j].y=(R[j].y+R[j+1].y)/2;}} Q[3]=R[0];}分裂算法的計算分裂中止的條件:max(d(P1,P0P3),d(P2,P0P3))<εvoidnew_split_Bezier(PointP[]){PointR[4],Q[4]; inti,j; constdoubleepsilon=0.01; if(maxdistance(P)<epsilon)/*maxdistance(P)為求max(d(P1,P0P3),d(P2,P0P3))的函數(shù)*/{MoveTo(P[0].x,P[0].y); LineTo(P[3].x,P[3].y); }else {for(i=0;i<=3;i++)R[i]=P[i]; for(i=0;i<=2;i++) { Q[i]=R[0]; for(j=0;j<=2-i;j++) {R[j].x=(R[j].x+R[j+1].x)/2; R[j].y=(R[j].y+R[j+1].y)/2; }} Q[3]=R[0];new_split_Bezier(Q);new_split_Bezier(R); }}舉例:三次Bezier曲線光滑拼接的條件
P0P1P2P3和Q0QlQ2Q3,兩個bezier多邊形①曲線在連接點處C0連續(xù)的條件是P3=Q0②
曲線在連接點處G1連續(xù),Q‘0=aP’3 Q'0=3(Q1—Q0),P'3=3(P3—P2),Q1-Q0=a(P3-P2)
2.Bezier曲線的拼接由此得
③連接點處C2連續(xù)的條件對前面的公式求兩次導(dǎo)數(shù),可得,
于是知,要求,即注意到Q0=P3,由此得:6.5.5Bezier曲線的遞推(deCasteljau)算法
計算Bezier曲線上的點,可用Bezier曲線方程,但使用deCasteljau提出的遞推算法則要簡單的多。如下圖所示,設(shè)、、是一條拋物線上順序三個不同的點。過和點的兩切線交于點,在點的切線交和于和,則如下比例成立:
這是所謂拋物線的三切線定理。(示意圖見下頁)
0P1P2P11P10P20PBezier曲線上的點拋物線三切線定理當(dāng)P0,P2固定,引入?yún)?shù)t,令上述比值為t:(1-t),有:t從0變到1,第一、二式就分別表示控制二邊形的第一、二條邊,它們是兩條一次Bezier曲線。將一、二式代入第三式得:當(dāng)t從0變到1時,它表示了由三頂點P0、P1、P2三點定義的一條二次Bezier曲線。并且表明:這二次Bezier曲線P20可以定義為分別由前兩個頂點(P0,P1)和后兩個頂點(P1,P2)決定的一次Bezier曲線的線性組合。依次類推,由四個控制點定P(t)=p0+(p1-p0)t義的三次Bezier曲線P30可被定義為分別由(P0,P1,P2)和(P1,P2,P3)確定的二條二次Bezier曲線的線性組合,由(n+1)個控制點Pi(i=0,1,...,n)定義的n次Bezier曲線Pn0可被定義為分別由前、后n個控制點定義的兩條(n-1)次Bezier曲線P0n-1與P1n-1的線性組合:由此得到Bezier曲線的遞推計算公式:這便是著名的deCasteljau算法。用這一遞推公式,在給定參數(shù)下,求Bezier曲線上一點P(t)非常有效。上式中:是定義Bezier曲線的控制點,即為曲線上具有參數(shù)t的點。deCasteljau算法穩(wěn)定可靠,直觀簡便,可以編出十分簡捷的程序,是計算Bezier曲線的基本算法和標(biāo)準(zhǔn)算法。當(dāng)n=3時,decasteljau算法遞推出的Pki呈直角三角形,對應(yīng)結(jié)果如下圖所示。從左向右遞推,最右邊點P30即為曲線上的點。
0P1P2P3P10P11P12P20P21P30Pn=3時niP的遞推關(guān)系這一算法可用簡單的幾何作圖來實現(xiàn)。給定參數(shù),就把定義域分成長度為的兩段。依次對原始控制多邊形每一邊執(zhí)行同樣的定比分割,所得分點就是由第一級遞推生成的中間頂點,對這些中間頂點構(gòu)成的控制多邊形再執(zhí)行同樣的定比分割,得第二級中間頂點。重復(fù)進行下去,直到n級遞推得到一個中間頂點即為所求曲線上的點,如下圖所示。
)3/1(30PP=011/3幾何作圖法求Bezier曲線上一點(n=3,t=1/3)0P1P2P3P10P11P12P20P21P6.5.6Bezier曲線的升階與降階1.Bezier曲線的升階所謂升階是指保持Bezier曲線的形狀與定向不變,增加定義它的控制頂點數(shù),也即是提高該Bezier曲線的次數(shù)。增加了控制頂點數(shù),不僅能增加了對曲線進行形狀控制的靈活性,還在構(gòu)造曲面方面有著重要的應(yīng)用。對于一些由曲線生成曲面的算法,要求那些曲線必須是同次的。應(yīng)用升階的方法,我們可以把低于最高次數(shù)的的曲線提升到最高次數(shù),而獲得同一的次數(shù)。曲線升階后,原控制頂點會發(fā)生變化。下面,我們來計算曲線提升一階后的新的控制頂點。設(shè)給定原始控制頂點,定義了一條n次Bezier曲線:
增加一個頂點后,仍定義同一條曲線的新控制頂點為,則有:
對上式左邊乘以,得到:
比較等式兩邊項的系數(shù),得到:
化簡即得:
其中。此式說明:新的控制頂點是以參數(shù)值按分段線性插值從原始特征多邊形得出的。升階后的新的特征多邊形在原始特征多邊形的凸包內(nèi)特征多邊形更靠近曲線。三次Bezier曲線的升階實例如下圖所示。*00PP=1P2P*43PP=*1P*2P*3P
Bezier曲線升階2.Bezier曲線的降階降階是升階的逆過程。給定一條由原始控制頂點定義的n次Bezier曲線,要求找到一條由新控制頂點定義的n-1次Bezier曲線來逼近原始曲線。假定是由升階得到,則由升階公式有:從這個方程可以導(dǎo)出兩個遞推公式:
和
6.6Bezier曲面基于Bezier曲線的討論,我們可以方便地可以給出Bezier曲面的定義和性質(zhì),Bezier曲線的一些算法也可以很容易擴展到Bezier曲面的情況。1.Bezier曲面定義:BENi,m(u)與BENj,n(v)是Bernstein基函數(shù):
依次用線段連接點列中相鄰兩點所形成的空間網(wǎng)格,稱之為特征網(wǎng)格。
1.雙線性Bezier曲面(m=n=1)
2.雙二次Bezier曲面(m=n=2)3.雙三次Bezier曲面(m=n=3)雙三次Bezier曲面及其控制網(wǎng)格P0,0P3,0P0,3P3,3P1,0P2,0P0,1P0,2P1,1P2,1P3,1P1,2P2,2P2,3P1,3P2,3Bezier曲面的矩陣表示式是:在一般實際應(yīng)用中,不大于4。
其中性質(zhì):1.控制網(wǎng)格的四個角點正好是Bezier曲面的四個角點,2.控制網(wǎng)格最外一圈頂點定義Bezier曲面的四條邊界,這四條邊界均為Bezier曲線。3.幾何不變性4.移動一個頂點Pi,j,將對曲面上參數(shù)為u=i/m,v=j/n的那點p(i/m,j/n)處發(fā)生最大的影響5.對稱性6.凸包性2.Bezier曲面的拼接0階連續(xù)性只要求相連接的曲面片具有公共的邊界曲線。1階連續(xù)性則要求在邊界曲線上的任何一點,兩個曲面片跨越邊界的切線矢量應(yīng)該共線,而且兩切線矢量的長度之比為常數(shù)。如右圖所示,設(shè)兩張m×n次Bezier曲面片
分別由控制頂點和定義。),(vuP),(vuQ)0,0(P)1,0(P)0,1(Q)1,1(Q)0,0()0,1(QP=)1,0()1,1(QP=uvBezier曲面片的拼接
Bezier曲面片的拼接邊界線P0,0Q3,0P3,3(Q0,3)P0,3Q3,3P3,1(Q0,1)P3,0(Q0,0)P3,2(Q0,2)實現(xiàn)G1連續(xù)性的條件為:(1)p1(1,v)=p2(0,v),即有P3,i=Q0,i,i=0,1,2,3(2)P3,i-P2,i=λ(Q1,i-Q0,i),i=0,1,2,3已知兩張雙三次Bezier曲面片:遞推(deCasteljau)算法Bezier曲線的遞推(deCasteljau)算法,可以推廣到Bezier曲面的情形。若給定Bezier曲面特征網(wǎng)格的控制頂點和一對參數(shù)值,則:
(6.6.1)其中(6.6.2)
或(6.6.3)
(6.6.2)與(6.6.3)中的下標(biāo)的變化范圍已在(6.6.1)式中給出。上面給出了確定曲面上一點的兩種方案。當(dāng)按(6.6.2)式方案執(zhí)行時,先以u參數(shù)值對控制網(wǎng)格u向的n+1個多邊形執(zhí)行曲線deCasteljau算法,m級遞推后,得到沿v向由n+1個頂點構(gòu)成的中間多邊形。再以v參數(shù)值對它執(zhí)行曲線的deCasteljau算法,n級遞推以后,得到一個,即所求曲面上的點也可以按(6.6.3)式方案執(zhí)行,先以v參數(shù)值對控制網(wǎng)格沿v向的m+1個多邊形執(zhí)行n級遞推,得沿u向由m+1個頂點構(gòu)成的中間多邊形。再以u參數(shù)值對它執(zhí)行n級遞推,得所求點。
之所以有這樣的算法,是因為本章內(nèi)容曲線和曲面表示的基礎(chǔ)知識曲線和曲面的表示(1)插值和逼近樣條(2)Hermite樣條曲線(3)Bezier曲線曲面(4)B樣條曲線曲面
(5)
有理樣條曲線曲面(6)曲線曲面的轉(zhuǎn)換和計算6.7B樣條曲線Bezier曲線和曲面的不足:Bezier曲線或曲面不能作局部修改;Bezier曲線或曲面的拼接比較復(fù)雜6.7.1B樣條曲線B樣條曲線(構(gòu)造具有局部性的調(diào)和函數(shù))給定n+1個控制點P0,P1,…,Pn,它們所確定的k階B樣條曲線是:
其中Ni,k(u)遞歸定義如下:
這里u0,u1,…,un+k,是一個非遞減的序列,稱為節(jié)點,(u0,u1,…,un+k)稱為節(jié)點向量。定義中可能出現(xiàn),這時約定為0。
例一:選取,n=2,k=1,控制頂點是P0,P1,P2,這樣應(yīng)選擇參數(shù)節(jié)點n+k+1=4個,設(shè)節(jié)點向量是(u0,u1,u2,u3),按式定義,可寫出三個基函數(shù):
由公式可知所定義的B樣條曲線是任意一階B樣條曲線是控制點本身,可以看作是0次多項式
例二.選取n=3,k=2,于是有四個控制頂點P0,P1,P2,P3,應(yīng)有參數(shù)節(jié)點n+k+1=6個,設(shè)節(jié)點向量是(0,0,1,2,3,3),試畫出所確定的2階B樣條曲線。取u=0.5,進行計算。因為0.5∈[0,1]=[u1,u2],因此N1,1(0.5)=1,而其它的Ni,1(0.5)=0,i≠1。再取u其它一些值進行計算,結(jié)果如表所示。u00.511.522.53N0,2(u)10.500000N1,2(u)00.510.5000N2,2(u)0000.510.50N3,2(u)000000.51P(u)P00.5(P0+P1)P10.5(P1+P2)P20.5(P2+P3)P3二階B樣條曲線是連接各控制點的線段組成的折線,是一次多項式例三.選取n=3,k=4,平面上四個控制頂點P0,P1,P2,P3的坐標(biāo)依次是(1,1),(2,3),(4,3),(3,1),這時應(yīng)取參數(shù)節(jié)點n+k+1=8個,設(shè)選取節(jié)點向量為(0,0,0,0,1,1,1,1),求所確定的4階B樣條曲線。計算N1,4(0.5),其中0.5∈[0,1]=[u3,u4]
N3,1(0.5)=1,而對i≠3,Ni,1(0.5)=0。
用類似的過程可計算求出:
曲線上對應(yīng)參數(shù)u=0.5的點是:
證明:四個控制點(n=3)所確定的四階(K=4)B樣條曲線(節(jié)點向量為(0,0,0,0,1,1,1,1))就是它們所確定的Bezier曲線B樣條曲線的定義B樣條曲線的數(shù)學(xué)表達(dá)式為:
在上式中,0≤
t≤1;i=0,1,2,…,m所以可以看出:B樣條曲線是分段定義的。如果給定m+n+1個頂點Pi(i=0,1,2,…,m+n),則可定義m+1段n次的參數(shù)曲線。在以上表達(dá)式中:Fk,n(t)為n次B樣條基函數(shù),也稱B樣條分段混合函數(shù)。其表達(dá)式為:
式中:0≤t≤1,k=0,1,2,…,n連接全部曲線段所組成的整條曲線稱為n次B樣條曲線。依次用線段連接點Pi+k(k=0,1,…,n)所組成的多邊折線稱為B樣條曲線在第i段的B特征多邊形。3.二次B樣條曲線在二次B樣條曲線中,n=2,k=0,1,2;故其基函數(shù)形式為有了基函數(shù),因此可寫出二次B樣條曲線的分段表達(dá)式為:
(i=0,1,2,…,m)m+1段寫成一般的矩陣形式為:
式中,Bk為分段曲線的特征多邊形的頂點:B0,B1,B2。對于第i段曲線的Bk即為:Pi,Pi+1,Pi+2連續(xù)的三個頂點。(見下圖)
n=2,二次B樣條曲線m+n+1個頂點,三點一段,共m+1段。i=0P0,2(t)i=1P1,2(t)
二次B樣條曲線的性質(zhì)先對P(t)求導(dǎo)得:
然后分別將t=0,t=0.5,t=1代入P(t)和P’(t),可得:P(0)=1/2(B0+B1),P(1)=1/2(B1+B2);P’(0)=B1-B0,P’(1)=B2-B1;P(1/2)=1/2{1/2[P(0)+P(1)]+B1}P’(1/2)=1/2(B2-B0)=P(1)-P(0)是什么曲線?與Bezier曲線有何差別?與以上這些式子所表達(dá)的性質(zhì)相符的曲線是何種形狀:(見下圖)結(jié)論:分段二次B樣條曲線是一條拋物線;有n個頂點定義的二次B樣條曲線,其實質(zhì)上是n-2段拋物線(相鄰三點定義)的連接,并在接點處達(dá)到一階連續(xù)。(見下圖)6.7.2B樣條曲線的性質(zhì)1.局部支柱性
B樣條的基函數(shù)是一個分段函數(shù),其重要特征是在參數(shù)變化范圍內(nèi),每個基函數(shù)在tk到tk+m的子區(qū)間內(nèi)函數(shù)值不為零,在其余區(qū)間內(nèi)均為零,通常也將該特征稱為局部支柱性。
B樣條曲線的局部支柱性P0P1P2P3P″4P5P6P7P4P′42.B樣條的凸組合性質(zhì)
B樣條的凸組合性和B樣條基函數(shù)的數(shù)值均大于或等于0保證了B樣條曲線的凸包性,即B樣條曲線必處在控制多邊形所形成的凸包之內(nèi)。
B樣條曲線與Bezier曲線的凸包性比較B樣條曲線Bezier曲線Bezier曲線B樣條曲線m=3m=4m=5(a)B樣條曲線和Bezier曲線的凸包比較(b)B樣條曲線和Bezier曲線的比較B樣條凸包Bezier凸包B樣條凸包B樣條凸包Bezier凸包Bezier凸包3.連續(xù)性若一節(jié)點矢量中節(jié)點均不相同,則m階(m-1次)B樣條曲線在節(jié)點處為m-2階連續(xù)。B樣條曲線基函數(shù)的次數(shù)與控制頂點個數(shù)無關(guān)。重節(jié)點問題
具有重節(jié)點的三次B樣條t0t1t2t3t44.導(dǎo)數(shù)
5.幾何不變性6.變差減少性節(jié)點矢量:節(jié)點矢量分為三種類型:均勻的,開放均勻(準(zhǔn)均勻)的和非均勻的。B樣條曲線分為四種:均勻B樣條曲線、非均勻B樣條曲線、開放均勻B樣條曲線和分段Bezier曲線當(dāng)節(jié)點沿參數(shù)軸均勻等距分布,即tk+1-tk=常數(shù)時,表示均勻B樣條曲線。當(dāng)節(jié)點沿參數(shù)軸的分布不等距,即(tk+1-tk)≠常數(shù)時,表示非均勻B樣條曲線。6.7.2B樣條曲線類型劃分開放均勻B樣條(準(zhǔn)均勻)與均勻B樣條曲線的差別在于兩端節(jié)點具有重復(fù)度k,這樣的節(jié)點矢量定義了準(zhǔn)均勻的B樣條基。均勻B樣條曲線沒有保留Bezier曲線端點的幾何性質(zhì),即樣條曲線的首末端點不再是控制多邊形的首末端點。采用準(zhǔn)均勻的B樣條曲線解決了這個問題準(zhǔn)均勻三次B樣條曲線分段Bezier曲線節(jié)點矢量中兩端節(jié)點具有重復(fù)度k,所有內(nèi)節(jié)點重復(fù)度為k-1,這樣的節(jié)點矢量定義了分段的Bernstein基。三次分段Bezier曲線1.均勻周期性B樣條曲線節(jié)點取值:T=(-2,-1.5,-1,-0.5,0,0.5,1,1.5,2)T=(0,1,2,3,4,5,6,7)均勻B樣條的基函數(shù)呈周期性:均勻二次(三階)B樣條曲線 取n=3,m=3,則n+m=6,不妨設(shè)節(jié)點矢量為:T=(0,1,2,3,4,5,6):基函數(shù)由遞推轉(zhuǎn)換到直接定義可以把不同段的時間進行移動例如:t在[2,3]設(shè)置為t=t-2;依次改為t=t-1;t=t注意順序顛倒。即t=t-2變?yōu)镕0,3。以下相同處理。
tBk,3(t)214351
四段二次(三階)均勻B樣條基函數(shù)N0,3(t)N1,3(t)N2,3(t)N3,3(t)曲線的起點和終點值:均勻二次B樣條曲線起點和終點處的導(dǎo)數(shù):
四個控制點的二次周期性B樣條曲線P0P1P2P3局部性。k階B樣條曲線上參數(shù)為的一點至多與k個控制頂點有關(guān),與其它控制頂點無關(guān);移動該曲線的第i個控制頂點Pi至多影響到定義在區(qū)間上那部分曲線的形狀,對曲線的其余部分不發(fā)生影響。仿射不變性即在仿射變換下,的表達(dá)式具有形式不變性。直線保持性控制多邊形退化為一條直線時,曲線也退化為一條直線。造型的靈活性。用B樣條曲線可以構(gòu)造直線段、尖點、切線等特殊情況.對于四階(三次)B樣條曲線.若要在其中得到一條直線段,只要四點位于一條直線上為了使P(t)能過P(i)點,只要使重合尖點也可通過三重節(jié)點的方法得到為了使曲線和某一直線L相切,只要取位于L上及的重數(shù)不大于2。結(jié)論:對于由任意數(shù)目的控制點構(gòu)造的二次周期性B樣條曲線來說,曲線的起始點位于頭兩個控制點之間,終止點位于最后兩個控制點之間。對于高次多項式,起點和終點是m-1個控制點的加權(quán)平均值點。若某一控制點出現(xiàn)多次,樣條曲線會更加接近該點。三次(四階)周期性B樣條取m=4,n=3,節(jié)點矢量為:T=(0,1,2,3,4,5,6,7):三次周期性B樣條的邊界條件為:P0P1P2P3
四個控制點的三次均勻B樣條曲線重點討論均勻B樣條曲線:參數(shù)節(jié)點中參數(shù)u的每一區(qū)間為等長時所得到的B樣條函數(shù)稱為是等距的,或均勻B樣條曲線。可假定ui=i,i=0,1,…,n+k,設(shè)tj=u-ui+j,ui+j≤u≤ui+j+1與0≤tj≤1是等價的。
遞歸式,經(jīng)過計算,可以寫出:
如果固定在ui+3≤u≤ui+4區(qū)間,可以寫出:
令i=0,可寫出四個B樣條基函數(shù):設(shè)給出n+1個控制點P0,P1,…,Pn,則所確定的4階3次等距B樣條曲線是:4階3次等距B樣條曲線曲線的性質(zhì)
性質(zhì)一:曲線在拚接處是連續(xù)的,一階和二階導(dǎo)數(shù)也是連續(xù)的。因此4階3次等距B樣條曲線:雖然分段定義,但各段拚接處有直到二階導(dǎo)數(shù)的連續(xù)性,整條曲線是光滑的。
性質(zhì)2:4階3次等距B樣條曲線具有凸包性,這通過驗證0≤Nj,4(u)≤1,0≤j≤3及
性質(zhì)3:B樣條曲線具有局部性當(dāng)移動一個控制點時,只對其中的一段曲線有影響,并不對整條曲線產(chǎn)生影響。如圖4.22所示是一條B樣條曲線。該圖表示控制點P5變化后曲線變化的情況。由圖可見P5變化只對其中一段曲線有影響。
性質(zhì)4:用B樣條曲線可構(gòu)造直線段、尖點、切線等特殊情況。靈活選擇控制點的位置和節(jié)點ui的重復(fù)數(shù),可形成許多特殊情況的B樣條曲線
2.開放均勻B樣條曲線節(jié)點矢量可以這樣定義:令L=n-m,從0開始,按ti≤ti+1排列。
開放均勻的二次(三階)B樣條曲線假設(shè)m=3,n=4,節(jié)點矢量為:T=(t0,t1,,tn+m)=(t0,t1,t2,t3,t4,t5,t6,t7)=(0,0,0,1,2,3,3,3)。
開放均勻的二次B樣條基函數(shù)Bk,3(t)tB0,3(t)B1,3(t)B3,3(t)B2,3(t)B4,3(t)12313.非均勻B樣條曲線
非均勻B樣條曲線的基函數(shù)Bk,m(t)t12314.反求B樣條曲線控制點及其端點性質(zhì) 問題:所謂反求B樣條曲線控制點是指已知一組空間型值點Qi(i=1,2,,n),要找一條m次B樣條曲線過Qi點,也即找一組與點列Qi對應(yīng)的B樣條控制頂點Pj(j=0,1,,n+1)。
用分段三次B樣條曲線pi來擬合,其上型值點和控制點的位置矢量之間有關(guān)系:假定需求首末兩點過Q1和Qn的非周期三次B樣條曲線,則有P1=Q1,Pn=Qn,于是求解控制點Pj(i=2,3,...,n-1)的線性方程組為:
補充兩個邊界條件為:P0=P-1=Q1Pn+1=Pn+2=Qn
6.7.3deBoor-Cox遞推定義參數(shù)說明m是曲線的階數(shù),(m-1)為B樣條曲線的次數(shù),曲線在連接點處具有(m-2)階連續(xù)。tk是節(jié)點值:約定:6.8B樣條曲面定義:控制頂點、控制網(wǎng)格(特征網(wǎng)格)、B樣條基函數(shù)。B樣條曲面具有與B樣條曲線相同的局部支柱性、凸包性、連續(xù)性、幾何變換不變性等性質(zhì)。雙三次B樣條曲面本章內(nèi)容曲線和曲面表示的基礎(chǔ)知識曲線和曲面的表示(1)插值和逼近樣條(2)Bezier曲線曲面(3)B樣條曲線曲面(4)Hermite樣條曲線
(5)有理樣條曲線曲面(6)曲線曲面的轉(zhuǎn)換和計算6.9有理樣條曲線曲面:NURBSB樣條曲線包括其特例的Bezier曲線都不能精確表示出拋物線外的二次曲線,B樣條曲面包括其特例的Bezier曲面都不能精確表示出拋物面外的二次曲面,而只能給出近似表示。提出NURBS方法,即非均勻有理B樣條方法主要是為了找到與描述自由型曲線曲面的B樣條方法既相統(tǒng)一、又能精確表示二次曲線弧與二次曲面的數(shù)學(xué)方法。NURBS方法:非均勻有理B樣條(NonuniformRationalB-Spline)方法8.5.1NURBS曲線曲面的定義定義: 6.9.1NURBS曲線的定義NURBS曲線是由分段有理B樣條多項式基函數(shù)定義的Ri,k(t)具有k階B樣條基函數(shù)類似的性質(zhì):局部支承性:Ri,k(t)=0,t[ti,ti+k]權(quán)性:可微性:如果分母不為零,在節(jié)點區(qū)間內(nèi)是無限次連續(xù)可微的,在節(jié)點處(k-1-r)次連續(xù)可導(dǎo),r是該節(jié)點的重復(fù)度。若i=0,則Ri,k(t)=0;若i=+,則Ri,k(t)=1;NURBS曲線與B樣條曲線具有類似的幾何性質(zhì):局部性質(zhì)。變差減小性質(zhì)。凸包性。在仿射與透射變換下的不變性。在曲線定義域內(nèi)有與有理基函數(shù)同樣的可微性。如果某個權(quán)因子為零,那么相應(yīng)控制頂點對曲線沒有影響。若,則當(dāng)時,Bezier曲線和非有理B樣條曲線是NURBS曲線的特殊情況齊次坐標(biāo)表示齊次坐標(biāo)系xyw中的控制頂點為k階非有理B樣條曲線可表示為:以坐標(biāo)原點為投影中心,則得到平面曲線yxw0P1P2P)(tPw0Pw1Pw2P)(tPw1=w平面NURBS曲線齊次坐標(biāo)表示三維空間的NURBS曲線可以類似地定義。非有理B樣條的算法可以推廣到NURBS曲線,只不過是在齊次坐標(biāo)下進行。權(quán)因子的幾何意義如果固定曲線的參數(shù)t,而使變化,則NURBS曲線方程變成以為參數(shù)的直線方程,即NURBS曲線上t值相同的點都位于同一直線上。分別是對應(yīng)曲線上的點,即N,Bi可表示為:(Pi,Bi,N,B)四點的交比(1)若i增大或減小,則也增大或減小,所以曲線被拉向或推離開Pi點;(2)若j增大或減小,曲線被推離或拉向Pj(ji)。B0P1P2P3P4P5PiBNNURBS曲線中的權(quán)因子的作用圓錐曲線的NURBS表示取節(jié)點向量為則NURBS曲線退化為二次Bezier曲線,且可以證明,這是圓錐曲線弧方程。稱為形狀因子,
的值確定了圓錐曲線的類型。時,上式是拋物線弧,
時,上式是雙曲線弧,時,上式是橢圓弧。時,上式退化為一對直線段P0P1和P1P2,時,上式退化為連接兩點P0P2的直線段1P2P0P橢圓拋物線雙曲線圓錐曲線的NURBS表示NURBS曲線的修改常用的方法有修改權(quán)因子、控制點和反插節(jié)點。修改權(quán)因子當(dāng)保持控制頂點和其它權(quán)因子不變,減少或增加某權(quán)因子時,曲線被推離或拉向相應(yīng)頂點。N
修改權(quán)因子iPSBS*欲將曲線在該點S拉向或推離控制頂點Pi一個距離d,以得到新點S’,可由重新確定相應(yīng)的權(quán)因子使之改變?yōu)閬磉_(dá)到修改控制頂點修改控制頂點的位置,曲線隨之變形。 例:假定用定義在三個控制頂點和開放均勻的節(jié)點矢量上的二次(三階)B樣條函數(shù)來擬合,于是,T=(0,0,0,1,1,1),取權(quán)函數(shù)為:則有理B樣條的表達(dá)式為:然后取不同的r值得到各種二次曲線:
P1P0P2雙曲線拋物線直線橢圓由不同有理樣條權(quán)因子生成的二次曲線段由有理樣條函數(shù)生成的第一象限上的圓弧xyP1(1,1)P2(1,0)P0(0,1)aNURBS曲面可由下面的有理參數(shù)多項式函數(shù)表示:6.9.2有理基函數(shù)的性質(zhì)NURBS曲線也可用有理基函數(shù)的形式表示:
1.普遍性2.局部性3.凸包性4.可微性5.權(quán)因子本章內(nèi)容曲線和曲面表示的基礎(chǔ)知識曲線和曲面的表示(1)插值和逼近樣條(2)Hermite樣條曲線(3)Bezier曲線曲面(4)B樣條曲線曲面
(5)
有理樣條曲線曲面(6)曲線曲面的轉(zhuǎn)換和計算6.10曲線曲面的轉(zhuǎn)換和計算6.10.1樣條曲線曲面的轉(zhuǎn)換
例:
三次Hermite樣條矩陣:三次
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建師范大學(xué)《歌曲寫作》2023-2024學(xué)年第一學(xué)期期末試卷
- 雙減政策下的幼小銜接教學(xué)初探
- 八下地理課件教學(xué)課件
- 2024年肇慶駕駛員客運從業(yè)資格證模擬考試題庫
- 癌痛的治療治療
- 2024年道路客運從業(yè)資格證模擬考試題庫APP
- 2024年郴州道路旅客運輸駕駛員從業(yè)資格考試試題及答案
- 2025屆山東省青島市城陽區(qū)生物高三上期末統(tǒng)考試題含解析
- 2024年廣東考客運資格證試題題庫
- 機器學(xué)習(xí) 課件 第3-5章 貝葉斯分類器、最近鄰分類器、線性模型
- 第6課《求助電話》課件
- 防火封堵報價范本
- 口腔新技術(shù)護理課件
- 奇正藏藥行業(yè)分析
- 農(nóng)牧項目計劃書
- 《設(shè)計管理體系》課件
- 奧迪售后管理制度
- 區(qū)域發(fā)展的自然環(huán)境基礎(chǔ)(教學(xué)課件含視頻) -高中地理人教版2019選擇性必修二
- 輿情處置培訓(xùn)課件
- 科技倫理教學(xué)課件
- 商會成立大會監(jiān)事長表態(tài)發(fā)言稿
評論
0/150
提交評論