PPT2-NURBS原理_第1頁
PPT2-NURBS原理_第2頁
PPT2-NURBS原理_第3頁
PPT2-NURBS原理_第4頁
PPT2-NURBS原理_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、NURBS全稱是Non-Uniform Rational B-Splines中文叫做非均勻有理B樣條曲線,Rhinoceros中的模型曲線便是通過NRUBS曲線進行描述,曲面則是通過U和V兩個方向的曲線集合來得到。Rhinoceros中不存在真正的實體,所謂實體即是通過表面封閉的曲面來得到。1 NURBS概述在Rhinoceros中建模,理解NURBS的內在原理是建立良好模型的基礎,在Rhinoceros中,有四個基本元素來定義一根NURBS曲線:階(Degree)、控制點(Control Points)、節(jié)點(Knots)和評定規(guī)則(Evaluation Rule),下面將配合使用Rhino

2、ceros中的幾何元素和分析工具來分別研究這些定義。在計算機圖形學領域通常使用Gn連續(xù)評價來衡量曲面與曲面,曲線與曲線之間以及修補曲面或者修補曲線與原曲面曲線之間的連續(xù)方式以及平滑程度。Gn連續(xù)從連續(xù)的光滑程度分為G0連續(xù)(位置連續(xù))、G1連續(xù)(切線連續(xù))、G2連續(xù)(曲率連續(xù))、G3連續(xù)(曲率變化連續(xù))、G4連續(xù)(曲率變化率的變化率連續(xù))甚至更高。在Rhinoceros中,用來評價曲線連續(xù)性的工具一般使用 (CurvatureGraph)曲率圖形工具,評價曲面的連續(xù)性一般使用 (Zebra)斑馬線曲率分析工具。這兩者都位于建模工具欄中的分析工具集 內。2 幾何學上的連續(xù)規(guī)則G0連續(xù) G0連續(xù)又

3、稱位置連續(xù),是指兩個對象(曲線或曲面)點點相接,相接處曲線無斷點、曲面無漏縫。判斷方法:當視覺上無法明顯判斷兩個曲線或者曲面是否形成G0連續(xù),可以使用工具檢查,曲線使用 曲率分析工具檢查連續(xù)性,在GO轉折處曲率的法線方向不重合,曲率圖形相互分開。在Rhinoceros中,出現G0連續(xù)的曲線可以被連接成一條多重曲線G0連續(xù)出現G0連續(xù)的兩個曲面在GO連續(xù)處斑馬線出現錯開的情況。G0連續(xù)轉折處曲率變化細部。G1連續(xù)G1連續(xù)又稱相切連續(xù),發(fā)生G1連續(xù)的兩個對象在相交處不僅點點連續(xù),而且呈一階導數的連續(xù)關系,也就是切線一致的關系。這種連續(xù)僅使其曲率圖形在相交處的法線方向一致,而沒有形成曲率連續(xù)關系,我

4、們通常的對曲線進行導圓角即是這種情況。判斷方法:曲線的曲率圖形在交點處法線方向一致(代表切線方向一致),但半徑不等,也就表現為曲率圖形在相交處發(fā)生突變。G1連續(xù)曲面斑馬線紋理連續(xù)但方向發(fā)生突變。在連續(xù)處的點和旁邊兩個控制點此3點位于同一條直線上,而且我們將點不論移動到哪個位置,只要位于該直線上(但相對的位置方向不能發(fā)生變化),這兩條曲線都將形成G1連續(xù)。我們可以通過這種方法來手動調節(jié)兩條曲線形成G1連續(xù)。G2連續(xù)G2連續(xù)又稱曲率連續(xù),發(fā)生G2連續(xù)的兩個對象在相交處點點連續(xù),而且其曲率的切線方向和半徑大小都一致。這種連續(xù)性的曲線其曲率圖形會呈現一個G0連續(xù)的不發(fā)生間斷的曲線形式,因此更高階的連續(xù)

5、其曲率圖形也更加光滑。判斷方法:曲線的曲率圖形點點連續(xù),不發(fā)生突變,在G2連續(xù)處曲率半徑相等,且法線方向重合。G2連續(xù)曲面斑馬線紋理連續(xù)且光滑。個人經驗:在建筑學相關的建模當中,只要保證曲面轉折處形成一個G1連續(xù)即可保證在后期渲染視圖中達到一個光滑的轉折效果。3 NURBS深入理解前面提到:一根NURBS曲線包含以下四個概念:階(Degree)、控制點(Control Points)、節(jié)點(Knots)和評定規(guī)則(Evaluation Rule),下面來深入理解這幾個概念的含義,以及“非均勻有理B樣條曲線”得名的由來,理解相關概念會對進階的Rhino建模會有很大幫助。3.1 曲線的“階”NUR

6、BS曲線的“階”(Degree)即表示描述NURBS曲線的多項式次方,從幾何學上可以知道y = Ax3 + Bx2 + Cx + D這類的多項式可以通過坐標系來描述一根曲線,在NURBS曲線的內在原理中,使用更為復雜的數學函數來表達一根曲線,但與以上數學方程式屬于同一種邏輯。曲線的階越高,代表曲線的光滑程度越高,但曲線的計算和儲存消耗的資源也更多。曲線的階是與曲線內部的連續(xù)性存在一定關系,2階曲線只能達到G1的連續(xù)性,3階曲線只能達到G2的連續(xù)性,4階曲線只能達到G3的連續(xù)性,依次類推。3.2 曲線的“控制點”控制點是通過類似于對曲線產生一個牽引力來影響曲線的造型,在NURBS曲線中,每個控制

7、點的這個牽引力都有一個可變化的值,叫做“權重”(Weight)。 NURBS曲線的規(guī)則當中,控制點數目的最小值等于Degree+1。在我們實際建模過程中,基本上都使用非有理曲線,只要不刻意改變曲線或曲面上控制點的權重值,權重的賦值都為1.0,但某些類型的曲線始終為有理曲線,例如圓和橢圓。有理與無理曲線3.3 曲線的“節(jié)點”節(jié)點(Knot點)是NURBS曲線多項式中記錄曲線參數值的點,也是NURBS中最難理解的概念。“節(jié)”(Knot):是一根B樣條曲線的骨架,它是有一系列均勻賦值的區(qū)間構成,這一系列賦值叫做“節(jié)點矢量”。但注意節(jié)點矢量與幾何學上的矢量有所不同,它不是一個三維空間的有向箭頭,而是一

8、系列數字。NURBS通過一個“代碼規(guī)則”將這系列數值映射到坐標系上的點。一個標準的均勻賦值節(jié)點矢量以上節(jié)點矢量可以表示為0,1,2,3,4,5,6,7,若此時恰好有7個控制點存在,一個簡單的模型描述便是這7個控制點便通過其位置對這7個節(jié)點區(qū)間造成影響從而變化成一根曲線(實際規(guī)則要更加復雜)。NURBS曲線通過對B-樣條曲線的均勻節(jié)點矢量進行擴展,允許節(jié)點矢量賦值不均勻,例如將以上節(jié)點矢量變?yōu)?,1,2,3.3,4.67,5,6,7那么就會由于某些控制點影響的區(qū)間發(fā)生變化,而造成形成與剛才均勻賦值下曲線形態(tài)不同的一根曲線。節(jié)點矢量賦值的規(guī)則:一、節(jié)點數字數目=階數+控制點數-1;二、數字從前往后

9、必須維持不變或者增大;三、節(jié)點值的重復數目必須小于等于階數。因此對于一個3階具有6個控制點的曲線來說: 0,0,0,1,2,3,3,3是一個有效的節(jié)點列表,0,0,0,3,2,4,4,4則是一個無效的節(jié)點列表,因為出現了前面的數值大于后面的數值,0,0,0,0,2,3,4,4也是一個無效的節(jié)點列表,因為出現了四個重復節(jié)點值大于曲線的本身階數3階。節(jié)點矢量在出現重復的地方稱為復節(jié)點-“MutilKnot”,重復數等于階數的節(jié)點賦值又稱為全復節(jié)點(Full-MultKnot)。NURBS一根曲線的節(jié)點賦值以全復節(jié)點開始,其中間全為單節(jié)點,最后以全以全復節(jié)點開始,其中間全為單節(jié)點,最后以全復節(jié)點結束

10、,而且節(jié)點值呈等差,那么這根復節(jié)點結束,而且節(jié)點值呈等差,那么這根NURBS曲線即為曲線即為 “均勻均勻(Uniform)”的的。對于3階6個控制點的NURBS曲線而言 0,0,0,1,2,3,3,3節(jié)點賦值即是一個均勻(Uniform)的節(jié)點賦值。反之,曲線則為不均勻。(Non- Uniform)的Grasshopper插件中提供了一個工具-“Knots Vector”可以得到任意階數和控制點數量情況下均勻的節(jié)點矢量賦值。復節(jié)點若是出現在NURBS曲線內部,會導致降低曲線的連續(xù)性。重復一次,該處的連續(xù)性降低1,例如3階曲線內部具有G2連續(xù)性,若是在內部出現一個全復節(jié)點,也就是節(jié)點賦值重復兩次

11、,那么在此點處將只具有G0的連續(xù)性,出現一個Kink銳角點。在Rhinoceros中,可以對曲線對象增加( (InsertKnot)或者移除一個節(jié)點( (RemoveKnot),但無法對節(jié)點進行直接操作,可以通過插入銳角點命令在曲線內插入一個全復節(jié)點,并可炸開成為兩條曲線。通常我們使用 (Curve)以CV點建立曲線工具得到的曲線會是均勻曲線,而使用 (InterpCrv)以內插點建立曲線工具得到的是不均勻的曲線(但可以設置子參數讓其變?yōu)榫鶆颍?.4 評定規(guī)則評定規(guī)則便是Rhinoceros使用的一套通過采集用戶的輸入行為來得到一個NURBS對象的計算機代碼集合,這個規(guī)則集合包含了“階”、“

12、控制點”、“節(jié)點”、“B-樣條曲線公式”、“坐標映射”等各種因素,通過采集用戶的輸入數據來得到一個NURBS對象,例如其最基礎的一部分便是將節(jié)點矢量數值轉換為坐標系上的點。3.5 Rhinoceros中其他的一些概念編輯點(Edit Point)、銳角點(Kink Point)、夾點(Clamped Point)、焊接點(Seam Point)及其他概念:編輯點(Edit Point) 編輯點也是可以用來直接進行拖動進行曲線造型的點,很容易誤認為編輯點即曲線的節(jié)點。實際上編輯點雖然往往出現和節(jié)點重復的情況(在均勻曲線下),但編輯點只是由曲線節(jié)點平均值得到的點,編輯點的數量總是等于控制點。圖3.*為同一NURBS曲線的節(jié)點(上)與編輯點(下) 夾點(Clamped Point) 我們隨便建立一根不封閉的曲線,然后使用What命令檢查這根曲線的詳細信息,會發(fā)現“起點和終點為夾點”的描述,若是英文版,則描述為“Clamped at start and end”。夾點可理解為曲線起始點處節(jié)點與控制點重合,因此所有的非封閉曲線都是夾點曲線,不包含銳角點的封閉曲線也都是夾點曲線僅有周期曲線為非夾點曲線(閉曲線)。當我們使用Join命令結合兩根曲線時,被連接在一起的點便是一個焊接點(Seam Point),焊接點的焊接對象都是夾點,也就是曲線的始末點。焊接點(Seam Point)結合在

溫馨提示

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

評論

0/150

提交評論