This shows you the differences between two versions of the page.
zh-tw:rhino:meshtonurb [2017/12/28] |
zh-tw:rhino:meshtonurb [2020/08/14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== The MeshToNurb 指令 ====== | ||
+ | > **摘要:** // | ||
+ | |||
+ | =====MeshToNurb : | ||
+ | |||
+ | 為了能夠徹底了解如何操作此項指令,首先必須先了解一些基礎的3D結構幾何,例如網格Mesh 及NURBS的特徵物件,下面的內容將會簡單介紹這兩種物件的特徵。. | ||
+ | |||
+ | =====網格與NURBS===== | ||
+ | 要了解**MeshToNurb指令**的操作使用,首先必須理解網格(Mesh)與NURBS曲面模型的本質差異,雖然這兩種物件都可在電腦中描繪出3D物件,但是在操作上卻是使用完全不同的方法。 | ||
+ | |||
+ | 網格是利用一系列的離散平面來繪製一個3D曲面,類似由像素點來組成的圖片,如果平面/ | ||
+ | |||
+ | NURBS曲面是曲線及平面精確的圖像,其可以繪製出複雜且型式自由的平滑曲面,且當編輯造型時,仍能維持其平滑性。沒有和Mesh一樣的”像素點(pixelization)”或是”顆粒”,因此Nurbs所呈現出來的人臉圖像更加具體。 | ||
+ | |||
+ | 特別值得一提的是: | ||
+ | |||
+ | |||
+ | ===本文中Mesh的相關知識=== | ||
+ | 網格是由一些平直面來繪製出2D與3D的曲面,在Rhino裡面有獨立的3邊與四邊的網格面,在框架模式下,網格面會以一系列的連接線段顯示;在著色模式下,每個面都會以一個可視的曲面來顯示;網格面角落的的點稱為頂點(Vertices)。多個面組合在一起就稱之為網格物件。 | ||
+ | |||
+ | **重點提示: | ||
+ | |||
+ | ===本文中NURBS的相關知識=== | ||
+ | 在NURBS中有很豐富的訊息,NURBS是一個極為複雜的主題,在本文中將不會探討細節的部分。NURBS是建構在數學運算曲面基礎下,NURBS曲面一般是由一系列的NURBS曲線在兩個方向(“U”& | ||
+ | |||
+ | =====OK,相關知識到此為止,以下將開始討論正題===== | ||
+ | **MeshToNurb指**令 - **// | ||
+ | |||
+ | ===限制: | ||
+ | 如上所述,MeshToNurb 無法自動的執行”逆向工程”將網格物件轉換為平滑的NURBS曲面物件。因為系統限制,所以並不會有例外,一旦一個3D模型是以網格的形式呈現,那麼將很難將其轉化為平滑的NURBS物件。有很多關於逆向工程的資訊都顯示其為一個較為複雜的工程。[[zh-tw: | ||
+ | |||
+ | ===作用與用途: | ||
+ | MeshToNurb 能夠將(平直的)網格架構轉化為(平直的)NURBS架構,MeshToNurb會在每一個網格面上建立一個NURBS曲面並將其結合為多重曲面polysurface(如果原始網格物件面數多於1個) | ||
+ | |||
+ | ===使用方法: | ||
+ | **四角網格面(Mesh Quads)**能轉換成4邊未經修剪degree 1 的NURBS曲面,這邊要別提醒,”未經修剪”意味著曲面的”原始”邊緣與其外圍輪廓相同且未經修剪過。因此在此案例中,轉換後NURBS曲面定義的邊緣會與網格面的邊緣線是一致的。這代表著兩點,如果原來的網格面由4個共平面點所組成,而所有的邊緣線都在同一平面上,那麼轉換後的NURBS曲面也會是平直面;相反的,如果網格面的4個點不在同一平面,轉換後的NURBS曲面也不會在同一平面而形成扭曲的曲面。這種類型的曲面稱為”直紋面”。 | ||
+ | |||
+ | **三角網格** | ||
+ | |||
+ | 由以上可知,從MeshToNurb得到的多重曲面(polysurface)會與原始網格模型邊緣完全相同,而且轉換後的NURBS曲面都會是degree 1X1,三角形曲面都會是平直而且被剪裁過,四邊曲面會是未經修剪但不一定是平直面。 | ||
+ | |||
+ | **重要提示: | ||
+ | |||
+ | =====特別注意事項: | ||
+ | |||
+ | ===記憶體使用與文件大小=== | ||
+ | |||
+ | 網格物件可能包含了成千上萬個多邊形,網格是一種非常緊密的儲存格式,而NURBS曲面則寬鬆許多,由MeshToNurb轉換一個網格物件成為NURBS曲面很容易產生上百次數據轉換。MeshToNurb在執行由成千上萬個三角形所組成的複雜網格面會使電腦的記憶體容量不足且產生很大的檔案。建議您的電腦最好有足夠的記憶體並使用64位元操作系統,這樣在程式運算過程中能夠較順暢也能減少運算過程中問題的產生。 | ||
+ | |||
+ | ===進一步操作=== | ||
+ | |||
+ | 如果你現在有一個由MeshToNurb指令執行產生的由成千上萬極微小的NURBS曲面組合而成的NURBS物件(就像是網格一樣),你可以用它來做甚麼? | ||
+ | |||
+ | ===幾何因素=== | ||
+ | 了解此幾何類型的處理過程是很重要的,如上所述,四邊網格面不保證是平直的,而由MeshToNurb轉換得到的NURBS曲面也一樣,展開時都無法避免不變形。其無法未經延展就被發展使用,以這樣的NURBS多重曲面執行**UnrollSrf**指令,結果可能會失真或是不正確。為了確保能平直且能正確的展開,在執行MeshToNurb指令之前請務必先將網格轉換為三角形或是確認所有面都為平直(需要一個script來處理,目前Rhino尚無此功能) | ||
+ | |||
+ | =====既然有這麼多限制...這個指令到底能有甚麼用途===== | ||
+ | |||
+ | ===轉換邊數較少的多邊形=== | ||
+ | |||
+ | MeshToNurb對於轉換邊數較少的多邊形模型很有用,通常轉換為平直的NURBS曲面在Rhino中能夠進行進一步的工作。例如: | ||
+ | |||
+ | ===展開物件=== | ||
+ | 由於無法展開網格物件,我們可以利用MeshToNurb指令執行動作,而後可以展開所得到的多重曲面。須注意前述所提及的一些注意事項、文件尺寸以及幾何扭曲的問題。 | ||
+ | |||
+ | ===將網格輸出至不支援網格的程式=== | ||
+ | 必須再次提醒,在操作MeshToNurb指令時必須注意文件大小。即使你可能擁有一個有好品質的模型,但是在執行過程中仍有可能遇到一些小問題。 | ||
+ | |||
+ | //WIP msh 13.04.2011// | ||