一種空間三角網格邊界提取方法
【專利摘要】本發明公開了一種空間三角網格邊界提取方法,通過將避讓幾何體進行離散化后,利用邊界提取算法提取空間三角片云的邊界,為后續配置空間的映射和避讓幾何規劃提供技術準備。本發明有效解決了閉式葉輪數控加工時的避讓干涉問題,適于推廣應用。
【專利說明】一種空間三角網格邊界提取方法
【技術領域】
[0001]本發明涉及一種邊界提取方法,具體地說,是指一種空間三角網格邊界提取方法。【背景技術】
[0002]閉式葉輪是將軸盤曲面、蓋盤曲面和葉片曲面連成一體形成流道的葉輪,其型腔具有封閉性,加工困難,因此,開展閉式葉輪五坐標數控加工具有重要的意義。
[0003]要對閉式葉輪的一個封閉流道進行軌跡規劃,其難點是自動的對發生碰撞處的刀具姿態進行修正,這需要用到一系列復雜的計算幾何方面的方法,這其中包括避讓幾何體邊界的提取、配置空間的映射、避讓幾何規劃等關鍵技術。
【發明內容】
[0004]發明目的
[0005]本發明涉及一種空間三角網格邊界提取方法,其目的在于將避讓幾何體的幾何邊界提取出來,為后續的避讓幾何規劃提供基礎。
[0006]技術方案
[0007]一種空間三角網格邊界提取方法,其特征在于:該方法步驟如下:
[0008](I)將來自CAD軟件的曲面幾何模型離散為三角網格數據;
[0009](2)遍歷所有網格數據及其頂點,根據鄰接三角網格原理,判斷該頂點是否為邊界頂點,如果是邊界頂點,則保存進邊界頂點集合中,如果不是邊界頂點,忽略;在判斷結束后,邊界頂點集合形成了邊界頂點數組;
[0010](3)對步驟(2)生成的邊界頂點數組進行排序,最終生成空間三角網格的有向邊界,為下一步閉式葉輪的軌跡規劃提供準備條件。
[0011]優點及效果
[0012]本發明這種空間三角網格邊界提取方法,通過將避讓幾何體進行離散化后,利用邊界提取算法提取空間三角片云的邊界,為后續配置空間的映射和避讓幾何規劃提供技術準備;同時,本發明方法也可以應用在計算機輔助文物復原系統中對破損文物的修復工作中。
[0013]與現有技術相比,本發明具有如下優點和有益效果:
[0014]( I)解決了配置空間映射算法中避讓幾何體的映射問題;
[0015](2)解決了空間三角網格的邊界提取算法問題;
[0016](3)為閉式葉輪無干涉刀具軌跡規劃鋪平了道路,提供了一種切實可行的軌跡規劃方法。
【專利附圖】
【附圖說明】
[0017]圖1是空間二角網格曲面不意圖;
[0018]圖2是實施例1不意圖;其中圖2 (a)為封閉曲面,圖2 (b)為空間二角網格曲面,圖2 (c)為提取的邊界;
[0019]圖3是實施例2示意圖;其中圖3 (a)為閉式葉輪一封閉流道,圖3 (b)為離散后的空間三角網格曲面,圖3 (c)為提取的邊界。
【具體實施方式】:
[0020]下面結合附圖對本發明做進一步的說明:
[0021]本發明是一種空間三角網格邊界提取方法,其特征在于:該方法步驟如下:
[0022](I)將來自CAD軟件的曲面幾何模型離散為三角網格數據;
[0023](2)遍歷所有網格數據及其頂點,根據鄰接三角網格原理,判斷該頂點是否為邊界頂點,如果是邊界頂點,則保存進邊界頂點集合中,如果不是邊界頂點,忽略;在判斷結束后,邊界頂點集合形成了邊界頂點數組;
[0024](3)對步驟(2)生成的邊界頂點數組進行排序,最終生成空間三角網格的有向邊界,為下一步閉式葉輪的軌跡規劃提供準備條件。
[0025]該空間三角網格邊界提取方法,具體步驟如下:
[0026]1.避讓幾何體邊界的提取
[0027]所謂避讓幾何特指加工中刀具不能與其相干涉的幾何體。本發明專利采用提取避讓幾何邊界的方法來解決碰撞干涉問題。
[0028]空間網格數據是一種非常重要的數據格式,在科學計算可視化、計算機輔助幾何設計、三維建模和重構、有限元計算等領域有著廣泛的應用。本發明專利將空間曲面離散成三角片,并利用的“空間三角網格邊界提取方法”,將避讓幾何體的邊界提取出來,解決了“避讓幾何規劃”算法中碰撞空間映射困難的問題,為避讓幾何規劃算法的開發鋪平了道路。
[0029]2.空間三角網格邊界提取方法的基本原理
[0030]邊界提取方法的基本原理是將邊界點提取出來,并按照某個方向順次排列,依次連接構成一條封閉的曲線。所以,邊界點的判斷是整個方法的基礎。
[0031]由于曲面三角網格數據分布在曲面上,而且采樣不規則,因此首先要在三角網格數據中定義鄰接三角網格和鄰接點。對于網格數據中的點,如果它是某一個三角網格的一個頂點,則稱這個三角網格是這個點的鄰接三角網格;如果網格數據中的兩個點的連接線段為某一三角網格的邊,則稱這兩個點為鄰接點。曲面上一點P的所有鄰接三角網格構成P的鄰接三角網格集合Tp = {T IP G T},其中T為曲面上的一個三角網格。P的所有鄰接點構成P的鄰接點集合Vp = {T,P G T&&Q G T},Q是曲面上異于P的點。要判斷P點是否為邊界點,可以通過Vp來判斷。如果Vp中的點都能通過三角網格的邊連接組合成閉合的曲線,則點P為內點,否則為邊界點。
[0032]如下圖1所示,Vh=認,1,13上6},因為六、1、1、£、?和6組合成一個閉合的曲線,所以點H為內點,不是邊界點^Va= {B,I,H,G},因為B、1、H和G不能組合成閉合曲線,所以A為邊界點。
[0033]3.邊界提取算法
[0034]先定義要用到的數據結構,設空間曲面上有N個點,組成M個三角網格。其中三角網格的數據結構為:[0035]用三個整形(int)數據A、B和C分別保存三角網格的三個頂點的索引值,并定義名為TRIANGLE (三角形)的結構體。
[0036]三角網格頂點的存儲結構為:
[0037]定義TRIVERTEX (三角形頂點)結構體,結構體的成員變量為:①整形index變量,保存該點的索弓I ;②整形向量NeighborTriIndex變量,保存該點的鄰接三角形索引鏈表;③整形變量NumAdjPoints,保存該點的鄰接邊界點的個數;④整形向量AdjacentPtsIndex,保存該點鄰接邊界點索引值的鏈表。
[0038]邊界提取算法的完整步驟為:
[0039](I)對曲面上的每個點建立它的“鄰接三角網格”鏈表NeighborTriangles。
[0040](2)對曲面上的每個點作邊界點判斷。生成邊界點數組BoundaryVerVec。邊界點判斷方法見第4部分。NumAdjPoint記錄Temp中點的個數,如果當前點為內點,則NumAdjPoint為0,數組AdjacentPtsIndex存放Temp中的點的索引值。
[0041](3)從 BoundaryVerVec 中選取 NumAdjPoint 值最大的一個點 BoundaryVerVec [i]作為當前點,新建一個邊界曲線,把此點加入曲線作為起點,繼續搜索此邊界上的其它點。如果 BoundaryVerVec [i].NumAdjPoints 為 0,則轉到第(6)步。
[0042](4)從當前點的 AdjacentPtsIndex 中取出一點 BoundaryVerVec [j],并在AdjacentPtsIndex中把它刪除,當前點的NumAdjPoint減I。
[0043](5)從BoundaryVerVec [j]的AdjacentPtsIndex中找出當前點的索引,將其刪除,BoundaryVerVec [j].NumAdjPoints 減 I。如果BoundaryVerVec [j]不等于邊界曲線的起點,則把它加入到當前的邊界曲線中,并把它作為當前點,轉到第(4)步,否則轉第(3)步。
[0044]4.邊界點判斷方法
[0045]上述步驟(2)中邊界點的判斷方面如下:
[0046](I)建立一個臨時點數組Temp,用來保存某個點的“鄰接邊界點”,并置為空;
[0047](2)對當前點的所有鄰接三角網格上異于當前點的點作如下操作:如果Temp包含此點,則從Temp中刪除此點;否則,把此點加入到Temp中;
[0048]檢查Temp,如果Temp為空,貝U當前點為內點,否則為邊界點。并且,Temp中的點是當前點的“鄰接邊界點”。
[0049]應用本發明方法提取邊界曲線的具體實施例如下:
[0050]實施例1
[0051]該方法步驟如上所述,提取過程參見圖2,左側圖2 (a)為封閉曲面,中間圖2 (b)為空間三角網格曲面,右側圖2 (C)為提取的邊界。
[0052]實施例2
[0053]該方法步驟如上所述,提取過程參見圖3,左側圖3 (a)為閉式葉輪一封閉流道,中間圖3 (b)為離散后的空間三角網格曲面,右側圖3 (c)為提取的邊界。
【權利要求】
1.一種空間三角網格邊界提取方法,其特征在于:該方法步驟如下: (1)將來自CAD軟件的曲面幾何模型離散為三角網格數據; (2)遍歷所有網格數據及其頂點,根據鄰接三角網格原理,判斷該頂點是否為邊界頂點,如果是邊界頂點,則保存進邊界頂點集合中,如果不是邊界頂點,忽略;在判斷結束后,邊界頂點集合形成了邊界頂點數組; (3)對步驟(2)生成的邊界頂點數組進行排序,最終生成空間三角網格的有向邊界,為下一步閉式葉輪的軌跡規劃提供準備條件。
【文檔編號】G06T7/00GK103559720SQ201310589634
【公開日】2014年2月5日 申請日期:2013年11月19日 優先權日:2013年11月19日
【發明者】梁全, 蘇齊瑩, 蘇東海 申請人:沈陽工業大學