摘 要:對虛擬油泥造型系統中的刮削、填補和刮削并填補三種造型方法進行了研究,介紹了其實現方法。首先根據造型工具的形狀和運動狀態,實時構造掃描體表面模型并離散為壓縮體素模型,然后與虛擬油泥模型進行布爾運算,從而實現刮、削、掃等操作。該方法成功應用于虛擬油泥造型系統,效果良好。
關鍵詞:油泥模型;虛擬油泥造型;壓縮體素模型;布爾運算
中圖法分類號:TP391文獻標識碼:A
文章編號:1001—3695(2007)02—0181—02
汽車車身外形由許多復雜的光滑曲面組成,而這些光滑曲面的形狀和特性各不相同、變化多樣[1],一般的機械制圖方法很難表達,故在傳統車身造型設計過程中需要通過透視圖及油泥模型來把握車身的立體形狀[2]。這種方法設計周期長、費用高,且難以保證精度,只能通過測量的手段獲得汽車模型信息,形成了產品開發過程中的信息流斷點[3]。因此在車身造型設計過程中,引入了計算機輔助式樣設計(Computer Aided Styling,CAS)。當今普遍應用的CAS系統大部分都提供了基于樣條的自由曲面建模功能,其產品外形通過曲線和曲面的特征控制點控制。該方法的主要缺點是在交互操作過程中需要很高的數學知識,對操作人員要求很高并且培訓周期很長;隨著交互操作的進行,模型的表示越來越精細,計算機內部的數學表示必須做出很大變動并且越來越復雜;操作過程中所用的輸入工具,如鼠標、鍵盤和菜單等不能形象地體現汽車油泥模型制作過程[3,4],這些都限制了設計師的造型能力和創造力的發揮。基于以上原因,對未來汽車外形設計軟件提出了更高的要求,由此開發了虛擬油泥造型系統。它采用近年來3D造型技術和虛擬現實技術發展的新成果,基于壓縮體素(Voxel)模型建立計算機內部虛擬油泥模型。設計者可以像傳統的油泥建模過程那樣進行刮、削、掃等操作,充分支持設計師的創意設計能力的發揮。該系統對操作人員的數學功底要求不高,操作、學習簡單。提取的虛擬油泥模型表面信息可以直接進入后續的產品設計過程,克服了傳統汽車產品開發過程中的信息流斷點,縮短了設計周期,降低了設計成本。
在虛擬油泥造型系統中,造型方法設計是很重要的一個環節,它影響設計人員對模型進行修改的靈活性以及設計過程圖形顯示的實時性。
1 傳統的油泥建模方法
傳統的汽車油泥模型制作大多采用手工加工方式,通常是由專業人員根據設計草圖構造出三維汽車模型,然后由造型人員通過油泥刮刀、刮片、測量儀器、模板和金屬膜等工具構造出立體的汽車模型。油泥模型制作中主要有刮削和填補(加法)兩種造型方法。例如模芯上涂抹油泥時,先將油泥薄薄地涂上一層,壓實,再敷上一層厚的油泥;模型初刮時,用手將油泥堆積至滿足基本尺寸,然后高的地方用刮刀、刮片等工具刮削(圖1(a)),低的地方可以用手或雕塑刀往上填加油泥(圖1(b))[5—7] 。
傳統的油泥模型制作過程一般比較費時、勞動強度大、費用較高,獲得的三維汽車模型信息只能通過測量過程進入后續的產品設計過程,形成了產品開發過程中的信息流斷點。
2 虛擬油泥造型方法
虛擬油泥造型方法與傳統的油泥模型造型方法相類似,主要有刮削、填補和刮削并填補三種。這三種方法在虛擬油泥建模過程中主要是通過布爾運算來實現的。首先在造型工具運動過程中,根據工具的截面形狀和運動狀態實時構造掃描體,即刮削和填補(粘貼)單元;掃描體被離散為壓縮體素模型,然后與初始油泥模型進行布爾運算,從而實現刮、削、掃等操作。
2.1 工具掃描體的構造
在虛擬油泥造型系統中,造型工具可以近似為二維平面圖形,如圖2所示。該平面由三條直線段(這里稱為輔助邊)和一條特征曲線圍成,其主要工作部分是造型工具的特征曲線。特征曲線可以是任意直線,如直線、圓弧、二次曲線等。掃描體的形狀主要由造型工具的形狀決定。本文采用掃描包絡理論來討論造型工具三維空間掃描體的構造。這里的三維空間掃描體是指一空間有限平面沿軌跡線移動而形成的掃描體。在移動過程中,平面法矢量與軌跡線切矢量始終保持一致。造型工具三維空間掃描體是造型工具在Δt時間內沿工具導軌移動形成的空間掃描體。運用包絡理論,造型工具運動所形成的掃描體可被分解為三部分:起點處和終點處的造型工具平面及造型工具邊界掃描出的平面或曲面,這樣計算掃描體的問題被轉換為確定掃描體的邊界問題,即造型工具運動所形成的包絡面。
在造型工具運動過程中,需要記錄每個步長處造型工具的位置,兩個連續位置之間的包絡面是由構成造型工具的直線或者任意曲線(直線、圓弧、二次曲線等)沿著工具導軌運動形成的。如圖3所示,通常情況下造型工具三維空間掃描體由五個平面和特征曲線掃描出的曲面(平面)包圍而成。
2.2 造型原理
虛擬油泥造型過程與傳統油泥造型過程一致,設計者可以用鼠標、空間鼠標或軌跡跟蹤系統刮削或涂抹虛擬的油泥材料,利用刮削、填補、刮削并填補三種造型方法完成對原模型的修改。
刮削操作主要用來削掉虛擬的油泥材料,如圖4所示,刮削發生在造型工具與原模型相交的地方。
填補操作主要是根據造型工具與原模型的位置關系,在兩個形體之間添加虛擬油泥材料,如圖5所示。
刮削并填補操作是刮削與填補兩個操作的組合,在刮削的同時填補虛擬油泥材料,如圖6所示。
2.3 數據結構
掃描體構造完成后,要對其進行離散,以簡化布爾運算。虛擬油泥造型系統采用壓縮的體素模型建立計算機內部虛擬油泥模型,壓縮的體素模型用三個相互垂直方向的Dexel模型表示,每個Dexel模型用一個鏈表表示,該鏈表的節點表示Dexel射線和物體的交點。同一方向的所有Dexel模型存儲在一個二維的矩陣之中,因此壓縮形式的體素模型由三個二維矩陣(分別代表XOY,YOZ,XOZ坐標平面)組成。由于Dexel模型記錄了射線與物體的交點,因此在Dexel射線方向可以用浮點數比較精確地表示物體表面的位置[8,9]。
用壓縮體素模型表示物體時,體素之間的拓撲關系由數據結構(i, j,k,m)確定,m表示模型材料信息,1表示在模型內部或表面上,0表示在模型外部,即油泥部分(Clay)的屬性值為1,空白部分(Air)的屬性值為0。
2.4 布爾運算
虛擬油泥造型方法的基本操作為刮削和填補,這兩種方法對應的布爾邏輯運算為差和并。參與布爾運算的兩個物體都是用壓縮的體素模型表示,壓縮體素模型用三個方向的Dexel模型表示,由于每個Dexel模型記錄Dexel射線和物體表面的交點,因此兩個體素模型之間的布爾操作可轉換為對應的Dexel模型之間的一維布爾運算,其操作得到了簡化,提高了布爾運算的效率。
圖7表達了兩個Dexel模型之間的Cut,Paste,Xor布爾操作過程,A和B表示兩個Dexel模型,用黑色表示油泥(Clay),用白色表示空白部分(Air)。
當Voxel模型定義了兩種以上的材質時,以上布爾運算不再適用,必須另外定義相應的布爾操作運算。
3 結論與應用
本文中提到的三種造型方法已經在虛擬油泥造型中得到了成功應用,效果良好。圖8是造型工具的特征曲線為任意曲線時這幾種造型方法的應用效果示意圖,以及用這三種造型方法初刮的某型汽車虛擬油泥模型。技術與VR技術結合使傳統的計算機輔助式樣設計方法發生了革命性的變革,可以廣泛應用于汽車、飛機和其他工業產品的開發過程。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。