[發明專利]一種三維模型的表面法線一致性修復方法及體積計算方法有效
| 申請號: | 202110197366.2 | 申請日: | 2021-02-22 |
| 公開(公告)號: | CN112927369B | 公開(公告)日: | 2023-04-18 |
| 發明(設計)人: | 董鳳翔;李俊松;葉明珠;賈國兵;張雪才;張耀;曹力;楊歡;彭禮勇;陳衛國 | 申請(專利權)人: | 中鐵二院工程集團有限責任公司 |
| 主分類號: | G06T17/20 | 分類號: | G06T17/20 |
| 代理公司: | 四川力久律師事務所 51221 | 代理人: | 王波 |
| 地址: | 610031 *** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 三維 模型 表面 法線 一致性 修復 方法 體積 計算方法 | ||
本發明公開了本發明闡述了一種三維模型表面法線快速修復方法,基于此表面法線朝向正確的模型,在三維可視化時,可以啟用“背面剔除”以提高渲染效率,以進一步提高三維渲染引擎模型承載量。在計算體積時,可基于三棱錐體積計算方式快速而準確的得到結果,具有極高的應用推廣價值。
技術領域
本發明涉及三維模型數據處理技術領域,特別是一種三維模型的表面法線一致性修復方法及體積計算方法。
背景技術
三維網格模型中幾何數據是一個三角形集合,其中三角形法線是基于三角形頂點順序以“右手定理”計算而來,如三角形頂點順序為:(V0,V1,V2),則其法線Normal=(V1-V0).cross(V2-V1),若點順序為:(V1,V0,V2),則Normal/=-Normal。三維網格模型表面法線不一致,是指構成該模型的所有三角形中,有些三角形法線朝向模型內側,有些三角形法線朝向模型外側(由三角形頂點順序導致),特別是BIM實體模型離散化為網格模型時,有很大幾率會BIM實體模型離散化為表面法線不一致的網格模型。表面法線不一致的網格模型在進行可視化渲染時是不能設置“背面剔除”以增加渲染效率。同時,表面法線不一致的BIM輕量化模型在計算其體積時是不能得到正確的結果。
目前針對模型法線不一致的問題解決方式是以三角形上任意點為原點,三角形法線為方向構建射線與模型中除該三角形外的所有三角形求交,依據交點個數的奇偶性判斷該三角形法線是朝向模型內側還是外側(點-射線法),基于此方式解決三維網格模型法線不一致問題效率極其低下。
發明內容
本發明的發明目的在于:針對現有技術存在的渲染效率低的問題,提供一種三維模型的表面法線一致性修復方法及體積計算方法。
為了實現上述目的,本發明采用的技術方案為:
一種三維模型的表面法線一致性修復方法,包括:
S1:根據三維網格模型,構建模型的點-邊-三角形拓撲結構;
S2:在點-邊-三角形拓撲結構中,任取一個三角形,基于所述三角形的法線修正所述三角形三個邊對應的三個鄰接三角形的法線,然后再以所述三個鄰接三角形為基礎繼續拓撲遍歷,最終得到的法線統一朝向模型內側或模型外側;
S3:對任一三角形的法線,通過點-射線法判斷法線朝向,若法線朝向模型外側,則所有三角形法線方向不變;若法線朝向模型內側,則修復相鄰所有三角形法線方向為相反方向。
優選的,所述步驟S1包括:
所述點-邊-三角形拓撲結構包括模型的頂點數據、三角形數據和邊數據。
優選的,所述步驟S2包括:
假定所述三角形中頂點順序為V0-V1-V2,所述三角形中頂點為V0和V1的邊,對應的鄰接三角形頂點為V0、V1和V3,則令該鄰接三角形的正確頂點順序為V0-V3-V1;
根據右手定理,所述三角形法線為:Normal=(V1-V0).cross(V2-V1);
那么,該鄰接三角形法線為:Normal1=(V3-V0).cross(V0-V3)。
優選的,所述步驟S3中,點-射線法具體包括:
在三角形上任取一點和三角形法線方向構成一個射線,用射線和模型中其他三角形求交,若交點個數為偶數個,則此三角形法線方向是朝向模型外側;若交點個數為奇數個,則此三角形法線方向是朝向模型內側。
一種三維模型的體積計算方法,采用了如以上任一項所述的表面法線一致性修復方法,還包括:
S4:基于點-邊-三角形拓撲結構判斷該模型是否為幾何封閉的三維模型;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中鐵二院工程集團有限責任公司,未經中鐵二院工程集團有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110197366.2/2.html,轉載請聲明來源鉆瓜專利網。





