NURBS曲线与曲面
生活随笔
收集整理的這篇文章主要介紹了
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
轉載于:https://www.cnblogs.com/skiwnchiwns/p/10344894.html
總結
以上是生活随笔為你收集整理的NURBS曲线与曲面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css设置表格边框
- 下一篇: fernflower idea内置的反编