NURBS曲線與曲面


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,即
   
  有:,在大多數實際應用中,a =0,
b =1。P(t)在區間上是一個k-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, 則是B樣條基函數;若w
jj=1,=0,1,…,n,且,Bi,k(t)是
Bernstein基函數。  
   
  Ri,k(t)與Ni,k(t)具有類似的性質,導致NURBS曲線與B樣條曲線也具有類
 似的幾何性質:
 
  (1)局部性質。k階NURBS曲線上參數為的一點
至多與k個控制頂點Pi及權因子有關,與其它頂
點和權因子無關;另一方面,若移動k次NURBS曲線的一個控制頂點Pi或改變所
聯系的權因子僅僅影響定義在區間上那部分曲線的形狀
   
  (2)變差減小性質。
   
  (3)凸包性。定義在非零節點區間上曲線段
 位於定義它的k+1個控制頂點的凸包內。整條NURBS曲線位於所
 有定義各曲線段的控制頂點的凸包的並集內。所有權因子的非負性,保證了
凸包性質的成立。 
   
  (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曲線方程變成以為參數的直線方程,即
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表示  
 
  若取節點向量為,則NURBS曲線退化為二次Bezier曲線,
 
   
  可以證明,這是圓錐曲線弧方程,稱為形狀因子,的值
確定了圓錐曲線的類型。時,上式是拋物線弧,時,
上式是雙曲線弧,時,上式是橢圓弧。且時,上式
退化為一對直線段時,上式退化為連接
兩點的直線段,如圖3.1.36所示。    
 
 
 3.4.5 NURBS曲線的修改  
 
  NURBS曲線的修改有多種方式,常用的方法有修改權因子、控制點和反插
節點。 
 
  1.修改權因子
   
  權因子的作用是:當保持控制頂點和其它權因子不變,減少或增加某權因
 子時,曲線被推離或拉向相應頂點。假定已給k階(k-1)次NURBS曲線上參數
為t的一點S,欲將曲線在該點拉向或推離控制頂點一個距離d,以得到新點
,可由重新確定相應的權因子使之改變為來達到,如圖3.1.37所示。 
 
 
  其中,表示兩點間的距離,d有正負之分,若
間,即曲線被拉向頂點和,d為正,反之為負。
   
  修改過程是拾取曲線上一點,並確定該點的參數,再拾取
控制多邊形的一個頂點,它是k+1個控制頂點中的一個,即
,便可算出兩點間的距離d。若在直線段上拾取一個點
 ,就能確定替代老權因子的新權因子,修改后的曲線將通過點。  
 
  2.修改控制頂點
   
  若給定曲線上參數為的一點S,方向矢量V和距離d,計算控制頂點
 新位置,以使曲線上S點沿V移動距離d到新位置可表示為: 
 

於是:

由此可得新控制頂點:

 
  3.反插節點
   
  給定控制多邊形頂點與權因子及節點矢量
,就定義了一條k階NURBS曲線。現欲在該多邊形的 
的邊上選取一點,使得點成為一個新的控制頂點,這就是所謂反插節點。
點可按有理線性插值給出:    
 

 於是:

 

所以

 
  這就是使得成為一個新控制頂點而要插入的新節點。
   
  當插入新節點使成為新控制頂點的同時,將有k-2個老控
制頂點被包括在內的新控制頂點所替代,如圖3.1.38所示。 
 
 
 3.4.6 非均勻有理B樣條(NURBS)曲面  
 
  1.NURBS曲面的定義
   
  由雙參數變量分段有理多項式定義的NURBS曲面是:
 
   
  式中是矩形域上特征網格控制點列,是相應控制點的權因子,規定
四角點處用正權因子,即,其余
是p階和q階的B樣條基函數,是雙變量有理基函數:  
 
   
  節點矢量按de Boor遞推
公式決定,通常具有下面的形式: 

 

p個 q個

p個 q個

   
  2.NURBS曲面的性質
   
  有理雙變量基函數與非有理B樣條基函數相類似的性質:
   
  (1)局部支承性質:當或
  
   
  (2)權性:
   
  (3)可微性:在每個子矩形域內所有偏導數存在,在重復度為r的u節點
處沿u向是p-r-1次連續可微,在重復度為r的v節點處沿v向是q-r-1次連續可
微;
   
  (4)極值:若p,q>1,恆有一個極大值存在;
   
  (5)是雙變量B樣條基函數的推廣。
   
  NURBS曲面與非有理B樣條曲面也有相類似的幾何性質,權因子的幾何意義
及修改、控制頂點的修改等也與NURBS曲線類似,這里不在贅述。
 
  我們已經知道,計算機中表示形體,通常用線框、表面和實體三種模
型。線框模型和表面模型保存的三維形體信息都不完整,只有實體模型才能
夠完整地、無歧義地表示三維形體。前面我們已經介紹了曲線曲面常用的的
表示形式及其理論基礎,從本小節開始,我們介紹實體造型技術的有關問題,
 主要包括形體在計算機內的表示、分類求交算法和典型的實體造型系統。  
 

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://blog.csdn.net/jiangjunshow


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM