• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    三角網格數據的布爾運算方法及其系統技術方案

    技術編號:7786907 閱讀:399 留言:0更新日期:2012-09-21 08:21
    本發明專利技術適用于幾何建模技術領域,提供了一種三角網格數據的布爾運算的方法,所述方法包括如下步驟:A、對采用三角網格表示的三維模型進行懸邊、懸點消除和重合點歸并處理,獲得新規整化的兩個三角網格;B、提取包含所述新規整化的兩個三角網格的相交區域的局部三角網格;C、將所述局部三角網格進行碰撞檢測計算、三角剖分、網格重構、內外關系判斷以及布爾運算,拼接且輸出新的三角網格表示的三維模型。借此,本發明專利技術降低了三角網格數據的布爾運算出錯的概率,提高了布爾運算的計算速度;同時在進行內外關系判斷時消除了對模型封閉性的依賴。

    【技術實現步驟摘要】

    本專利技術涉及幾何建模
    ,尤其涉及ー種三角網格數據的布爾運算方法及其系統
    技術介紹
    幾何建模技術是指計算機里組織數據類型和數據結構以表示物體在空間的形狀、尺寸及位置信息。目前大量使用在3D游戲和動畫,計算機輔助設計,電影特效,數字城市,地質建模,分子生物學,數字醫學等領域。三維空間的幾何模型簡稱為三維模型,主要有線框模型、表面模型和實體模型三種表示方法,其中表面模型運用最為廣泛,三角網格數據是表面模型的ー種常用形式。幾何模型布爾運算是指對兩個模型的空間信息進行并、交、差等操作以得到新的模型。在建立和處理復雜模型時,可運用布爾運算對模型進行靈活的加工 和修改。現有的商用幾何建模軟件有AutoCAD, Solidfforks, Maya, 3dMax, UG等,都集成了三維模型布爾運算功能,但目前的布爾運算方法要求參與布爾運算的模型必須是封閉的,而且在處理大規模的模型數據時速度較慢,存在多次運算導致軟件速度下降甚至出錯的問題。綜上可知,現有的幾何建模技術在實際使用上,顯然存在不便與缺陷,所以有必要加以改進。
    技術實現思路
    針對上述的缺陷,本專利技術的目的在于提供ー種三角網格數據的布爾運算的方法,以降低了三角網格數據的布爾運算出錯的概率,提高了布爾運算的計算速度;為了實現上述目的,本專利技術提供ー種三角網格數據的布爾運算的方法,所述方法包括如下步驟A、對采用三角網格表示的三維模型進行懸邊、懸點消除和重合點歸并處理,獲得新規整化的兩個三角網格;B、提取包含所述新規整化的兩個三角網格的相交區域的局部三角網格;C、將所述局部三角網格進行碰撞檢測計算、三角剖分、網格重構、內外關系判斷以及布爾運算,拼接且輸出新的三角網格表示的三維模型。根據所述的方法,所述步驟A包括Al、分別獲取所述三角網格中的每個三角形的頂點數組、三角形數組以及相鄰關系數組,并且分別構建兩個新的三角網格;A2、順序訪問每個所述三角形的三角形數組的拓撲單元,若已經完成全部所述三角形訪問,則執行步驟A5;若沒有完成全部所述三角形訪問,則取出每個所述三角形的三個頂點索引;若所述三個頂點索引中的兩個或者三個頂點索引相同時,則所述拓撲單元為退化単元三角形,丟棄所述退化単元三角形,并重新開始執行所述步驟A2,順序取出下一個拓撲単元;在所述三個頂點索引中的三個頂點索引均不相同時,則執行步驟A3 ;A3、根據所述三個頂點索引在所述頂點數組獲取頂點坐標,并以不重合的方式插入到新構建的頂點數組中;A4、將所述三個頂點索引作為ー個拓撲單元插入新構建的三角形數組中,并且返回所述步驟A2,順序取出下一個拓撲単元,重新開始執行所述步驟A2 ;A5、順序訪問所述新構建的三角形數組,根據每個拓撲單元的三個頂點索引將三角形索引寫入頂點對應的相鄰關系數組行中;A6、查看所述三角網格中的所有相鄰關系數組,將所述相鄰關系數組中沒有數據的行所對應的頂點標記為不可用狀態。根據所述的方法,所述步驟Al包括All、使用線性浮點型數組保存所述三角網格中的每個三角形的頂點坐標,獲得所述三角網格的頂點數組;A12、使用線性整數型數組保存所述三角網格的頂點索引,獲得所述三角網格的三角形數組;A13、使用ニ維整型數組保存所述三角網格中的每個三角形的頂點所屬的三角形索引,獲得所述三角網格的相鄰關系數組;A14、根據所述三角網格的頂點數組、三角形數組以及相鄰關系數組分別構建兩個新的三角網格。根據所述的方法,所述步驟B包括BI、分別查看所述新規整化的兩個三角網格的頂點數組,計算所述新規整化的兩個三角網格的X、Y、Z坐標的最大值和最小值,構成兩個包圍盒;B2、分別構建所述新規整化的兩個三角網格的局部三角網格的頂點數組、三角形數組和相鄰關系數組;B3、分別查看所述新規整化的兩個三角網格的局部三角網格的三角形數組,若其中一個所述新規整化的三角網格的三角形有一個頂點處于另一個所述新規整化的三角網格的包圍盒范圍內,則將所述三角形標記為應刪除狀態;B4、將在所述包圍盒范圍內的新規整化的三角網格的三角形的頂點、拓撲單元以及相鄰關系寫入所述新規整化的兩個三角網格的局部三角網格的頂點數據、三角形數組以及相鄰關系數組中。根據所述的方法,所述步驟C包括Cl、采用層次包圍盒樹碰撞檢測方法,計算出所述新規整化的兩個三角網格的局部三角網格的相交三角形對,以及所述相交三角形對中的每ー個三角形上的交線;C2、將所述相交三角形對標記為應刪除狀態,對每一個相交三角形使用三角化方法根據其交點和三角形頂點重新生成三角形;C3、動態構建一個或者多個新局部三角網格的頂點數組、三角形數組和相鄰關系數組,以所述交線為邊界,將未標記為應刪除狀態的所述新規整化的兩個三角網格的局部三角網格數據,以及使用所述三角化方法生成的三角形寫入所述新局部三角網格的數組中;C4、判斷每ー個新局部三角網格與所述新規整化的兩個三角網格的局部三角網格的內外關系;C5、根據判斷后的所述每ー個新局部三角網格與所述新規整化的兩個三角網格的局部三角網格的內外關系和布爾運算類型,標記需要輸出的新局部三角網格的組合,并輸出對應的三角網格。 根據所述的方法,在所述步驟B4中通過步驟Df D4將在所述包圍盒范圍內的三角網格的三角形的頂點、拓撲單元以及相鄰關系寫入所述新規整化的兩個三角網格的局部三角網格的頂點數據、三角形數組以及相鄰關系數組中;所述步驟DfD4為D1、分別根據在所述包圍盒范圍內的三角形的頂點的三個頂點索引在所述新規整化的兩個三角網格的頂點數組獲取頂點坐標,并以不重合的方式插入到所述新規整化的兩個三角網格的局部三角網格的頂點數組中;D2、在所述三個頂點索引中的三個頂點索引均不相同吋,將所述三個頂點索引作為ー個拓撲單元插入所述新規整化的兩個三角網格的局部三角網格的三角形數組中;并且返回所述步驟D1,順序取出下一個拓撲単元,重新開始執行所述步驟Dl ;D3、順序訪問所述新規整化的兩個三角網格的局部三角網格的三角形數組,根據每個拓撲單元的三個頂點索引將三角形索引寫入頂點對應的相鄰關系數組行中;D4、查看所述新規整化的兩個三角網格的局部三角網格的所有相鄰關系數組,將所述相鄰關系數組中沒有數據的行所對應的頂點標記為不可用狀態;和/或在所述步驟C3中通過步驟Ef E4將以交線為邊界,將未標記為應刪除狀態的所述新規整化的兩個三角網格的局部三角網格數據,以及所述三角化方法生成的三角形寫入所述新局部三角網格的數組中;所述步驟EfE4為El、分別根據所述步驟C2中的所述相交三角形對和所述重新生成的三角形的頂點的三個頂點索引在所述ー個或者多個新局部網格的頂點數組獲取頂點坐標,并以不重合的方式插入到所述ー個或者多個新局部網格的頂點數組中;E2、在所述三個頂點索引中的三個頂點索引均不相同吋,將所述三個頂點索引作為ー個拓撲單元插入所述ー個或者多個新局部網格的三角形數組中;并且返回所述步驟E1,順序取出下一個拓撲単元,重新開始執行所述步驟El ;E3、順序訪問所述一個或者多個新局部網格的三角形數組,根據每個拓撲單元的三個頂點索引將三角形索引寫入頂點對應的相鄰關系數組行中;E4、查看所述ー個或者多個新局部網格的中的所有相鄰關系數組,將所述相鄰關系數組中沒有數據的行所對應的頂點標記為不可用狀態;和/或在所述步驟C本文檔來自技高網...

    【技術保護點】

    【技術特征摘要】
    1.一種三角網格數據的布爾運算的方法,其特征在于,所述方法包括如下步驟 A、對采用三角網格表示的三維模型進行懸邊、懸點消除和重合點歸并處理,獲得新規整化的兩個三角網格; B、提取包含所述新規整化的兩個三角網格的相交區域的局部三角網格; C、將所述局部三角網格進行碰撞檢測計算、三角剖分、網格重構、內外關系判斷以及布爾運算,拼接且輸出新的三角網格表示的三維模型。2.根據權利要求I所述的方法,其特征在于,所述步驟A包括 Al、分別獲取所述三角網格中的每個三角形的頂點數組、三角形數組以及相鄰關系數組,并且分別構建兩個新的三角網格; A2、順序訪問每個所述三角形的三角形數組的拓撲單元,若已經完成全部所述三角形訪問,則執行步驟A5; 若沒有完成全部所述三角形訪問,則取出每個所述三角形的三個頂點索引;若所述三個頂點索引中的兩個或者三個頂點索引相同時,則所述拓撲單元為退化單元三角形,丟棄所述退化單元三角形,并重新開始執行所述步驟A2,順序取出下一個拓撲單元;在所述三個頂點索引中的三個頂點索引均不相同時,則執行步驟A3 ; A3、根據所述三個頂點索引在所述頂點數組獲取頂點坐標,并以不重合的方式插入到新構建的頂點數組中; A4、將所述三個頂點索引作為一個拓撲單元插入新構建的三角形數組中,并且返回所述步驟A2,順序取出下一個拓撲單元,重新開始執行所述步驟A2 ; A5、順序訪問所述新構建的三角形數組,根據每個拓撲單元的三個頂點索引將三角形索引寫入頂點對應的相鄰關系數組行中; A6、查看所述三角網格中的所有相鄰關系數組,將所述相鄰關系數組中沒有數據的行所對應的頂點標記為不可用狀態。3.根據權利要求2所述的方法,其特征在于,所述步驟Al包括 All、使用線性浮點型數組保存所述三角網格中的每個三角形的頂點坐標,獲得所述三角網格的頂點數組; A12、使用線性整數型數組保存所述三角網格的頂點索引,獲得所述三角網格的三角形數組; A13、使用二維整型數組保存所述三角網格中的每個三角形的頂點所屬的三角形索引,獲得所述三角網格的相鄰關系數組; A14、根據所述三角網格的頂點數組、三角形數組以及相鄰關系數組分別構建兩個新的二角網格。4.根據權利要求2所述的方法,其特征在于,所述步驟B包括 BI、分別查看所述新規整化的兩個三角網格的頂點數組,計算所述新規整化的兩個三角網格的X、Y、Z坐標的最大值和最小值,構成兩個包圍盒; B2、分別構建所述新規整化的兩個三角網格的局部三角網格的頂點數組、三角形數組和相鄰關系數組; B3、分別查看所述新規整化的兩個三角網格的局部三角網格的三角形數組,若其中一個所述新規整化的三角網格的三角形有一個頂點處于另一個所述新規整化的三角網格的包圍盒范圍內,則將所述三角形標記為應刪除狀態; B4、將在所述包圍盒范圍內的三角形的頂點、拓撲單元以及相鄰關系寫入所述新規整化的兩個三角網格的局部三角網格的頂點數據、三角形數組以及相鄰關系數組中。5.根據權利要求4所述的方法,其特征在于,所述步驟C包括 Cl、采用層次包圍盒樹碰撞檢測方法,計算出所述新規整化的兩個三角網格的局部三角網格的相交三角形對,以及所述相交三角形對中的每一個三角形上的交線; C2、將所述相交三角形對標記為應刪除狀態,對每一個相交三角形使用三角化方法根據其交點和三角形頂點重新生成三角形; C3、動態構建一個或者多個新局部三角網格的頂點數組、三角形數組和相鄰關系數組,以所述交線為邊界,將未標記為應刪除狀態的所述新規整化的兩個三角網格的局部三角網格數據,以及使用所述三角化方法生成的三角形寫入所述新局部三角網格的數組中; C4、判斷每一個新局部三角網格與所述新規整化的兩個三角網格的局部三角網格的內夕卜關系; C5、根據判斷后的所述每一個新局部三角網格與所述新規整化的兩個三角網格的局部三角網格的內外關系和布爾運算類型,標記需要輸出的新局部三角網格的組合,并輸出對應的三角網格。6.根據權利要求5所述的方法,其特征在于,在所述步驟B4中通過步驟DfD4將在所述包圍盒范圍內的三角形的頂點、拓撲單元以及相鄰關系寫入所述新規整化的兩個三角網格的局部三角網格...

    【專利技術屬性】
    技術研發人員:葉建平張吉帥郭李云張磊
    申請(專利權)人:深圳市旭東數字醫學影像技術有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲中文字幕久久精品无码喷水 | 性色AV一区二区三区无码| 国产产无码乱码精品久久鸭| 亚洲AV无码成人专区| 国产av永久精品无码| 久久无码AV一区二区三区| 无码无需播放器在线观看| 亚洲中文字幕无码久久精品1 | 久久亚洲AV成人出白浆无码国产 | 国产精品白浆无码流出| 亚洲精品无码鲁网中文电影| 国产精品亚洲专区无码唯爱网| 亚洲精品无码乱码成人| 曰韩无码二三区中文字幕| 日韩AV无码久久一区二区| 亚洲精品中文字幕无码蜜桃| 嫩草影院无码av| 无码人妻一区二区三区在线水卜樱 | 久久无码专区国产精品发布| 亚洲成av人片不卡无码久久| 四虎成人精品国产永久免费无码| 久久无码人妻一区二区三区| 亚洲AV无码精品色午夜果冻不卡 | 精品无码人妻一区二区三区品| 九九久久精品无码专区| 亚洲国产av无码精品| 成人无码精品一区二区三区| 中文AV人妻AV无码中文视频| 亚洲AV无码一区二三区| 免费无码又爽又高潮视频| 亚洲av无码一区二区三区在线播放 | 人妻aⅴ中文字幕无码| 午夜精品久久久久久久无码| 亚洲爆乳精品无码一区二区| 亚洲中文字幕无码亚洲成A人片| 无码人妻精品中文字幕免费| 亚洲一本到无码av中文字幕| 免费无码成人AV在线播放不卡| 无码人妻精品一区二区三18禁 | 国产久热精品无码激情| 无码免费午夜福利片在线|