B樣條方法在表示與設計自由型曲線曲面形狀時顯示了強大的威力,然而 | |
在表示與設計初等曲線曲面時時卻遇到了麻煩。因為B樣條曲線包括其特例的 | |
Bezier曲線都不能精確表示出拋物線外的二次曲線,B樣條曲面包括其特例的 | |
Bezier曲面都不能精確表示出拋物面外的二次曲面,而只能給出近似表示。 | |
提出NURBS方法,即非均勻有理B樣條方法主要是為了找到與描述自由型曲線 | |
曲面的B樣條方法既相統一、又能精確表示二次曲線弧與二次曲面的數學方法。 | |
NURBS方法的主要優點: | |
(1)既為標准解析形狀(即前面提到的初等曲線曲面),又為自由型曲線 | |
曲面的精確表示與設計提供了一個公共的數學形式。 | |
(2)修改控制頂點和權因子,為各種形狀設計提供了充分的靈活性。 | |
(3)具有明顯的幾何解釋和強有力的幾何配套技術(包括節點插入、細 | |
分、升階等)。 | |
(4)對幾何變換和投影變換具有不變性。 | |
(5)非有理B樣條、有理與非有理Bezier方法是其特例。 | |
不過,目前應用NURBS中還有一些難以解決的問題: | |
(1)比傳統的曲線曲面定義方法需要更多的存儲空間,如空間圓需7個參 | |
數(圓心、半徑、法矢),而NURBS定義空間圓需38個參數。 | |
(2)權因子選擇不當會引起畸變。 | |
(3)對搭接、重疊形狀的處理很麻煩。 | |
(4)反求曲線曲面上點的參數值的算法,存在數值不穩定問題。 | |
3.4.1 NURBS曲線的定義 | |
NURBS曲線是由分段有理B樣條多項式基函數定義的: | |
|
|
其中,Ri,k(t)(i=0,1,…,n)稱為k階有理基函數,Ni,k(t)是k 階B樣條 | |
基函數,Pi(i=0,1,…,n)是特征多邊形控制頂點位置矢量;w i是與Pi對應 | |
的權因子,首末權因子w 0,w n>0,其余w i3 0,以防止分母為零及保留凸包 | |
性質、曲線不因權因子而退化為一點;節點矢量為T=[t0, t1, … , ti, …, | |
點tn+k],節個數是m=n+k+1(n為控制項的點數,k為B樣條基函數的階數)。 | |
對於非周期NURBS曲線,常取兩端節點的重復度為k,即 | |
有:![]() |
|
b =1。P(t)在![]() |
|
具有k-2階連續性,對於三次B樣條基函數,具有C2連續性。當n=k-1時,k階 | |
NURBS曲線變成k-1次有理Bezier曲線,k階NURBS曲線的節點矢量中兩端節點的 | |
成節點重復度取k+1就使得曲線具有同次有理Bezier曲線的端點幾何性質。 | |
Ri,k(t)具有k階B樣條基函數類似的性質: | |
(1)局部支承性:Ri,k(t)=0,t? [ti, ti+k]; | |
(2)權性:![]() |
|
(3)可微性:如果分母不為零,在節點區間內是無限次連續可微的,在 | |
節點處 (k-1-r)次連續可導,r是該節點的重復度。 | |
(4)若w i=0,則Ri,k(t)=0; | |
(5)若w i=+¥ ,則Ri,k(t)=1; | |
(6)若w j=+¥ ,且j1 i,則Ri,k(t)=0; | |
(7)若w j=1,j=0,1,…,n, 則![]() |
|
jj=1,=0,1,…,n,且![]() ![]() |
|
Bernstein基函數。 | |
Ri,k(t)與Ni,k(t)具有類似的性質,導致NURBS曲線與B樣條曲線也具有類 | |
似的幾何性質: | |
(1)局部性質。k階NURBS曲線上參數為![]() |
|
![]() ![]() |
|
點和權因子無關;另一方面,若移動k次NURBS曲線的一個控制頂點Pi或改變所 | |
聯系的權因子僅僅影響定義在區間![]() |
|
(2)變差減小性質。 | |
(3)凸包性。定義在非零節點區間![]() |
|
位於定義它的k+1個控制頂點![]() |
|
有定義各曲線段的控制頂點的凸包的並集內。所有權因子的非負性,保證了 | |
凸包性質的成立。 | |
(4)在仿射與透射變換下的不變性。 | |
(5)在曲線定義域內有與有理基函數同樣的可微性。 | |
(6)如果某個權因子![]() ![]() |
|
(7)若![]() ![]() ![]() |
|
(8)非有理與有理Bezier曲線和非有理B樣條曲線是NURBS曲線的特殊情 | |
況 。 | |
3.4.2 齊次坐標表示 | |
為了便於討論,我們考慮平面NURBS曲線的情況。圖3.1.34所示,如果給 | |
一組控制頂點![]() ![]() |
|
則在齊次坐標系xyw中的控制頂點為![]() |
|
齊次坐標下的k階非有理B樣條曲線可表示為: | |
![]() |
|
若以坐標原點為投影中心,則得到平面曲線: | |
![]() |
|
![]() |
|
三維空間的NURBS曲線可以類似地定義。即對於給定的一組控制頂點 | |
![]() ![]() |
|
帶權控制點![]() |
|
k階非有理B樣條曲線![]() ![]() |
|
投影,即得三維空間里定義的一條k階NURBS曲線![]() |
|
幾何意義,也說明,非有理B樣條的算法可以推廣到NURBS曲線,只不過是在 | |
齊次坐標下進行。 | |
3.4.3 權因子的幾何意義 | |
由於NURBS曲線權因子w i只影響參數區間定義在區間![]() |
|
上的那部分曲線的形狀,因此,我們只考察整條曲線的這一部分。如果固定曲線的參數t,![]() ![]() |
|
NURBS曲線上t值相同的點都位於同一直線上,如圖3.1.35所示。我們把曲線與 | |
有理基函數的記號用用如下包含其權因子![]() |
|
![]() ![]() ![]() ![]() |
|
分別是![]() ![]() |
|
![]() ![]() |
|
令 a =Ri,k(t; w i=1 ),b = Ri,k(u) |
|
N,Bi可表示為: | |
![]() |
|
用a 、b 可得到下述比例關系: | |
![]() |
|
上式是(Pi,Bi,N,B)四點的交比,由此式可知: | |
(1)若w i增大活減小,則b 也增大或減小,所以曲線被拉向或推離開 | |
Pi點; | |
(2)若w j增大或減小,曲線被推離或拉向Pj(j1 i)。 | |
![]() |
|
3.4.4 圓錐曲線的NURBS表示 | |
若取節點向量為![]() |
|
且 | ![]() |
可以證明,這是圓錐曲線弧方程,![]() ![]() |
|
確定了圓錐曲線的類型。![]() ![]() |
|
上式是雙曲線弧,![]() ![]() |
|
退化為一對直線段![]() ![]() ![]() ![]() |
|
兩點的直線段,如圖3.1.36所示。 | |
![]() |
|
3.4.5 NURBS曲線的修改 | |
NURBS曲線的修改有多種方式,常用的方法有修改權因子、控制點和反插 | |
節點。 | |
1.修改權因子 | |
權因子的作用是:當保持控制頂點和其它權因子不變,減少或增加某權因 | |
子時,曲線被推離或拉向相應頂點。假定已給k階(k-1)次NURBS曲線上參數 | |
為t的一點S,欲將曲線在該點拉向或推離控制頂點![]() |
|
![]() ![]() ![]() |
|
![]() |
|
![]() |
|
其中,![]() ![]() ![]() ![]() ![]() ![]() |
|
間,即曲線被拉向頂點和![]() |
|
修改過程是拾取曲線上一點![]() ![]() |
|
控制多邊形的一個頂點![]() ![]() |
|
![]() ![]() |
|
![]() ![]() ![]() ![]() |
|
2.修改控制頂點 | |
若給定曲線上參數為![]() ![]() |
|
新位置![]() ![]() ![]() |
|
![]() |
|
於是: |
|
由此可得新控制頂點: |
|
3.反插節點 | |
給定控制多邊形頂點![]() ![]() ![]() |
|
![]() ![]() |
|
的邊上選取一點![]() ![]() |
|
![]() |
|
![]() |
|
於是: |
|
所以 ![]() |
|
這就是使得![]() |
|
當插入新節點![]() ![]() |
|
制頂點被包括![]() |
|
![]() |
|
3.4.6 非均勻有理B樣條(NURBS)曲面 | |
1.NURBS曲面的定義 | |
由雙參數變量分段有理多項式定義的NURBS曲面是: | |
![]() |
|
式中![]() ![]() |
|
四角點處用正權因子,即![]() ![]() ![]() |
|
和![]() ![]() |
|
![]() |
|
節點矢量![]() ![]() |
|
公式決定,通常具有下面的形式: | |
p個 q個 p個 q個 |
|
2.NURBS曲面的性質 | |
有理雙變量基函數![]() |
|
(1)局部支承性質:![]() ![]() |
|
![]() |
|
(2)權性:![]() |
|
(3)可微性:在每個子矩形域內所有偏導數存在,在重復度為r的u節點 | |
處沿u向是p-r-1次連續可微,在重復度為r的v節點處沿v向是q-r-1次連續可 | |
微; | |
(4)極值:若p,q>1,恆有一個極大值存在; | |
(5)![]() |
|
NURBS曲面與非有理B樣條曲面也有相類似的幾何性質,權因子的幾何意義 | |
及修改、控制頂點的修改等也與NURBS曲線類似,這里不在贅述。 | |
我們已經知道,計算機中表示形體,通常用線框、表面和實體三種模 | |
型。線框模型和表面模型保存的三維形體信息都不完整,只有實體模型才能 | |
夠完整地、無歧義地表示三維形體。前面我們已經介紹了曲線曲面常用的的 | |
表示形式及其理論基礎,從本小節開始,我們介紹實體造型技術的有關問題, | |
主要包括形體在計算機內的表示、分類求交算法和典型的實體造型系統。 | |
再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://blog.csdn.net/jiangjunshow