基于草繪技術的網(wǎng)格曲面三維拉伸模型重構_第1頁
基于草繪技術的網(wǎng)格曲面三維拉伸模型重構_第2頁
基于草繪技術的網(wǎng)格曲面三維拉伸模型重構_第3頁
基于草繪技術的網(wǎng)格曲面三維拉伸模型重構_第4頁
基于草繪技術的網(wǎng)格曲面三維拉伸模型重構_第5頁
全文預覽已結束

下載本文檔

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

文檔簡介

基于草繪技術的網(wǎng)格曲面三維拉伸模型重構

0網(wǎng)格變形控制方法基于草描繪的模型結構技術,由于其高度的交叉性、開放性和易用性,已在多個領域得到應用。草繪技術不是傳統(tǒng)意義上的計算機輔助設計(ComputerAidedDesign,CAD)技術,其適用范圍是概念設計。例如在產(chǎn)品外形設計領域,為了真實反映設計者的設計理念,經(jīng)常需要利用草繪的方式,基于初始網(wǎng)格曲面模型,通過對網(wǎng)格模型的拉伸變形快速生成另一模型。目前出現(xiàn)了各種各樣的網(wǎng)格變形方法,交互性變形技術也有較大的發(fā)展,其中最具代表性的是自由變形算法,該方法通過控制旋轉變形矩陣,達到對原始模型的精確控制,但編輯和控制這些旋轉矩陣的直觀性較差且非常耗時;基于向量域和基于點技術的變形算法、基于空間虛擬雕塑變形方法,都不是對模型直接進行操作,而需要進行大量的計算,不適用于要求實時交互性強的變形系統(tǒng)。通過解偏微分方程的網(wǎng)格變形方法也得到了比較廣泛的研究,如周昆等提出利用拉普拉斯算子控制變形后模型的體積,Zimmermann等提出一種輪廓線對網(wǎng)格變形的控制方法,Schmidt等利用草繪線對模型進行變形與組合?;谳喞€的變形方法也越來越受到關注,輪廓線以直觀的方式幫助用戶控制曲面結構,通過編輯這些輪廓線,可以對曲面進行大幅度變形?;诓堇L建模系統(tǒng)Teddy,用戶使用簡單的草繪線就可以通過系統(tǒng)生成各種物體,其中也有關于曲面的拉伸算法,但是只能生成一些粗糙的拉伸模型,并不能對拉伸的形狀進行精確控制,致使其使用范圍有很大的局限性。本文在上述研究的基礎上進行擴展,提出通過草繪線來控制網(wǎng)格曲面拉伸軌跡的概念,取得了非常好的效果。主要工作體現(xiàn)在:①對拉伸區(qū)域形狀的控制,調整網(wǎng)格局部拓撲結構;②拉伸軌跡曲線自由化與非自由化表示;③草繪線投影生成三維曲線后進行光順處理。1拉伸網(wǎng)格處理區(qū)域網(wǎng)格拉伸算法流程主要包括:①拉伸區(qū)域(包括規(guī)則與不規(guī)則區(qū)域)生成;②拉伸軌跡曲線處理;③對拉伸區(qū)域邊界進行掃掠;④拉伸網(wǎng)格曲面模型生成與光順。拉伸區(qū)域邊界曲線指用戶以交互方式選擇的拉伸區(qū)域的輪廓邊界曲線(如圖1),拉伸軌跡曲線是用來描述拉伸區(qū)域被拉伸軌跡的曲線。1.1指定的開口區(qū)域1.1.1拉伸區(qū)域形狀模型的拉伸區(qū)域由用戶指定,即根據(jù)用戶繪制的封閉草繪線來確定拉伸區(qū)域,拉伸區(qū)域形狀可以是三角形、矩形、圓形和自由曲線等類型。為了計算拉伸區(qū)域邊界與網(wǎng)格模型邊的交點,需要對這些封閉的草繪線進行采樣,不同的形狀采用不同的采樣方法。(1)采樣點坐標的計算用戶只要輸入三個頂點,系統(tǒng)就可以生成三角形。依次取出三角形的兩頂點,按式(1)對兩頂點進行處理。三對頂點處理完畢時采樣結束。Ρ(u)=Vi?(1-u)+Vi+1?u。(1)P(u)=Vi?(1?u)+Vi+1?u。(1)式中:P(u)為需要計算的采樣點坐標;Vi和Vi+1為三角形的頂點坐標;u為Vi和Vi+1相關的系數(shù),u∈;i∈{0,1,2}且V3=V0。(2)形狀為三角形用戶只要輸入矩形的左上頂點和右下頂點,系統(tǒng)就會自動生成矩形。采用與形狀為三角形時相同的采樣方法,只需要將三對頂點改為四對頂點即可。(3)采樣點x坐標系統(tǒng)根據(jù)用戶輸入的起點和終點生成橢圓形。采用式(2)的方法進行采樣。Ρx=a?cos(u)+cenx,Ρy=b?sin(u)+ceny。(2)Px=a?cos(u)+cenx,Py=b?sin(u)+ceny。(2)式中:Px為需要計算的采樣點X坐標,Py為需要計算的采樣點Y坐標;u為a和b相關的系數(shù),u∈[0,2π];a為橢圓的長半軸長,b為短半軸長;cen為橢圓的中心坐標。(4)建立區(qū)域邊界此時用戶需要繪制封閉的草繪線,并按一定時間間隔對輸入的軌跡進行采樣。將計算出的采樣點投影到網(wǎng)格模型上,形成三維點。實現(xiàn)方法是利用網(wǎng)格模型的深度緩沖,向網(wǎng)格模型正投影,得出相應的三維坐標(利用OPENGL中的gluUnProject函數(shù)完成投影計算)。如果該三維點正投影到成像面,則得到的二維點與原采樣點重合。依次將新生成的三維點的集合與網(wǎng)格模型邊進行求交,當點位于網(wǎng)格模型邊上時,將其放入邊界點集。最后形成的邊界點集就是區(qū)域邊界曲線。圓和自由曲線的區(qū)域邊界如圖1所示。1.1.2基于三角截面的三角網(wǎng)格優(yōu)化與拉伸區(qū)域邊界相交的三角網(wǎng)格必須進行調整,具體步驟如下:(1)求出網(wǎng)格曲面與拉伸區(qū)域邊界相交的三角面片。(2)對每一個相交的三角面片進行處理,處理情況為:當三角形一個頂點位于拉伸區(qū)域內部時(如圖2a),將三角面片位于區(qū)域邊界外的兩個頂點與邊界相交的兩個頂點連成兩個三角面片,相對的兩個頂點彼此相連形成兩個三角形(如圖3a),然后依據(jù)三角形半徑比最大原則進行三角網(wǎng)格優(yōu)化。三角形半徑比指內切圓與外接圓半徑之比(如圖4a),如果交換前兩個三角形半徑比的最小值小于交換后兩個三角形半徑比的最小值,則交換其公共邊,否則不進行交換(如圖4b)。當三角形有兩個頂點位于拉伸區(qū)域內部(如圖2b)時,將三角面片位于拉伸區(qū)域外的一個頂點與邊界相交的兩個頂點連成一個三角形(如圖3b);當三角形三條邊都與拉伸區(qū)域邊界相交時有兩種情況:①如果三角形有兩個頂點在區(qū)域外(如圖2c),則按相交的順序將每兩個交點與交點所在邊的共同頂點連成一個三角形(如圖3c);②如果三角形有一個頂點在區(qū)域外(如圖2d),則將第一個交點和第三個交點與其所在邊的共同頂點構成一個三角形(如圖3d)。(3)處理拉伸區(qū)域邊界經(jīng)過三角面片頂點時,如果只經(jīng)過三角面片的一個頂點(如圖5a),則對圖5a(1)和圖5a(3)的情況不進行拓撲結構調整,對于圖5a(2)的情況,則將兩個交點和一個位于邊界外部的三角面片頂點構成一個三角形;如果只經(jīng)過三角面片的兩個頂點(如圖5b),則不對拓撲結構進行調整。(4)刪除位于拉伸區(qū)域內的頂點和三角面片。1.2選擇開口路徑1.2.1草釉線初始位置和拉伸區(qū)域主方向的垂直分布在拉伸區(qū)域邊界附近,用戶可繪制任意形狀的二維草繪線,用來指定拉伸區(qū)域被拉伸的形狀,該操作的關鍵在于如何將二維草繪線轉化為三維曲線。本算法采用將二維草繪線向空間某平面法方向投影的方法構造三維曲線,空間平面計算如下:定義該空間平面與拉伸區(qū)域的主方向一致,該空間平面經(jīng)過草繪線首末端點最近的兩個拉伸區(qū)域邊界點,假設這兩點為A(xa,ya,za)和B(xb,yb,zb),則根據(jù)上述條件可以求出投影平面的方程。計算草繪線首末端點與拉伸區(qū)域邊界點的距離,其中最近距離對應的點就是所要求的A和B兩點;拉伸區(qū)域主方向是各個邊界點法向量的平均值;某個邊界點法向量是經(jīng)過該點所有三角面片的面法向量的平均值。假設算出的拉伸區(qū)域主方向為(nx,ny,nz),則用式(3)表示空間平面方程|xyz1xayaza1xbybzb1nxnynz0|=0。(3)∣∣∣∣∣∣xxaxbnxyyaybnyzzazbnz1110∣∣∣∣∣∣=0。(3)為生成高質量的拉伸網(wǎng)格模型,必須對上述生成的三維軌跡曲線進行光順處理。曲線光順處理采用Savitzky-Golay過濾方法,其思想重點在于計算曲線點及其鄰近點的權值,權值基于以下因素:①該曲線上位于該點前面的采樣點數(shù)量;②該曲線上位于該點后面的采樣點數(shù)量;③光順多項式的次數(shù)。詳細的計算過程請參看文獻。表1所示為根據(jù)不同鄰近點數(shù)計算出來的權值。本文基于曲線局部光順與保持原始曲線形狀折中考慮,采用二次光順多項式,分別取三個前面點和三個后面點。對于曲線的起始三個點,該點附近實際可用點數(shù)分別為0,1和2,以同樣的方式處理末尾三個點。如果點的權值與鄰近點都已確定,則該點的新位置可以表示為v=+3∑i←-3wi?vi。(4)v=∑i←?3+3wi?vi。(4)式中:v為點的新三維坐標,wi為相應點的權值,vi代表相應鄰近點。對三維曲線上每個點用式(4)進行計算,可以構造光順的曲線。1.2.2拉伸軌跡曲線使用順序相連的直線段描述物體拉伸軌跡時,可以生成規(guī)則的拉伸網(wǎng)格曲面。用戶只要輸入線段的端點,就可以描述拉伸的形狀。按一定的規(guī)則對每個直線段進行采樣處理,如式(5)所示:Ρ(λ)=A?(1-λ)+B?(λ)。(5)P(λ)=A?(1?λ)+B?(λ)。(5)式中:P(λ)為采樣點;λ為A和B相關的系數(shù),λ∈;A為線段起始端點,B為線段末尾端點。對每個線段依次采樣后,采用與1.2.1節(jié)相同的方法形成拉伸軌跡曲線。圖6所示為根據(jù)用戶草繪線生成的拉伸軌跡。1.3拉伸區(qū)域邊界面的選擇和法向量的建立將拉伸區(qū)域邊界沿著拉伸軌跡曲線進行掃掠處理,形成的掃掠曲線被拉伸軌跡曲線包裹。從拉伸軌跡曲線首末端點(v1,v2)開始,沿著拉伸曲線以一定的規(guī)則移動(如圖7),直到兩端點相遇為止。在端點的每次移動中,有右端點移動、左端點移動、左右端點都移動三種可能選擇(如圖7)。為生成高質量的拉伸網(wǎng)格曲面,選擇端點距離最近的情況,即L1=‖v1v4‖,L2=‖v2v3‖,L3=‖v3v4‖,L1,L2和L3代表三種情況下端點的距離,選擇對應L1,L2和L3中最小值的情況。端點移動后,左右端點變成v′1和v′2,在情況1下,v′1=v1,v′2=v4;在情況2下,v′1=v3,v′2=v2;在情況3下,v′1=v3,v′2=v4。投影平面的法向量np、向量AB(見1.2.1節(jié))、np×AB向量和點A組成原始正交坐標系O*。由投影平面的法向量np,v′1v′2,np×v′1v′2和點v′1組成正交坐標系O′。拉伸區(qū)域邊界曲線的掃掠過程為:①位于坐標系O*中的曲線上的點移動到坐標系O′中;②按∥v′1v′2∥∥AB∥比例進行縮放。邊界曲線掃掠的結果如圖8所示。1.4角截面的構造為了生成完整的網(wǎng)格曲面,還需要將相鄰的掃掠曲線進行連接,圖9所示為連接的過程。生成的三角面片的法向量,必須與原始模型保持一致。首先,做如下兩個定義:①邊界邊指僅屬于一個三角形的邊;②邊所在的三角形方向是逆時針方向,稱為正方向邊,否則為負方向邊。構造三角形時需要滿足兩個條件:①某邊在一個三角形中是正方向,而在其相鄰的三角形中是負方向;②只能構造擁有邊界邊的三角形。條件①保證所有構造的三角面片的法向量一致,條件②保證可以構造三角面片的正確順序。拉伸網(wǎng)格曲面生成后,需要進行光順化處理,本文采用Laplacian光順和mean光順處理,圖10所示為不同的拉伸網(wǎng)格曲面。2拉伸操作易控性測試基于上述關鍵技術,在本課題組自主開發(fā)的軟件系統(tǒng)SketchEditor上測試運行算法,實現(xiàn)了對網(wǎng)格模型的快速編程處理,圖11所示為幾種原始模型的拉伸變形效果。將本算法與Teddy中提出的拉伸算法進行比較(如表2),本文算法速度明顯快于Teddy拉伸算法,平均快約4倍。Teddy方法不能對模型進行精確拉伸控制,只能生成粗糙的拉伸模型形狀。為評測拉伸操作的易控性,特邀請10名新用戶在8min內完成圖10和圖11中所有的拉伸操作,有一名用戶僅在4min內就完成了所有拉伸操作。圖12表示10名用戶對系統(tǒng)的反應速度和易控性問題調查問卷的結果。每一個問題有八個等級,如有關易控性問題,1代表操作非常難控制,數(shù)字越大,代表越容易控制;8代表非常容易控制。從圖12可以看出,對于操作易控性問題,有6名用戶選擇7級,4名用戶選擇8級,表明操作方法易于控制,用戶可以方便地進行拉伸變形操作。該方法

溫馨提示

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

評論

0/150

提交評論