亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于特征的CAD體網(wǎng)格模型編輯、優(yōu)化算法的制作方法

文檔序號:11953705閱讀:289來源:國知局
本發(fā)明涉及計算機輔助設計及有限元分析領(lǐng)域,尤其是指一種基于特征的CAD體網(wǎng)格模型編輯、優(yōu)化算法。
背景技術(shù)
::計算機輔助設計技術(shù)(Computer-AidedDesign,CAD)指以計算機作為輔助工具,幫助工程領(lǐng)域的設計人員設計產(chǎn)品的技術(shù)。能夠有效地加快產(chǎn)品設計分析的速度,提高制造效率及精度,提高經(jīng)濟效益。在計算機輔助設計技術(shù)的幫助下,工程技術(shù)人員可以實現(xiàn)“無紙化”作業(yè),利用計算機的幫助,高效地完成產(chǎn)品的分析、設計、繪制以及制造等工作。利用計算機輔助設計技術(shù),在節(jié)約資源降低設計成本的同時,也極大地加快了產(chǎn)品的設計速度,提高產(chǎn)品質(zhì)量。美國波音公司從70年代開始就使用CAD技術(shù)輔助設計飛機,到90年代生產(chǎn)波音-777客機時,已全部實現(xiàn)無紙化設計和生產(chǎn),極大地提高了生產(chǎn)效率和數(shù)據(jù)管理效率。一般地,產(chǎn)品的生產(chǎn)包含設計、分析與制造幾部分。設計人員用CAD軟件設計好模型后,由分析人員先把模型網(wǎng)格化,然后用有限元軟件進行有限元分析,直到產(chǎn)品性能合格,再去生產(chǎn)。隨著軟硬件技術(shù)的發(fā)展,特別是材料技術(shù)、3d打印技術(shù)的發(fā)展,工業(yè)4.0和中國制造2025概念的提出,越來越多的工業(yè)人員希望把設計與制造這兩個獨立的過程集成起來。目前,計算機輔助設計的核心工作是對產(chǎn)品進行幾何建模,在利用計算機輔助設計的相關(guān)軟件對產(chǎn)品設計之后,需要對產(chǎn)品的性能進行驗證,檢查通過此次設計得到的產(chǎn)品的性能是否可以達到實際應用的要求,這就需要用到計算機輔助工程(Computer-AidedEngineering,CAE)技術(shù)。在計算機及輔助工程技術(shù)誕生之前,需要對設計的產(chǎn)品研制出具體的樣品,并通過實際的物理實驗來檢驗其性能。無法達到要求則需要重新設計、制造、檢驗,消耗巨大成本的同時,也耗費了很多時間。而借助于計算機輔助工程技術(shù),可以利用計算機來模擬實際的實驗環(huán)境,對虛擬的樣品進行檢測,進而在實際的物理實驗之前,提前找出大部分的設計缺陷,可以極大地降低產(chǎn)品開發(fā)的成本,加快開發(fā)速度。有限元分析技術(shù)(FiniteElementAnalysis,F(xiàn)EA)是計算機輔助工程技術(shù)最重要的理論基礎(chǔ)。它將連續(xù)的區(qū)域離散化,生成由特定單元組成的計算模型,便于對其進行數(shù)值求解。借助這種技術(shù),工程中大量的仿真問題得以解決?,F(xiàn)在,許多基于有限元分析的計算機輔助工程的相關(guān)商業(yè)軟件已經(jīng)在建筑、機械、航空、航天等多個領(lǐng)域廣泛使用,比如ABAQUS、ANSYS、ADINA和Nastran等。目前,有限元分析技術(shù)已經(jīng)相對比較成熟了,然而,由于歷史原因,在計算機輔助設計與有限元分析的集成方面還有一些急需解決的問題。問題主要在于計算機輔助設計與有限元分析系統(tǒng)的數(shù)據(jù)表示不一致,因此,通過計算機輔助設計的相關(guān)軟件設計出的幾何模型必須要進行一些修改,才能轉(zhuǎn)換為有限元分析系統(tǒng)可以讀取的數(shù)據(jù)。在這個過程中,生成用于合適有限元分析應用的網(wǎng)格往往需要比較長的時間。實際過程中,即使對于模型的修改是局部的,往往也需要重新回到CAD軟件中做修改,然后再進行一系列的簡化和網(wǎng)格化工作。而在實際的工程設計流程中,往往需要對模型反復的設計與分析,這樣就要不停地重復進行模型轉(zhuǎn)換的工作,從而會極大地降低產(chǎn)品開發(fā)的效率。網(wǎng)格模型,是對曲面或空間的一種離散化表示,具體來說,是三維空間中,利用頂點位置以及頂點之間的連接關(guān)系對模型的一種表示方式。一般地,要對產(chǎn)品的模型進行性能分析,首先需要對產(chǎn)品進行網(wǎng)格化,得到相應的有限元網(wǎng)格模型。在有限元分析中,四面體網(wǎng)格和六面體網(wǎng)格是常用的兩種體網(wǎng)格單元。一般地,由于四面體網(wǎng)格能覆蓋整個三維模型,并且表示簡單緊湊,而且四面體網(wǎng)格化要比六面體網(wǎng)格化更容易,因此,在實際應用中,四面體網(wǎng)格應用更為廣泛,許多商業(yè)化的CAE軟件都支持四面體網(wǎng)格化。四面體網(wǎng)格被廣泛應用于基于物理的變形,模擬仿真,產(chǎn)品質(zhì)量評估等。如圖1所示,在產(chǎn)品設計等過程中,三維模型往往首先通過計算機輔助設計軟件生成出來,之后使用有限元分析工具將其離散化為網(wǎng)格模型,進而來評估此次設計后模型的質(zhì)量,如果評估結(jié)果不符合設計要求,則需要重復整個過程。而且在實際的工程設計流程中,設計時模型會經(jīng)常變化,而在以往的方法中,模型上任何細微的變化,都需要對整個模型重復進行利用計算機輔助設計系統(tǒng)的生成以及有限元分析工具的優(yōu)化的過程,這是非常費時的。隨著社會工業(yè)的發(fā)展,傳統(tǒng)的開發(fā)流程明顯已不適應社會的發(fā)展。為加快產(chǎn)品開發(fā)效率,縮短開發(fā)周期,將CAD和CAE兩個過程結(jié)合起來十分必要,這也是在工業(yè)4.0中的必然要求。在這個結(jié)合過程中,通常有兩個解決方案。其中一個是在CAD軟件中引入相應的有限元分析功能,以便在設計后能直接進行有限元分析。目前,一些商業(yè)CAD軟件已經(jīng)初步具備部分有限元分析的功能,如SolidWorks、UG/NX等。然而,即使如此,目前這些商用軟件也只是把CAD與CAE的數(shù)據(jù)簡單地統(tǒng)一起來。如果模型做了變動,仍然需要對整個模型進行簡化和網(wǎng)格化等工作。另一個方法,則是研究直接能編輯有限元網(wǎng)格的方法。目前,已經(jīng)存在大量的網(wǎng)格編輯方法。然而,這些方法絕大多數(shù)都是針對面網(wǎng)格模型的,在體網(wǎng)格模型的編輯方面,相關(guān)的研究工作相對較少。此外,這些方法的適用對象基本都是圖形學模型和動畫模型,考慮的大多數(shù)是編輯前后的光滑性和細節(jié)性等視覺上的問題,雖然這些方法對許多模型的變形可以取得較好的效果,但是工業(yè)應用上的機械零件CAD模型往往具有許多尖銳的特征(feature),而且還具有一些編輯語義的局部形狀存在,直接應用這些已有的方法,很難保證編輯前后的語義和特征。另外,如果對CAD體網(wǎng)格模型編輯的幅度較大,被編輯區(qū)域的網(wǎng)格質(zhì)量會變差,這就需要研究一種體網(wǎng)格優(yōu)化算法來對網(wǎng)格進行優(yōu)化。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供了一種基于特征的CAD體網(wǎng)格模型編輯、優(yōu)化算法,該方法可以在編輯的過程中,精確地保持零件模型原有的形狀特征,可以實時地對體網(wǎng)格模型的局部形狀特征進行編輯,而不必重復進行CAD模型編輯和生成有限元網(wǎng)格等過程,提高了模型設計的效率;另外,該方法能有效、快速地對四面體網(wǎng)格模型進行局部優(yōu)化,并得到符合有限元分析的體網(wǎng)格模型,保證了編輯后的網(wǎng)格模型能繼續(xù)滿足有限元分析需求。為實現(xiàn)上述目的,本發(fā)明提供的技術(shù)方案為:一種基于特征的CAD體網(wǎng)格模型編輯、優(yōu)化算法,包括以下步驟:1)基于特征的CAD體網(wǎng)格模型編輯1.1)讀入CAD體網(wǎng)格模型并對外表面區(qū)域進行分割,提取相應的外表面區(qū)域;1.2)用戶交互式地選取外表面區(qū)域,作為要編輯的形狀特征的操作區(qū)域;1.3)對用戶選定的每一個形狀特征的“操作區(qū)域”,進行以下計算:針對當前“操作區(qū)域”,建立局部坐標系,該“操作區(qū)域”對應的“操作點”作為當前局部坐標系的原點;計算并記錄網(wǎng)格所有頂點在當前局部坐標系中的坐標,便于通過操作區(qū)域、操作點來對整個網(wǎng)格進行編輯;1.4)對每個“操作點”,構(gòu)建優(yōu)化方程,并利用Eigen求解優(yōu)化方程,求得每個“操作點”對網(wǎng)格上每個頂點的權(quán)重;并對“操作點”的權(quán)重進行歸一化操作,使得網(wǎng)格上的每個頂點,各個操作點對其的權(quán)重總和為1;1.5)記錄用戶對每個“操作區(qū)域”進行的旋轉(zhuǎn)平移編輯操作,將相應的操作作用在以對應“操作點”為原點的局部坐標系的每個頂點坐標上;將每個“操作點”為原點的局部坐標系下的每個頂點的坐標數(shù)據(jù)變換到全局坐標系即最初模型所處的坐標系,將每個頂點的坐標數(shù)據(jù)乘以其對應“操作點”的權(quán)重,加和得到最終頂點的坐標數(shù)據(jù),這樣,每個頂點的坐標都得以更新,模型的編輯操作也已經(jīng)完成;2)基于特征的CAD四面體網(wǎng)格模型優(yōu)化2.1)如果執(zhí)行的迭代次數(shù)小于迭代閾值,則執(zhí)行步驟2.2),否則,執(zhí)行步驟2.3);2.2)對于網(wǎng)格的每一條邊,如果其邊長大于4/5*target_edge_length,其中target_edge_length是目標邊長,則對其執(zhí)行邊分裂操作;如果其邊長小于4/5*target_edge_length,那么對其執(zhí)行邊收縮操作;本步驟的兩種操作將會對網(wǎng)格模型的拓撲單元進行增加與刪除;然后執(zhí)行步驟2.4);2.3)檢查網(wǎng)格的每一條邊與每一個面,對于符合條件的邊與面,對其鄰接的四面體單元執(zhí)行四面體翻轉(zhuǎn)的操作,然后執(zhí)行步驟2.4);2.4)執(zhí)行網(wǎng)格頂點坐標的平滑操作,過程如下:2.4.1)對網(wǎng)格外表面上的頂點進行平滑,平滑時只根據(jù)這個頂點的一鄰域中在外表面上的頂點來確定頂點平滑后的坐標;平滑過程中注意保持模型的語義形狀特征,位于網(wǎng)格特征線上的頂點不應該進行平滑操作;另外,如果網(wǎng)格的外表面不是平面,那么表面頂點平滑后的位置往往不在外表面上,這就需要在平滑之后,對外表面上的頂點進行一個向原始網(wǎng)格即輸入網(wǎng)格的外表面投影的操作;2.4.2)對網(wǎng)格的內(nèi)部頂點進行平滑;2.5)如果執(zhí)行了前四個步驟后,網(wǎng)格的拓撲元素數(shù)目相比于執(zhí)行前變化不大,或者達到執(zhí)行次數(shù)的上限,停止,否則,執(zhí)行步驟2.1)。在步驟1.4)中,所述的操作點權(quán)重的計算,其方法為:定義M=(V,E,F,H)為具有n個頂點的四面體網(wǎng)格,V,E,F,H分別為該網(wǎng)格的頂點集合、邊集合、面集合以及四面體集合,對于頂點i∈M,其笛卡爾坐標被表示為vi=(xi,yi,zi);定義Rj=(Vj,Ej,Fj),j=1,...,m為用戶選取的所有的外表面操作區(qū)域,共m個,Pj,j=1,...,m為每個操作區(qū)域所對應的操作點;wj是操作點j在網(wǎng)格所有頂點上的權(quán)重集合,以向量的形式表示,wj(vj)則是操作點j對頂點i的權(quán)重;由于Ls包含了網(wǎng)格的所有拓撲鄰接信息,并且,操作點的權(quán)重,在當前操作區(qū)域所包含的頂點上應該為1,在非當前操作區(qū)域包含的頂點上,應該為0;由此,能夠?qū)⑶蠼獠僮鼽c權(quán)重的問題建模為一個最優(yōu)化問題,通過對這個最優(yōu)化問題的求解來求得當前操作點對網(wǎng)格上所有頂點的權(quán)重,見下面的公式:argminwj,j=1,...,m(||Lswj||2)---(1)]]>滿足:wj(vj)=1,∀i∈Rj---(2)]]>wj(vi)=0,∀i∈(R-Rj)---(3)]]>Σj=1mwj(vi)=1,∀i∈M---(4)]]>0≤wj(vi)≤1,∀i∈M---(5)]]>其中,R為用戶選取的所有操作區(qū)域的集合,Rj=(Vj,Ej,Fj),j=1,...,m的并集,Ls是體網(wǎng)格下的拓撲拉普拉斯算子,它的構(gòu)建方式與面網(wǎng)格下的類似,即:(Ls)ij=di,i=j-1,(i,j)∈E0,otherwise---(6)]]>Ls也被稱為網(wǎng)格的拉普拉斯矩陣,能夠表示網(wǎng)格的頂點之間的連接關(guān)系;di表示頂點i的度數(shù),即與頂點i通過邊相連的頂點的個數(shù);(i,j)表示網(wǎng)格中由頂點i與頂點j構(gòu)成的邊,E為網(wǎng)格的邊集合;通過對此優(yōu)化問題的求解,能夠得到每個操作點在每個頂點上的權(quán)重wj(vi);并且,每個頂點上,所有操作點對其的權(quán)重和為1,每個操作點在每個頂點上的權(quán)重取值范圍是[0,1]。在步驟2.2)中,所述的邊收縮方法,在保持形狀特征方面,需要注意以下條件:如果一條邊的兩個頂點為A、B,一個頂點A位于四面體的內(nèi)部,而另一個頂點B位于四面體的外表面上,那么則應該拒絕進行邊收縮的操作,否則將會使模型的外表面以頂點B為中心凹陷進去;如果邊AB不在網(wǎng)格模型的外表面上,但是邊的兩個頂點A、B均在網(wǎng)格的外表面上,那么說明頂點A、B分屬于模型的兩個不同的外表面區(qū)域,這種情況下應該拒絕進行邊收縮的操作,否則將會使模型的外表面以這兩個頂點為中心,向內(nèi)凹陷成一個點,破壞模型形狀的同時,也容易產(chǎn)生非法的拓撲單元;如果想要進行邊收縮的邊的一個頂點在特征線的交匯處,那么另一個頂點不管是在網(wǎng)格的內(nèi)部還是在其表面,都應該拒絕進行邊收縮的操作,否則將會嚴重損毀CAD模型的形狀特征。在步驟2.3)中,所述的外表面四面體翻轉(zhuǎn)操作,其方法為:外表面的邊與兩個四面體相鄰,直接進行四面體2-2翻轉(zhuǎn);外表面的邊與三或四個四面體相鄰,這時候則能夠先對相鄰四面體中完全位于網(wǎng)格內(nèi)部的邊即指沒有頂點位于網(wǎng)格外表面上的邊執(zhí)行邊收縮操作,這樣能夠?qū)⑵滢D(zhuǎn)換為當前邊僅與兩個四面體相鄰的情況來操作,即利用四面體2-2翻轉(zhuǎn)來處理;外表面的邊與大于四個四面體相鄰,將這條邊相鄰的四面體單元看作一個整體,提取其與其他四面體相鄰的三角面片以及外表面邊翻轉(zhuǎn)后的兩個三角面片組成一個封閉的區(qū)域,利用TETGEN對此封閉區(qū)域進行四面體生成,刪除原四面體后,用新生成的四面體填充這塊區(qū)域,實現(xiàn)外表面邊翻轉(zhuǎn)的操作。本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點與有益效果:1、本發(fā)明算法可以快速、有效的編輯體網(wǎng)格CAD模型,并保持模型本身的語義形狀特征。算法利用有限元網(wǎng)格的特點,把復雜的體拉普拉斯算子進行簡化后建立相應的優(yōu)化方程來編輯網(wǎng)格。由于該優(yōu)化方程最后可以轉(zhuǎn)化為線性系統(tǒng)的求解,因此,對于數(shù)量龐大的體網(wǎng)格模型來說,求解效率比較高,適合用戶根據(jù)需要對局部形狀特征進行實時的交互式的編輯。此外,本算法是通過變動區(qū)域的仿射變換來重構(gòu)體網(wǎng)格頂點的,因此,非常適合應用于修改網(wǎng)格模型上的形狀特征的參數(shù),得到局部修改體網(wǎng)格模型的效果。2、本發(fā)明算法通過定義在CAD體網(wǎng)格表面上的用于表示形狀特征的“外表面區(qū)域”與“特征線”等概念,對位于網(wǎng)格外表面與內(nèi)部的四面體,分別進行針對性的拓撲優(yōu)化與幾何優(yōu)化操作。針對邊收縮與四面體翻轉(zhuǎn)操作提出了一些策略來保持網(wǎng)格的形狀特征,并針對四面體網(wǎng)格外表面上的邊,提出了邊翻轉(zhuǎn)的解決方案。實驗表明,算法在保持模型形狀特征的同時,對于低質(zhì)量的四面體網(wǎng)格優(yōu)化效果明顯,并且可以快速的對CAD網(wǎng)格模型局部編輯后的區(qū)域進行體網(wǎng)格優(yōu)化,使得優(yōu)化后的網(wǎng)格模型能滿足有限元分析的需求。3、本發(fā)明算法可以直接對有限元網(wǎng)格模型進行局部編輯,并對編輯后質(zhì)量較差的網(wǎng)格區(qū)域進行優(yōu)化,并且整個過程中可以精確的保持模型原有的特征,有效解決實際工程中重復重網(wǎng)格化的問題,加快產(chǎn)品開發(fā)的速度,具有較高的實際意義。附圖說明圖1為目前工業(yè)產(chǎn)品設計流程示意圖。圖2為本發(fā)明的基于特征的CAD體網(wǎng)格模型編輯流程圖。圖3為本發(fā)明的基于特征的CAD四面體網(wǎng)格優(yōu)化流程圖。圖4為本發(fā)明的基于特征的CAD四面體網(wǎng)格優(yōu)化中的邊分裂操作示意圖。圖5為本發(fā)明的基于特征的CAD四面體網(wǎng)格優(yōu)化中的邊收縮操作示意圖。圖6為四面體2-3翻轉(zhuǎn)與3-2翻轉(zhuǎn)的示意圖。圖7為四面體4-4翻轉(zhuǎn)的示意圖。圖8a為模型1編輯前的結(jié)果。圖8b為對模型1編輯后的結(jié)果。圖9a為模型1優(yōu)化前內(nèi)部的結(jié)果。圖9b為模型1優(yōu)化后內(nèi)部的結(jié)果。圖10為模型1優(yōu)化前后,被優(yōu)化的局部區(qū)域四面體質(zhì)量分布圖。圖11a為優(yōu)化前的模型2內(nèi)部的結(jié)果。圖11b為模型2優(yōu)化后內(nèi)部的結(jié)果。圖12為模型2優(yōu)化前后,被優(yōu)化的局部區(qū)域四面體質(zhì)量分布圖。圖13a為優(yōu)化前的模型3結(jié)果。圖13b為模型3優(yōu)化后的結(jié)果。圖14為模型3優(yōu)化前后,被優(yōu)化的局部區(qū)域四面體質(zhì)量分布圖。具體實施方式下面結(jié)合具體實施例對本發(fā)明作進一步說明。本實施例所述的基于特征的CAD體網(wǎng)格模型編輯、優(yōu)化算法,其具體情況如下:1.基于特征的CAD體網(wǎng)格模型編輯我們定義了相應的外表面區(qū)域來作為形狀特征的幾何面。每個外表面區(qū)域都是一組相鄰的“表面網(wǎng)格單元”(對于四面體網(wǎng)格,這里的“表面網(wǎng)格單元”指的是三角形單元;而對六面體網(wǎng)格,“表面網(wǎng)格單元”則指的是四邊形單元)的集合。在模型的編輯過程中,用戶可以指定某些外表面區(qū)域作為模型編輯的“操作區(qū)域”,位于操作區(qū)域上的所有頂點的重心,被稱為該“操作區(qū)域”的“操作點”。對每個“操作點”構(gòu)建局部坐標系,用戶對不同的操作區(qū)域執(zhí)行平移、旋轉(zhuǎn)等仿射變換,該變換作用在局部坐標系上。通過對各個“操作點”的局部坐標的值,以及“操作點”對每個頂點的權(quán)重,來構(gòu)建出網(wǎng)格每個頂點的坐標,實現(xiàn)模型的編輯操作。如圖2所示,基于特征的CAD體網(wǎng)格模型編輯步驟如下:1)讀入CAD體網(wǎng)格模型并對外表面區(qū)域進行分割,提取相應的外表面區(qū)域;2)用戶交互式地選取外表面區(qū)域,作為要編輯的形狀特征的操作區(qū)域,在圖2的過程2中,選擇的兩個操作區(qū)域用深色顯示了出來;3)對用戶選定的每一個形狀特征的“操作區(qū)域”,進行以下計算:a)針對當前“操作區(qū)域”,建立局部坐標系,該“操作區(qū)域”對應的“操作點”作為當前局部坐標系的原點。b)計算并記錄網(wǎng)格所有頂點在當前局部坐標系中的坐標,便于通過操作區(qū)域、操作點來對整個網(wǎng)格進行編輯。4)對每個“操作點”,構(gòu)建優(yōu)化方程,并利用Eigen求解優(yōu)化方程,求得每個“操作點”對網(wǎng)格上每個頂點的權(quán)重。并對“操作點”的權(quán)重進行歸一化操作,使得網(wǎng)格上的每個頂點,各個操作點對其的權(quán)重總和為1。5)記錄用戶對每個“操作區(qū)域”進行的旋轉(zhuǎn)平移等編輯操作,將相應的操作作用在以對應“操作點”為原點的局部坐標系的每個頂點坐標上。將每個“操作點”為原點的局部坐標系下的每個頂點的坐標數(shù)據(jù)變換到全局坐標系(最初模型所處的坐標系),將每個頂點的坐標數(shù)據(jù)乘以其對應“操作點”的權(quán)重,加和得到最終頂點的坐標數(shù)據(jù)。這樣,每個頂點的坐標都得以更新,模型的編輯操作也已經(jīng)完成。操作點權(quán)重的計算與編輯后的網(wǎng)格頂點坐標重構(gòu)為這個算法的關(guān)鍵內(nèi)容,下面對這兩個步驟展開介紹。1)操作點權(quán)重的計算定義M=(V,E,F,H)為具有n個頂點的四面體網(wǎng)格,V,E,F,H分別為該網(wǎng)格的頂點集合、邊集合、面集合以及四面體集合,對于頂點i∈M,其笛卡爾坐標被表示為vi=(xi,yi,zi);定義Rj=(Vj,Ej,Fj),j=1,...,m為用戶選取的所有的外表面操作區(qū)域,共m個,Pj,j=1,...,m為每個操作區(qū)域所對應的操作點;wj是操作點j在網(wǎng)格所有頂點上的權(quán)重集合,以向量的形式表示,wj(vj)則是操作點j對頂點i的權(quán)重;由于Ls包含了網(wǎng)格的所有拓撲鄰接信息,并且,操作點的權(quán)重,在當前操作區(qū)域所包含的頂點上應該為1,在非當前操作區(qū)域包含的頂點上,應該為0;由此,能夠?qū)⑶蠼獠僮鼽c權(quán)重的問題建模為一個最優(yōu)化問題,通過對這個最優(yōu)化問題的求解來求得當前操作點對網(wǎng)格上所有頂點的權(quán)重,見下面的公式:argminwj,j=1,...,m(||Lswj||2)---(1)]]>滿足:wj(vj)=1,∀i∈Rj---(2)]]>wj(vi)=0,∀i∈(R-Rj)---(3)]]>Σj=1mwj(vi)=1,∀i∈M---(4)]]>0≤wj(vi)≤1,∀i∈M---(5)]]>其中,R為用戶選取的所有操作區(qū)域的集合,Rj=(Vj,Ej,Fj),j=1,...,m的并集,Ls是體網(wǎng)格下的拓撲拉普拉斯算子,它的構(gòu)建方式與面網(wǎng)格下的類似,即:(Ls)ij=di,i=j-1,(i,j)∈E0,otherwise---(6)]]>Ls也被稱為網(wǎng)格的拉普拉斯矩陣,能夠表示網(wǎng)格的頂點之間的連接關(guān)系;di表示頂點i的度數(shù),即與頂點i通過邊相連的頂點的個數(shù);(i,j)表示網(wǎng)格中由頂點i與頂點j構(gòu)成的邊,E為網(wǎng)格的邊集合;通過對此優(yōu)化問題的求解,能夠得到每個操作點在每個頂點上的權(quán)重wj(vi);并且,每個頂點上,所有操作點對其的權(quán)重和為1,每個操作點在每個頂點上的權(quán)重取值范圍是[0,1]。公式(1)-(5)可以通過最小二乘方法求解,公式(1)作為要求解的目標方程,公式(2)-(5)則作為約束。對算法利用C++實現(xiàn)時,可以通過Eigen庫來求解這個優(yōu)化問題。2)編輯后的網(wǎng)格頂點坐標重構(gòu)利用步驟1)所介紹的優(yōu)化問題的求解,我們得到了每個操作點對網(wǎng)格所有頂點的權(quán)重,通過這些權(quán)重,以及計算好的在每個操作點所記錄的坐標系下的網(wǎng)格頂點坐標,可以重構(gòu)出網(wǎng)格所有頂點的坐標數(shù)據(jù)。見公式(7),表示操作點j所記錄的坐標系下,點i的坐標值。vi=Σj=1mwj(vi)·vi(j),∀i∈M---(7)]]>當用戶利用已選擇的某個操作區(qū)域來對網(wǎng)格進行了某種仿射變換,定義為Tj,j=1,...,m,可以將此仿射變換作用在對應操作點所記錄的網(wǎng)格頂點坐標上,再通過公式(7)求得變換后的網(wǎng)格頂點坐標數(shù)據(jù)。如公式(8)所示:vi′=Σj=1mwj(vi)·Tjvi(j),∀i∈M---(8)]]>vi'表示進行網(wǎng)格模型編輯之后的網(wǎng)格頂點坐標數(shù)據(jù),在實際的實驗過程中,獲得了來自于用戶的對某個操作區(qū)域的仿射變換相關(guān)參數(shù)之后,將該變換作用在對應操作點的局部坐標系的網(wǎng)格頂點數(shù)據(jù)上,得到編輯后的局部坐標。然后,將局部坐標轉(zhuǎn)換到全局坐標空間下,應用公式(8)即可獲得編輯后的網(wǎng)格坐標數(shù)據(jù),完成體網(wǎng)格模型編輯操作。2.基于特征的CAD四面體網(wǎng)格模型優(yōu)化在對基于特征的體網(wǎng)格編輯進行介紹時,引入了體網(wǎng)格“外表面區(qū)域”的概念。通過對讀入的CAD體網(wǎng)格模型進行預處理,獲得網(wǎng)格的外表面區(qū)域集合。外表面區(qū)域可以作為表示網(wǎng)格表面形狀特征的幾何面,那么網(wǎng)格表面上不同外表面區(qū)域交界上的邊就是辨識CAD網(wǎng)格形狀特征的關(guān)鍵,這里將位于兩個外表面區(qū)域交界上的邊集合組成的空間中的線段集,稱為“特征線”。本優(yōu)化就是通過對特征線上的邊與點進行特殊的處理,來實現(xiàn)對CAD體網(wǎng)格模型語義形狀特征的保持。如圖3所示,基于特征的CAD四面體網(wǎng)格模型優(yōu)化步驟如下:1)如果優(yōu)化算法目前執(zhí)行的迭代次數(shù)小于迭代閾值(iteration_threshold),則執(zhí)行步驟2),否則,執(zhí)行步驟3)。2)對于網(wǎng)格的每一條邊,如果其邊長大于4/5*target_edge_length,target_edge_length是目標邊長,則對其執(zhí)行邊分裂(split)操作;如果其邊長小于4/3*target_edge_length,那么對其執(zhí)行邊收縮(collapse)操作。本步驟的兩種操作將會對網(wǎng)格模型的拓撲單元(頂點,線,面,四面體)進行增加與刪除。這里的4/5與4/3兩個參數(shù)的選取借鑒自Botsch等[BotschM,KobbeltL.Aremeshingapproachtomultiresolutionmodeling[A].Proceedingsofthe2004Eurographics/ACMSIGGRAPHsymposiumonGeometryprocessing[C].ACM,2004:185-192.]所提出的三角網(wǎng)格的優(yōu)化算法。執(zhí)行步驟4)。3)檢查網(wǎng)格的每一條邊與每一個面(僅在執(zhí)行四面體2-3翻轉(zhuǎn)時,以面為檢查單位),對于符合條件的邊與面,對其鄰接的四面體單元執(zhí)行四面體翻轉(zhuǎn)(flip)的操作。四面體翻轉(zhuǎn)的具體條件以及需注意的問題將在下文中闡明。執(zhí)行步驟4)。4)執(zhí)行網(wǎng)格頂點坐標的平滑(smooth)操作,過程如下:a)對網(wǎng)格外表面上的頂點進行平滑,平滑時只根據(jù)這個頂點的一鄰域中在外表面上的頂點來確定頂點平滑后的坐標。平滑過程中注意保持模型的語義形狀特征,位于網(wǎng)格特征線上的頂點不應該進行平滑操作。另外,如果網(wǎng)格的外表面不是平面,那么表面頂點平滑后的位置往往不在外表面上,這就需要在平滑之后,對外表面上的頂點進行一個向原始網(wǎng)格(即輸入網(wǎng)格)的外表面投影的操作。b)對網(wǎng)格的內(nèi)部頂點進行平滑。5)如果算法執(zhí)行了前四個步驟后,網(wǎng)格的拓撲元素數(shù)目相比于執(zhí)行前變化很小,或者達到算法執(zhí)行次數(shù)的上限,算法停止。否則,執(zhí)行步驟1)。優(yōu)化算法的流程如上所述,目標邊長的可以由用戶指定,也可以按照以下公式求得,定義M=(V,E,F,H)為具有n個頂點的四面體網(wǎng)格,V,E,F,H分別為該網(wǎng)格的頂點集合、邊集合、面集合以及四面體集合,則目標邊長的計算方法如下:HQ={h|h∈H^Squality(h)>τ}(9)EQ={e|e∈Etetrahedron(h)^h∈HQ}(10)target_edge_length=Σe∈EQSlength(e)|EQ|---(11)]]>Squality為計算四面體單元質(zhì)量的函數(shù),τ為四面體質(zhì)量閾值,HQ為網(wǎng)格中質(zhì)量大于閾值的四面體集合。Etetrahedron函數(shù)用來獲得四面體的六條邊的集合。EQ為HQ中所有四面體包含的邊的集合。利用公式(11)計算出EQ中所有邊的平均長度,獲得目標邊長。Slength為計算邊長度的函數(shù),|EQ|為EQ集合中元素的數(shù)目。步驟2)、3)是對四面體網(wǎng)格進行拓撲優(yōu)化操作,步驟4)是對網(wǎng)格模型進行幾何平滑優(yōu)化。步驟2)是通過邊分裂與邊收縮這兩項拓撲操作來改變網(wǎng)格的四面體單元密度,使網(wǎng)格的邊長快速趨近于目標邊長。步驟3)的目的則是提高網(wǎng)格的質(zhì)量,包括四面體網(wǎng)格外表面的規(guī)則程度以及內(nèi)部四面體單元的質(zhì)量。一般情況下,步驟2)執(zhí)行3~8次后,網(wǎng)格的邊長會與目標邊長相差很小,可以不再進行邊分裂與邊收縮的操作,轉(zhuǎn)而執(zhí)行四面體翻轉(zhuǎn)。所以,迭代閾值默認設為8,也可以由用戶設定。對于網(wǎng)格局部壓縮的編輯操作,步驟2)需要執(zhí)行的次數(shù)較少,對于局部的拉伸的操作,需要執(zhí)行步驟2)的次數(shù)比較多。步驟5)中,算法的執(zhí)行次數(shù)的上限同樣可由用戶設定,默認設置為20。本算法的關(guān)鍵步驟為拓撲優(yōu)化操作與幾何優(yōu)化操作,下面展開詳細介紹:1)拓撲優(yōu)化操作算法執(zhí)行的拓撲優(yōu)化操作包括邊分裂[MuthukrishnanSN,ShiakolasPS,NambiarRV,etal.SimpleAlgorithmforAdaptiveRefinementofThree-dimensionalFiniteElementTetrahedralMeshes[J].AIAAJournal.1995,33(5):928-932.],邊收縮[DeCougnyHL,ShephardMS.ParallelRefinementandCoarseningofTetrahedralMeshes[J].InternationalJournalforNumericalMethodsinEngineering.1999,46(7):1101-1125.],四面體翻轉(zhuǎn)三類操作。四面體翻轉(zhuǎn)由包括位于網(wǎng)格表面的四面體翻轉(zhuǎn)與網(wǎng)格內(nèi)部的四面體翻轉(zhuǎn)。內(nèi)部的四面體翻轉(zhuǎn)[KlingnerBM,ShewchukJR.Aggressivetetrahedralmeshimprovement[A].Proceedingsofthe16thinternationalmeshingroundtable[C].SpringerBerlinHeidelberg,2008:3-23.]主要包括四面體的“3-2翻轉(zhuǎn)”(3-2flip),“2-3翻轉(zhuǎn)”(2-3flip)以及“4-4翻轉(zhuǎn)”(4-4flip)。a)邊分裂邊分裂操作如圖4所示,在執(zhí)行時不會破壞網(wǎng)格原本的形狀特征,也不會產(chǎn)生非法的四面體單元,沒有太多需要注意的地方。b)邊收縮邊收縮操作如圖5所示,在執(zhí)行時要注意一下幾點:如果一條邊的兩個頂點為A、B,一個頂點A位于四面體的內(nèi)部,而另一個頂點B位于四面體的外表面上,那么則應該拒絕進行邊收縮的操作。否則將會使模型的外表面以頂點B為中心凹陷進去。如果邊AB不在網(wǎng)格模型的外表面上,但是邊的兩個頂點A、B均在網(wǎng)格的外表面上,那么說明頂點A、B分屬于模型的兩個不同的外表面區(qū)域,這種情況下應該拒絕進行邊收縮的操作,否則將會使模型的外表面以這兩個頂點為中心,向內(nèi)凹陷成一個點,破壞模型形狀的同時,也容易產(chǎn)生非法的拓撲單元。如果想要進行邊收縮的邊的一個頂點在特征線的交匯處,那么另一個頂點不管是在網(wǎng)格的內(nèi)部還是在其表面,都應該拒絕進行邊收縮的操作,否則將會嚴重損毀CAD模型的形狀特征。假設要收縮的邊為AB,集合Sa為與點A相鄰并且不與邊AB相鄰的四面體集合,集合Sb為與點B相鄰并且不與邊AB相鄰的四面體集合。如果集合Sa與集合Sb中的四面體兩兩之間有面相鄰的情況,那么不能對AB執(zhí)行邊收縮的操作,否則會出現(xiàn)非法的四面體單元。由于執(zhí)行邊收縮后,除了刪除這條邊相鄰的一圈四面體之外,這條邊兩個頂點會被合并為一個頂點,這會引起附近的區(qū)域中未被刪除的四面體的一個頂點位置發(fā)生變化。如果在變化后出現(xiàn)四面體翻轉(zhuǎn)甚至交叉的情況,應該拒絕執(zhí)行邊收縮的操作。c)外表面四面體翻轉(zhuǎn)外表面四面體翻轉(zhuǎn)是指對位于網(wǎng)格外表面上的邊的鄰接四面體進行的翻轉(zhuǎn)操作。目的是為了調(diào)整位于網(wǎng)格外表面上的頂點的度數(shù),使得每個頂點的“外表面度數(shù)”(與當前頂點相鄰的其他外表面頂點的數(shù)目)趨近于6,從而盡可能使本算法的四面體網(wǎng)格優(yōu)化算法優(yōu)化后的外表面網(wǎng)格與單純的對外表面網(wǎng)格執(zhí)行三角網(wǎng)格優(yōu)化算法的結(jié)果一致。因此,這里的外表面四面體翻轉(zhuǎn)前后的網(wǎng)格外表面的拓撲變化與現(xiàn)存的三角網(wǎng)格的邊翻轉(zhuǎn)操作實現(xiàn)的效果完全一致,這里也將這類操作稱為“邊翻轉(zhuǎn)”。不過由于體網(wǎng)格外表面上的邊所鄰接的四面體的數(shù)目并不固定,所以需要根據(jù)邊所鄰接的四面體的數(shù)目來對邊翻轉(zhuǎn)操作的實現(xiàn)進行分類,這也是本算法發(fā)明的創(chuàng)新點之一。外表面的邊與兩個四面體相鄰,這種情況也被稱為四面體的“2-2翻轉(zhuǎn)”(2-2flip),在這個操作的過程中,要翻轉(zhuǎn)的邊鄰接的四面體所占有的空間體積沒有被改變,而是被新的四面體單元所填充。兩個四面體所共用的面以及共用的位于外表面上的邊均被翻轉(zhuǎn),所以有些人也習慣將這里的“邊翻轉(zhuǎn)”稱為“面翻轉(zhuǎn)”。外表面的邊與三或四個四面體相鄰,這時候則可以先對相鄰四面體中完全位于網(wǎng)格內(nèi)部的邊(指沒有頂點位于網(wǎng)格外表面上的邊)執(zhí)行邊收縮操作,這樣可以將其轉(zhuǎn)換為當前邊僅與兩個四面體相鄰的情況來操作。外表面的邊與大于四個四面體相鄰,這種情況下如果再采取上一種情況提到的策略,連續(xù)的進行邊收縮會對周邊的四面體單元造成較大的修改,很可能產(chǎn)生更多低質(zhì)量四面體,因此本算法對這種情況提出了新的策略。將這條邊相鄰的四面體單元看作一個整體,提取其與其他四面體相鄰的三角面片以及外表面邊翻轉(zhuǎn)后的兩個三角面片組成一個封閉的區(qū)域。利用TETGEN對此封閉區(qū)域進行四面體生成,刪除原四面體后,用新生成的四面體填充這塊區(qū)域,實現(xiàn)外表面邊翻轉(zhuǎn)的操作。以上,對四面體網(wǎng)格邊翻轉(zhuǎn)的實現(xiàn)方式進行了闡述,不過在執(zhí)行邊翻轉(zhuǎn)之前,還需要檢測當前邊是否應該進行邊翻轉(zhuǎn),本算法按照以下的方式進行檢查。如果進行邊翻轉(zhuǎn)的邊位于網(wǎng)格的特征線上,則拒絕對其進行邊翻轉(zhuǎn)的操作。否則,通過比較翻轉(zhuǎn)前后的附近頂點的外表面度數(shù)來決定是否執(zhí)行邊翻轉(zhuǎn)。以假設網(wǎng)格外表面上的邊為AB,其兩個頂點分別是A和B,如果要對其進行翻轉(zhuǎn),那么翻轉(zhuǎn)后的邊的兩個頂點為C和D。設函數(shù)valence(v)可以獲得頂點v的外表面度數(shù),由于四面體網(wǎng)格模型的外表面必定是閉合的三角網(wǎng)格,那么每個位于外表面上的頂點的最佳外表面度數(shù)應該是6。如下式所示:deviationpre=|valence(A)-6|+|valence(B)-6|+|valence(C)-6|+|valence(D)+6|deviationpost=|valence(A)-1-6|+|valence(B)-1-6|+|valence(C)+1-6|+|valence(D)+1-6|(12)在上式中,deviationpre和deviationpost分別表示在進行邊翻轉(zhuǎn)前后,四個頂點的外表面度數(shù)與目標外表面度數(shù)(即6)之間的偏差總和。如果deviationpre的值大于deviationpost,那么應該對這條邊執(zhí)行邊翻轉(zhuǎn)操作。d)內(nèi)部四面體翻轉(zhuǎn)圖6為四面體2-3翻轉(zhuǎn)與3-2翻轉(zhuǎn)操作,圖7展示了四面體4-4翻轉(zhuǎn)操作。這些都屬于內(nèi)部四面體翻轉(zhuǎn)的過程,這些操作不會破壞網(wǎng)格模型的形狀特征,只要再四面體翻轉(zhuǎn)的操作后,局部區(qū)域的四面體質(zhì)量得到提高,并且沒有產(chǎn)生非法的四面體單元,即可執(zhí)行相應的四面體翻轉(zhuǎn)操作。2)幾何優(yōu)化操作對于網(wǎng)格外表面上沒有位于網(wǎng)格特征線上某一頂點,設其坐標為v,n為此頂點的法向量(可以通過對此頂點相鄰的外表面三角面片的法向量加和再歸一化得到),p為此頂點鄰接的外表面頂點坐標的質(zhì)心,那么此頂點新的坐標值v'可以通過以下的公式得到,該公式借鑒自Botsch等[BotschM,KobbeltL.Aremeshingapproachtomultiresolutionmodeling[A].Proceedingsofthe2004Eurographics/ACMSIGGRAPHsymposiumonGeometryprocessing[C].ACM,2004:185-192.]所提出的三角網(wǎng)格的優(yōu)化算法。v'=p+nnT(v-p)(13)頂點的法向量n在這里的作用是保證平滑操作對頂點坐標的修改后,新的坐標會落在原頂點法向量的切平面上。如果網(wǎng)格模型的外表面不是平面,在用以上公式平滑之后,外表面頂點新的位置很可能會偏離原模型的外表面,那么需要進行一個向原外表面投影的操作。投影操作的過程比較簡單,對平滑后的外表面頂點,計算其法向量與原始網(wǎng)格的外表面的交點,此交點即為投影后的頂點坐標。對于處于網(wǎng)格特征線上的頂點,為了簡化操作,本算法的選擇是在平滑操作時跳過這些頂點,在實際的實驗中觀察發(fā)現(xiàn),這并不會對網(wǎng)格外表面的質(zhì)量造成太大的影響。內(nèi)部頂點的平滑則更加簡單一些。對于網(wǎng)格內(nèi)部的某一頂點,設其坐標值為v,p為此頂點鄰接的所有頂點坐標的質(zhì)心,那么此頂點新的坐標值v'可以通過以下的公式得到:v'=(1-ω)v+ωp(14)這里ω的取值介于0與1之間,本算法對其取值是0.75。綜上所述,本發(fā)明提供了基于特征的體網(wǎng)格編輯算法,圖8a展示了該算法編輯前的網(wǎng)格模型。圖8b展示了算法編輯后的網(wǎng)格模型結(jié)果。通過實驗結(jié)果可以看出,算法可以快速、有效的編輯體網(wǎng)格CAD模型,并保持模型本身的語義形狀特征。非常適合應用于修改網(wǎng)格模型上的形狀特征的參數(shù),得到局部修改體網(wǎng)格模型的效果。本發(fā)明提供了基于特征的CAD四面體網(wǎng)格優(yōu)化算法。圖9a、圖9b展示了模型1優(yōu)化前后的網(wǎng)格內(nèi)部結(jié)果。圖11a、圖11b分別展示了模型2優(yōu)化前后的網(wǎng)格內(nèi)部結(jié)果。圖13a、圖13b分別為模型3優(yōu)化前后的網(wǎng)格外表面結(jié)果。圖10、圖12、圖14分別展示了模型1、模型2、模型3優(yōu)化前后,被優(yōu)化的局部區(qū)域四面體質(zhì)量分布圖,圖中的用兩種顏色的柱狀圖來表示優(yōu)化前后的質(zhì)量分布,第一種顏色表示優(yōu)化前的質(zhì)量分布,第二種顏色表示優(yōu)化后的質(zhì)量分布。實驗表明,算法在保持模型形狀特征的同時,對于低質(zhì)量的四面體網(wǎng)格優(yōu)化效果明顯,并且可以快速的對CAD網(wǎng)格模型局部編輯后的區(qū)域進行體網(wǎng)格優(yōu)化,使得優(yōu)化后的網(wǎng)格模型能滿足有限元分析的需求。以上所述之實施例子只為本發(fā)明之較佳實施例,并非以此限制本發(fā)明的實施范圍,故凡依本發(fā)明之形狀、原理所作的變化,均應涵蓋在本發(fā)明的保護范圍內(nèi)。當前第1頁1 2 3 當前第1頁1 2 3 
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1