計算機圖形學第五章曲線和曲面_第1頁
計算機圖形學第五章曲線和曲面_第2頁
計算機圖形學第五章曲線和曲面_第3頁
計算機圖形學第五章曲線和曲面_第4頁
計算機圖形學第五章曲線和曲面_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第五章曲線和曲面

5.1曲線的數學表示1)顯示表示:y=f(x)2)隱式表示:f(x,y)=03)參數表示:P(t)=[x(t),y(t)]

在曲線、曲面的表示上,參數方程比顯式、隱式方程有更多的優(yōu)越性,主要表現在:(1)容易滿足幾何不變性(與坐標系的選取無關)的要求。(2)有更大的自由度來控制曲線、曲面的形狀。(3)可對參數方程直接進行幾何變換,而不需要逐點變換。(4)便于處理斜率為無窮大的情形,不會因此而中斷計算。(5)便于把低維空間中曲線、曲面擴展到高維空間中去。(6)規(guī)格化的參數變量t∈[0,1],使得界定曲線、曲面的范圍十分簡單。(7)易于用矢量和矩陣運算,從而大大簡化了計算。5.2曲線分析

1)曲線上的活動坐標架設曲線為P(t)=[x(t),y(t),z(t)],則:切矢量:P’(t)(當t為弧長時是單位矢),單位切矢記為T。法矢量:過曲線上任意一點,以切矢為法線的平面稱為法平面。主法矢:當以弧長為參數時,切矢的導矢是一個與切矢垂直的矢量,其單位矢稱為主法矢,記為N。副法矢(記為B)B=T×NT(單位切矢)、N(主法矢)和B(副法矢)構成了曲線上的活動坐標架;N、B構成的平面稱為法平面;N、T構成的平面稱為密切平面(它與曲線最貼近);B、T構成的平面稱為從切平面。對于一般參數t,有:2)曲線的曲率和撓率曲率:由于T’(s)與N平行,令T’(s)=κN,κ(kappa)稱為曲率,其幾何意義是曲線的單位切矢對弧長的轉動率。κ恒為正,又稱為絕對曲率。κ曲率的倒數ρ=1/κ,稱為曲率半徑。撓率:由B(s)·T(s)=0,兩邊求導,可得:B‘(s)·T(s)=0;又由|B(s)|2=1,兩邊求導,可得:B‘(s)·B(s)=0;所以,B’(s)∥N(s),再令B’(s)=-τN(s),τ(tau)稱為撓率,其幾何意義是副法矢方向對于弧長的轉動率。撓率大于0、等于0和小于0分別表示曲線為右旋空間曲線、平面曲線和左旋空間曲線。 對于一般參數t,可以推導出曲率和撓率的計算公式如下:TNB注意:曲率和撓率是幾何量,其值與參數的選擇無關。示例:左旋右旋螺旋線

當圓柱軸線平放時,用手握住圓柱并伸直拇指,拇指代表動點移動的方向,其余四個手指代表動點的轉動方向,符合右手為右旋螺旋線,如圖(ɑ)所示;符合左手為左旋螺旋線,如圖(b)所示。(ɑ)右旋螺旋線(b)左旋螺旋線5.3曲面與曲面分析

1)曲面的表示P=P(u,v),u1≤u≤u2,v1≤v≤v2固定其中一個參數例如v=v0,則曲面變成單參數u的矢函數P=P(u,v0),表示曲面上的一條以u為參數的參數曲線,簡稱u線。類似地,P=P(u0,v)表示曲面上的一條v線。所以,參數曲面上存在兩組等參數線,即一組u線和一組v線。在曲面上一點P(u0,v0)處,總存在一條u線和一條v線。u線在該點有一個切矢Pu(u0,v0),稱為u向切矢。v線在該點也有一個切矢Pv(u0,v0),稱為v向切矢。這兩個切矢的矢量積,決定了該點處的曲面法矢n(u0,v0)。將曲面上的每一點P(u,v),沿法矢方向n移動一個固定距離d,就得到該曲面的一個等距面P’(u,v)=P(u,v)+dn(u,v)。

如果曲面的兩族等參數線:u線與v線中,有一組是直線,則稱該曲面為直紋面。它可以看成直線段在空間連續(xù)運動掃出的軌跡。直紋面上的直線族稱為母線。在直紋面上取一條曲線與所有母線相交,稱之為準線。 在準線ρ=ρ(u)每一點的母線方向上給定一個非零矢量τ(u)。則直紋面方程可以寫為P(u,v)=ρ(u)+vτ(u)。當τ(u)為固定時,直紋面為柱面。當τ(u)為變矢量,且準線縮為一點時,直紋面為錐面。機翼表面通常為直紋面。 如果直紋面沿它的每一條母線只有唯一的切平面(或者說沿直母線,法向量平行),則稱該直紋面為可展曲面??烧骨婵梢酝ㄟ^簡單的彎曲來展平。圓柱面和圓錐面都是可展的,曲線的切線曲面(曲線上所有點的切線的集合)也是可展的,但機翼的直紋面就不一定。2)直紋面與可展曲面單葉雙曲面和雙曲拋物面都不是可展曲面3)曲面的曲率性質研究曲面的彎曲程度,通常是通過研究法截線的曲率來實現的。通過曲面上一點法線的平面與曲面的交線稱為法截線,法截線的曲率κn稱為法曲率,圍繞法線旋轉的每一個平面會產生一個法截線,因此曲面上一點的法曲率有無窮多個,這些法曲率的最大值和最小值稱為主曲率,而且兩個主曲率所在的方向是相互垂直的,稱為主方向,其它方向的法曲率可以由主曲率計算:Κn=κ1cos2θ+κ2sin2θ其中θ為該方向與主曲率的κ1所在主方向的夾角。兩個主曲率的乘積稱為高斯曲率(Gaussian)或全曲率、總曲率。兩個主曲率的均值稱為平均曲率或中曲率。如果曲面上的一條曲線,其切線方向總是在一個主方向,這樣的曲線稱為曲率線。5.4曲線的插值、逼近與擬合

插值:給定一組有序的數據點Pi,i=0,1,…,n,構造一條曲線順序通過這些數據點,稱為對這些數據點進行插值,所構造的曲線稱為插值曲線。逼近:構造一條曲線使之在某種意義下最接近給定的數據點,稱為對這些數據點進行逼近,所構造的曲線稱為逼近曲線。擬合:插值與逼近統(tǒng)稱為擬合。多項式插值:通過n+1個數據點Pi(i=0,1,···n)和對應的參數ti(i=0,1,···n)可以構造n次插值多項式

其中ai是與Pi維數一致的向量,例如三維。 多項式逼近: 隨著控制點增多,多項式的次數不斷增高,擺動劇烈,穩(wěn)定性降低。而且常常數據點是帶有誤差的,沒有必要嚴格通過,這時可以用低階多項式進行逼近,逼近時采用的方法通常是最小二乘法:

為一組有序的數據點(P0,P1,…Pn)賦予相應的一組參數值(t0<t1<…<tn,每個參數點稱為節(jié)點)稱之對這組數據點實行參數化。對一組數據點(P0,P1,…Pn)實行參數化的常用方法有以下幾種:均勻參數化(等距參數化),在型值點不均勻時不理想。累加弦長參數化,考慮到弧長因素:向心參數化法,又稱平方根法:修正弦長參數化法,在四種方法中效果最好:5.5參數化

5.6幾何連續(xù)性

設計一條復雜形狀曲線時,一般是通過多段簡單曲線的拼接完成的。這就涉及曲線在拼接處的連續(xù)性問題。拼接曲線的連續(xù)性(或稱光滑性)有兩類度量方式:一類稱為參數連續(xù)性:如果曲線函數對表達它的特定參數(并非所有參數)具有直達n階的連續(xù)導矢,則稱該曲線具有n階參數連續(xù)性,簡稱Cn連續(xù)。另一類稱為幾何連續(xù)性:如果曲線函數對弧長參數具有直達n階的連續(xù)導矢,則稱該曲線具有n階幾何連續(xù)性,簡稱Gn連續(xù)。 曲線光滑度的兩類度量并無因果關系,都能描述曲線的光滑性。由于弧長是幾何量,所以幾何連續(xù)性更能夠代表曲線的光滑性。5.6幾何連續(xù)性(續(xù)) 對于一般參數表達的多項式曲線的拼接,要想達到G2連續(xù),在連接點處必須滿足:G0連續(xù):即兩段曲線首尾相接。G1連續(xù):要求兩條曲線在首尾相接處的切矢方向相同。 因為兩條曲線對弧長參數的導數都是單位矢,再加上方向相同,就意味著兩條曲線在首尾相接處的弧長參數一階導矢連續(xù)。G2連續(xù):要求曲率相同,并且副法矢方向相同。 曲率相同保證了在首尾相接處弧長參數的二階導矢大小相同,副法矢方向相同又保證了弧長參數的二階導矢方向(主法矢)相同,即在首尾相接處弧長參數的二階導矢連續(xù)。對一般參數來說,主法矢是副法矢與切矢的矢量積。5.7參數三次樣條曲線(插值)

通過n+1數據點Pi(i=0,1,···n)的一條分段連續(xù)的3次多項式曲線,如果在兩個數據點之間表示為一個三次多項式,各段多項式在數據點處(連接處)保持C2連續(xù)性,這種曲線稱為參數三次樣條曲線,這種樣條曲線使用非常普遍。 具體實現時,設其參數分割為u0<u1<…<un,并假設在端點處的切矢為P’0,P’1,…P’n。則每段曲線的方程可表示為:5.7參數三次樣條曲線(續(xù))為了求出P’i,對參數u兩次求導得:5.7參數三次樣條曲線(續(xù))將上式中的下標i換成i-1,得:由二階導數連續(xù)得三切矢方程:這里有n+1個未知量(P’i,i=0,1,···n),n-1組方程,再加兩個邊界條件(往往是關于導數的),就可以解出未知量,從而得到參數三次樣條曲線。5.8Bezier曲線1)定義:給定空間n+1個點的位置矢量Pi(i=0,1,2,…,n),則Bezier參數曲線上各點坐標的插值公式是:其中,Pi(i=0,1,…,n)構成該Bezier曲線的特征多邊形,Bi,n(t)(i=0,1,…,n)是n次Bernstein基函數:這里規(guī)定:00=1,0!=1。2)Bernstein基函數的性質正性:端點性質:權性:對稱性:遞推性:導函數:最大值:升階公式:積分性質:Bernstein基函數的圖形(n=5)(基函數的遞推)3)Bezier曲線的性質

端點性質:曲線端點就是特征多邊形端點;端點切線與特征多邊形的起始和終止邊走向一致(r階導矢只與(r+1)個相鄰點有關,與更遠點無關)。對稱性:將控制頂點編號進行對調,生成的Bezier曲線,形狀不變,走向相反。凸包性:對于空間分布的點,可以想像一封閉的橡皮膜包住這些點,任其彈性收縮所形成的空間區(qū)域既是該點集的凸包。幾何不變性:Bezier曲線的位置與形狀與其特征多邊形頂點Pi(i=0,1,...,n)的位置有關,不依賴坐標系的選擇。變差縮減性:Bezier曲線與任意平面的交點數不多于它的特征多邊形與該平面的交點數。此性質反映了Bezier曲線比其特征多邊形的波動小,也就是說Bezier曲線比特征多邊形的折線更光順。仿射不變性:在仿射變換(保持“直線性”和“平行性”的變換。一般的變換,例如:旋轉、平移、放大等都屬于仿射變換,但透視投影就不是)下,Bezier曲線的形式不變,即對任意的仿射變換A:4)Bezier曲線的遞推算法

計算Bezier曲線上的點,可用Bezier曲線方程,但使用deCasteljau(德卡斯特里奧)遞推算法則要簡單得多,實際上該算法先于曲線方程:上式中:Pi0=Pi是定義Bezier曲線的控制點,P0n即為曲線P(t)上具有參數t的點,k+max(i)=n。幾何遞推:給定參數t∈[0,1],就把定義域分成長度為t:(1-t)的兩段。依次對原始控制多邊形每一邊執(zhí)行同樣的定比分割,所得分點就是第一級遞推生成的中間頂點Pi1(i=0,1,...,n-1),對這些中間頂點構成的控制多邊形再執(zhí)行同樣的定比分割,得第二級中間頂點Pi2(i=0,1,...,n-2)。重復進行下去,直到n級遞推得到一個中間頂點P0n即為所求曲線上的點P(t)。5)Bezier曲線的拼接

Bezier曲線是由n+1個頂點控制的n次多項式。由于多項式曲線的次數不易過高,所以當n較大時,通常采用分段設計的方法,將各段曲線相互連接起來,并在接合處保持一定的連續(xù)條件。給定兩條Bezier曲線P(t)和Q(t),相應控制點為Pi(i=0,1,...,n)和Qi(i=0,1,...,m),則:(1)要使它們達到G0連續(xù),充要條件:Pn=Q0

(2)要使它們達到G1連續(xù),充要條件:Pn-1,Pn=Q0,Q1三點共線。(3)要使它們達到G2連續(xù),必要條件:Pn-1,Pn=Q0,Q1三點共線(G1連續(xù))。Pn-2、Pn-1、Pn=Q0、Q1和Q2五點共面,且Pn-2和Q2位于Pn-1Q1直線的同一側。更高階的連續(xù)要求更多…1)定義:設Pij(i=0,1,…,m;j=0,1,…,n)為(m+1)×(n+1)個空間點,則m×n次的Bezier曲線為:寫成矩陣形式:5.9Bezier曲面

uv2)Bezier曲面的性質

Bezier曲面特征網格的四個角點正好是Bezier曲面的四個角點,即:P(0,0)=P00,P(1,0)=Pm0,P(0,1)=P0n,P(1,1)=Pmn。Bezier曲面特征網格最外一圈頂點定義Bezier曲面的四條邊界;Bezier曲面邊界的跨界切矢只與定義該邊界的頂點及相鄰一排頂點有關;其跨界二階導矢只與定義該邊界的頂點及相鄰兩排頂點有關。幾何不變性:只依賴頂點Pij(i=0,1,…,n;j=0,1,…,m),不依賴坐標系的選擇。對稱性:將控制頂點編號進行對調,生成的Bezier曲面形狀不變。凸包性:曲面在凸包內。遞推性:使用曲線的遞推方法,先在u方向的n+1個控制多邊形上(每個多邊形上m+1個點)確定n+1個m階Bezier曲線點,然后再利用這n+1個點使用曲線遞推的方法最后確定曲面上的點。先v方向再u方向也一樣。對曲面片的拼接要求條件較高(G0除外)。5.10B樣條曲線

以Bernstein基函數構造的Bezier曲線或曲面有許多優(yōu)越性,但有兩點不足:Bezier曲線或曲面不能作局部修改。Bezier曲線或曲面的拼接比較復雜。

B樣條方法,在保留Bezier方法幾乎全部優(yōu)點的同時,克服了Bezier方法的弱點。1)B樣條曲線的定義

其中,Pi(i=0,1,...,n)為控制頂點(又稱德布爾點),Ni,k(t)(i=0,1,...,n)稱為k次B樣條基函數,其中每一個稱為B樣條。每個B樣條是由同一個稱為節(jié)點矢量的非遞減的參數t的序列T(t0≤t1≤…≤tn+k+1,共(n+1)+(k+1)個)所決定的k次分段多項式。由于其連續(xù)性,也稱為k次多項式樣條。 由于B樣條基是多項式樣條空間中具有最小支撐的一組基,故被稱為基本樣條(basisspline),簡稱B樣條。

B樣條有多種等價定義,標準算法是deBoor-Cox(德布爾-考克斯)遞推定義(基函數的遞推),又稱為deBoor-Cox公式(約定0/0=0): 這個遞推公式表明:欲確定第i個k次B樣條Ni,k(t),需要用到ti,ti+1,...,ti+k+1共k+2個節(jié)點,稱區(qū)間[ti,ti+k+1)為Ni,k(t)的支承區(qū)間,在此區(qū)間外Ni,k(t)為零。曲線方程中,n+1個控制頂點Pi(i=0,1,...,n),要用到n+1個k次B樣條Ni,k(t)。它們支撐區(qū)間的并集定義了這一組B樣條基的節(jié)點矢量T=[t0,t1,...,tn+k+1]。(5.1)(5.2)記憶方法:K次B樣條Ni,k(t)可以由兩個k-1次B樣條Ni,k-1(t)與Ni+1,k-1(t)遞推得到。其線性組合系數分別是兩個系數的分母恰好是兩個K-1次B樣條的支撐區(qū)間的長度,分子恰好是參數t把第i個k次B樣條Ni,k(t)的支撐區(qū)間劃分成兩部分的長度。1)B樣條曲線的定義(續(xù))Ni,1零次B樣條:平臺函數一次B樣條:山形函數二次B樣條ti-1titi+1ti+2Ni,0ti-1titi+1ti+2Ni,0Ni+1,0ti+3ti+3Ni,1ti-1titi+1ti+2ti+3Ni+1,1Ni,22)B樣條舉例111n=5時的均勻二次B樣條基:t0t1t2t3t4N0,22)B樣條舉例(續(xù))1t5t6t7t8N1,2N2,2N3,2N4,2N5,23)B樣條基性質(1)遞推性:即deBoor-Cox公式(2)規(guī)范性(權性,在定義區(qū)間中):(3)局部支撐性質(包含了非負性):(4)可微性:在節(jié)點區(qū)間內部無限次可微;在節(jié)點處k-r次可微(r為節(jié)點重復度,至少為1)。4)B樣條曲線的性質

局部性由于B樣條的局部(支撐)性,K次B樣條曲線上參數t∈[ti,ti+1)的一點P(t)至多與k+1個控制頂點Pj(j=i-k,...,i)有關,與其它控制頂點無關;移動該曲線的第i個控制頂點Pi至多影響到定義在區(qū)間[ti,ti+k+1)上那部分曲線的形狀,對曲線的其余部分不發(fā)生影響。連續(xù)性

P(t)在r重節(jié)點ti(k≤i≤n)處的連續(xù)階不低于k-r,整條曲線P(t)的連續(xù)階不低于k-rmax,其中rmax表示節(jié)點的最大重數。定義域節(jié)點矢量T=[t0,t1,...,tn+k+1]所包含的n+k+1個區(qū)間并非都是曲線的定義域,其中兩端各k個節(jié)點區(qū)間不能作為B樣條曲線的定義區(qū)間,即B樣條曲線的定義域為:t∈[tk,tn+1)凸包性P(t)在區(qū)間[ti,ti+1),k≤i≤n上的部分位于k+1個點Pi-k,……,Pi的凸包Ci內,整個曲線則位于這n-k+1個凸包的并集內。所以B樣條曲線比Bezier曲線更貼近控制點。分段參數多項式P(t)在區(qū)間[ti,ti+1),k≤i≤n上都是次數不高于k的參數t的多項式,P(t)是參數t的k次分段多項式。變差縮減性B樣條曲線與任意平面的交點數不多于它的特征多邊形與該平面的交點數。幾何不變性及仿射不變性B樣條曲線的形狀與坐標系的選擇無關;先生成曲線再作仿射變換與先對控制點進行仿射變換然后再生成曲線等價。造型的靈活性通過節(jié)點重復、控制點調節(jié)等手段,用B樣條曲線可以構造出直線段、尖點等。

B樣條曲線的節(jié)點矢量對曲線形狀是有影響的,它對節(jié)點矢量的基本要求是非遞減。由等距節(jié)點構造的B樣條曲線稱為均勻B樣條曲線。但節(jié)點可以是非均勻的,這包含兩個含義:①節(jié)點區(qū)間的長度不等;②重節(jié)點,即節(jié)點區(qū)間的長度為零。 (注意:節(jié)點矢量的整體平移和整體比例變換對B樣條曲線的形狀是沒有影響的。) 我們把順序r個節(jié)點相重稱為該節(jié)點具有重復度r或稱該節(jié)點為r重節(jié)點,它具有以下性質:(1)在B樣條曲線定義域內的內重節(jié)點,重復度每增加1,曲線段數減1,樣條曲線在該重節(jié)點處的可微性或參數連續(xù)階降1。因此,k次B樣條曲線在重復度為r的節(jié)點處是Ck-r連續(xù)的。一條位置連續(xù)的曲線,其內節(jié)點所取的最大重復度等于曲線的次數k,端點的最大重復度為k+1。使用這一性質,可以在B樣條曲線內部構造尖角(零次連續(xù))。(2)當端節(jié)點的重復度為k+1時,k次B樣條曲線就具有k次Bezier曲線相同的端點幾何性質。(3)由節(jié)點矢量U=[0,…,0,1,….,1](k+1個0,k+1個1)構造的B樣條曲線就是Bezier曲線。(4)內節(jié)點為均勻分布,端節(jié)點有重復度k+1的節(jié)點向量稱為準均勻的。5)重節(jié)點對B樣條曲線的影響6)B樣條曲線舉例零次B樣條:就是控制頂點點列本身。一次B樣條:在節(jié)點不重復的情況下,一次B樣條曲線就是控制多邊形自身。二次B樣條:7)B樣條曲線的生成Ⅰ)生成第一段曲線: 從n+1個控制頂點中選取前k+1個控制點Pi(i=0,1,...,k);從節(jié)點矢量(共n+k+2個節(jié)點)中選取前2k+2個節(jié)點ti(i=0,1,...,k,...,2k+1);按定義可以構造一條B樣條曲線: 其定義域為[tk,tk+1)。(5.3)Ⅱ)生成第二段曲線: 從n+1個控制頂點中再選取k+1個控制點,其編號為Pi(i=1,...,k,k+1);從節(jié)點矢量中再選取2k+2個節(jié)點,其編號為ti(i=1,...,k,...,2k+1,2k+2);按定義又可以構造一條B樣條曲線。 這段曲線的定義域是[tk+1,tk+2)。它與前一段曲線是首尾相接的,在連接點處有k-1次的連續(xù)導數,原因是它與第一段曲線有大量相同的控制點和節(jié)點。7)B樣條曲線的生成(續(xù))Ⅲ)生成n-k+1段曲線 如此反復進行,每次k+1個控制點和2k+2個節(jié)點的編號向后移動一,并構造一段B樣條曲線,直到用完所有的控制點和節(jié)點(不能向后移了),則一共生成光滑連接的n-k+1段曲線。它們的定義域依次相連但不重疊,并集為[tk,tn+1)。Ⅳ)生成的n-k+1段連續(xù)曲線就是一條B樣條曲線 由于支撐區(qū)間的存在,由所有n+1個控制點和n+k+2個節(jié)點按定義構造的,在定義域[tk,tn+1)上的B樣條曲線,與上面分段構造的光滑連接的n-k+1段曲線是同一條曲線。8)deBoor曲線遞推算法

給定控制頂點Pi(i=0,1,...,n)及節(jié)點矢量T=[t0,t1,...,tn+k+1]后,就定義了k次B樣條曲線。欲計算B樣條曲線上對應一點P(t),可以利用式(5.1)或(5.3)計算該點的坐標,但是采用deBoor算法,計算更加快捷。deBoor算法的導出即是說:(1)每次遞推共有k-r+1個區(qū)間(即控制點),所有區(qū)間長度均為k-r+1(特別地,第一次遞推共有k個區(qū)間,區(qū)間長度為k)。每次遞推區(qū)間個數和長度減一,最后一次遞推區(qū)間長度為1。(2)第一區(qū)間的右端點為j+1,第二區(qū)間將第一區(qū)間右推一次,以后依次右推,直到最后區(qū)間的左端點為j。(3)每個區(qū)間用來進行插值的兩個數據點對應區(qū)間的左端點i和其左側的一個點i-1。舉例:生成3次B樣條(k=3),這時第一段的定義域為[t3,t3+1),j=3;r=1時,共有三個區(qū)間,區(qū)間長度為3r=2時,共有兩個區(qū)間,區(qū)間長度為2r=3時,共有一個區(qū)間,區(qū)間長度為1②deBoor算法的幾何意義

t0t1t2t3t4t5t6t7r=1r=2r=3tP0P1P2P3P11P12P13P33P22P23三次B樣條的實際遞推過程,t0,t7用不上說明: 兩個端點節(jié)點用不上意為著它們可以任意選取,它們的意義在于數學公式的表達,而不在于曲線的形狀。 由控制點計算B樣條曲線時,端點節(jié)點t0和tn+k+1是用得上的;由控制線段計算B樣條曲線時,這兩個節(jié)點用不上。9)反算B樣條曲線的控制頂點雖然控制頂點(和節(jié)點)決定B樣條曲線的形狀,但B樣條曲線通常不透過控制頂點。使構造的B樣條曲線通過指定的點,即反算插值曲線的B樣條控制頂點,稱為B樣條曲線的逆過程或逆問題。為了使一條k次B樣條曲線通過一組數據點di(i=0,1,…,n),反算過程一般使曲線首末端點分別與首末數據點一致,使曲線的分段連接點分別與相應的內數據點一致。因此數據點di將依次與B樣條曲線定義域內的節(jié)點一一對應,即di點有節(jié)點值tk+i(i=0,1,…,n)。該B樣條插值曲線將由n+k個控制頂點Pi(i=0,1,…,n+k-1)定義,節(jié)點矢量對應為T(t0,t1,…,tn+2k),定義域為[tk,t(n+k-1)+1)。首先需要確定與數據點di對應的參數值tk+i(i=0,1,…,n),其實需要確定整個節(jié)點矢量T(t0,t1,…,tn+2k)。然后就可以給出以n+k個控制頂點為未知矢量的由n+1個矢量方程組成的線性方程組:因方程數小于未知頂點數,還必須補充k-1個由合適的邊界條件給出的附加方程,才能聯立求解。在實際工作中常采用C2連續(xù)的三次B樣條曲線作為插值曲線。5.11B樣條曲面

給定參數軸u和v的節(jié)點矢量U=[u0,u1,···,um+p+1]和V=[v0,v1,v2,···,vn+q+1],p×q次B樣條曲面定義如下:

其中,Pij(i=0,1,···,m;j=0,1,···,n)是給定的空間(m+1)(n+1)個點列,構成一張控制網格,稱為B樣條曲面的特征網格。Ni,p(u)和Nj,q(v)是B樣條基,分別由節(jié)點矢量U和V按deBoor-Cox遞推公式決定。B樣條曲線的一些幾何性質可以推廣到B樣條曲面。

5.12NURBS曲線與曲面

B樣條方法在表示與設計自由型曲線、曲面形狀時顯示了強大的威力,然而在表示與設計初等曲線、曲面時卻遇到了麻煩。因為B樣條曲線包括其特例的Bezier曲線都不能精確表示出拋物線外的二次曲線;B樣條曲面包括其特例的Bezier曲面都不能精確表示出拋物面外的二次曲面,而只能給出近似表出。 提出NURBS(非均勻有理B樣條)方法的首要理由是:為了找到與描述自由型曲線、曲面的B樣條方法相統(tǒng)一,又能精確表示二次曲線與二次曲面的數學方法。1)NURBS曲線的定義

NURBS曲線是由分段有理B樣條基函數定義的:

其中,Ri,k(t)(i=0,1,…,n)稱為k次有理基函數;Ni,k(t)是k次B樣條基函數;Pi(i=0,1,…,n)是特征多邊形控制頂點位置矢量;wi是與Pi對應的權因子,首末權因子w0,wn>0,其余wi≥0,以防止分母為零、保留凸包性質及曲線不致權因子而退化為一點;節(jié)點矢量為T=[t0,t1,…,ti,…,tn+k+1],節(jié)點個數是m=n+k+2(n+1為控制項的點數,k為B樣條基函數的次數)。2)NURBS曲線有理基函數的性質Ri,k(t)具有k次B樣條基函數類似的性質:3)NURBS曲線的性質

NURBS曲線與B樣條曲線也具有類似的幾何性質(1)局部性質:k次NURBS曲線上參數為t∈[ti,ti+1)?[tk,tn+1)的一點P(t)至多與k+1個控制頂點Pj及權因子ωj,j=i-k,i-k+1,…,i有關,與其它頂點及權因子無關;另一方面,若移動k次NURBS曲線的一個控制頂點Pi或改變所聯系的權因子,將僅僅影響定義在區(qū)間[ti,ti+k+1)?[tk,tn+1)上那部分曲線的形狀,對NURBS曲線的其它部分不發(fā)生影響。(2)變差減小性質。(3)強凸包性:定義在非零節(jié)點區(qū)間∈[ti,ti+1)?[tk,tn+1)上那一曲線段位于定義它的k+1個控制點Pi-k,Pi-k+1,…,Pi的凸包內。整條NURBS曲線位于所有定義各曲線段的控制頂點的凸包的并集內。所有權因子大于零保證凸包性質的成立。(4幾何不變性及仿射不變性。(5)在曲線定義域內有與有理基函數同樣的可微性。(6)如果某個權因子ωi為零,那么相應控制頂點Pi對曲線沒有影響。(7)若ωi→∞,則當t∈[ti,ti+k+1)時,P(t)=Pi。(8)非有理與有理Bezier曲線和非有理B樣條曲線是NURBS曲線的特殊情況。4)NURBS曲線的幾何意義以二維NURBS曲線為例:

根據每個數據點(xi,yi)(i=0,1,…,n)的權值wi將它表示為其次坐標(wi·xi,wi·yi,wi)。在其次坐標空間中,作出數據點的B樣條曲線:

顯然,將得到的三維空間中的B樣條曲線,從齊次坐標返回原來的二維空間,得到的就是NURBS曲線。 很容易將二維情況推廣到n維,這種幾何解釋也被稱為NURBS曲線的齊次坐標表示。 據此,可以通過研究其次坐標空間中的B樣條曲線性質,研究NURBS曲線。5.13NURBS曲面

1)NURBS曲面的定義

由雙參數變量、分段有理多項式定義的NURBS曲面是:

溫馨提示

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

評論

0/150

提交評論