一種用于高放廢物處置庫三維網格模型的快速剖切方法
【技術領域】
[0001] 本發明涉及一種用于高放廢物處置庫三維網格模型的快速剖切方法,能夠支持基 于四面體構建的高放廢物處置庫三維網格模型的任意切面的三維快速剖切,屬于三維建模
技術領域。
【背景技術】
[0002] 處置高放廢物的地下工程即稱為高放廢物處置庫。由于高放廢物含有長半衰期的 放射性核素,要求處置庫有(1~1〇) *l〇5a,甚至更長的安全期,這是目前任何一個工程都達 不到的要求,因此,對處置庫的演化做出精準預測需要借助計算機進行數值模擬。由于數值 模擬中需要的計算網格數量可達到幾百萬個,有限元分析通常產生出大量的輸出數據,為 了能夠表示物體內部數據并易于理解,通常需要對三維模型進行剖切操作,對三維模型截 面進行觀察和分析。
[0003] 在三維建模技術領域中,三維模型剖切是反映三維模型內部空間結構與屬性特征 的重要方法。三維模型的網格數據不僅包含空間坐標信息,而且包含其幾何元素之間連接 關系的拓撲信息,在計算剖切面時,需要同時處理空間信息和拓撲信息。現有方法在計算剖 切面時,通常將四面體劃分為四個三角形片,通過計算模型三角面片三個頂點到剖切平面 的距離值,判斷三角面片與剖切平面位置關系,實現三維模型的剖切。由于剖切過程中需要 遍歷三維模型的所有四面體網格,找到與剖切面相交的所有四面體網格,計算四面體網格 中每個三角面片的三個頂點到剖切平面距離值判斷三角面片與剖切平面位置關系,剖切過 程中還需要剔除已有三角網格信息,添加新生成三角網格信息。對于四面體網格規模達到 百萬級的三維模型,遍歷所有三角面片所花費的時間長,容易對實時交互性產生巨大影響, 使操作者難以等待。
【發明內容】
[0004] 針對基于四面體構建的高放廢物處置庫三維網格模型,當四面體網格規模達到 百萬級時,現有方法對三維模型進行剖切,剖切計算時間長,實時交互性較差的缺點,本發 明提供一種用于高放廢物處置庫三維網格模型的快速剖切方法,能夠實現高放廢物處置庫 三維網格模型的任意切面的三維快速剖切。
[0005] -種用于高放廢物處置庫三維網格模型的快速剖切方法的技術方案如下: 1)讀入高放廢物處置庫三維網格模型的結點、邊、三角面片、四面體單元等基礎數據, 生成所有的結點、邊線和三角面片信息鏈表,對生成的邊線鏈表和三角面片鏈表進行搜索, 檢束重合的邊線和三角面片,相同的元素只保留一份。
[0006] 2)網格模型空間自適應劃分:首先建立高放廢物處置庫三維網格模型的最小包圍 盒,劃分區域中三角面片的個數會直接影響搜索效率,本方法根據處置庫模型的最小包圍 盒尺寸,自適應地選擇劃分區域中三角面片的個數; 其次,遍歷高放廢物處置庫的網格模型,搜索模型中的最小包圍盒,以此包圍盒建立八 叉樹根結點,從三維模型文件中讀入三角面片,計算出其幾何重心點,并將該三角面片索引 加入到根結點,對應的根結點三角形個數計數器自增一;然后依次讀入三角面片,當結點中 的個數達到預定設置的閥值時,對根結點進行區域劃分并建立子結點。
[0007] 3)剖切網格的快速搜索:首先根據剖面信息對高放廢物處置庫模型的劃分區域進 行預搜索,初步確定在哪些區域,然后通過區域坐標,查找區域結點下的八個子結點,先判 斷剖切平面與哪些子結點對應的空間區域相交,相交則進入這一節點,再判斷此節點是否 為葉節點,如果是,則進行相應的網格空間信息、拓撲信息處理操作;否則繼續查找該節點 的子節點,一直查找到葉節點才進行相應的網格空間信息、拓撲信息處理操作。
[0008] 4)網格快速剖切:由于剖切面與網格進行剖切操作,會導致網格幾何元素的刪除 和添加,本方法建立上、下兩個鏈表,根據三角面片的頂點到剖切面的距離,將三角面片的 索引信息放入相應鏈表,并對剖切網格的空間信息和拓撲信息進行同步處理,從而保持模 型的幾何完整性。
[0009] 本發明的方法適用于高放廢物處置庫三維網格模型。與現有技術相比,本發明的 有益效果是:可支持高放廢物處置庫三維網格模型任意角度切面任意次數的剖切;剖切面 生成速度快,高放廢物處置庫三維網格模型中四面體數量大于100萬且小于500萬時,剖切 面生成時間小于3秒,可實時動態刷新處置庫模型。
【附圖說明】
[0010] 圖1是高放廢物處置庫模型的劃分存儲流程圖。
[0011] 圖2是網格快速搜索流程圖。
[0012] 圖3是三角面片與剖切平面有一個交點。
[0013] 圖4是三角面片與剖切平面有二個交點。
[0014] 圖5是三角面片的一條邊在剖切平面上。
[0015] 圖6是三角面片與剖切平面有一個交點。
【具體實施方式】
[0016] 下面結合附圖和實施例,對本發明作進一步詳細的描述。
[0017] 本發明的一種用于高放廢物處置庫三維網格模型的快速剖切方法包括以下步 驟: 1)讀入高放廢物處置庫三維網格模型的結點、邊、三角面片、四面體單元等基礎數據, 生成所有的結點、邊線和三角面片信息鏈表,對生成的邊線鏈表和三角面片鏈表進行搜索, 檢束重合的邊線和三角面片,相同的元素只保留一份。
[0018] 2)網格模型空間自適應劃分:首先建立處置庫三維網格模型的最小包圍盒,劃分 區域中三角面片的個數會直接影響搜索效率,本方法根據處置庫模型的最小包圍盒尺寸, 自適應地選擇劃分區域中三角面片的個數。選擇方法為:當最小包圍盒尺寸與模型的四面 體數量比值大于1000,選擇最小劃分區域中的三角面片個數為200 ;當最小包圍盒尺寸與 模型的四面體數量比值小于1000且大于500,選擇最小劃分區域中的三角面片個數為150 ; 當最小包圍盒尺寸與模型的四面體數量比值小于500且大于200,選擇最小劃分區域中的 三角面片個數為100 ;當最小包圍盒尺寸與模型的四面體數量比值小于200,選擇最小劃分 區域中的三角面片個數為50。
[0019] 其次,遍歷處置庫的網格模型,搜索模型中的最小包圍盒,以此包圍盒建立八叉樹 根結點,從三維模型文件中讀入三角面片,計算出其幾何重心點,并將該三角面片索引加入 到根結點,對應的根結點三角形個數計數器自增一;然后依次讀入三角面片,當結點中的個 數達到預定設置的閥值時,對根結點進行區域劃分并建立子結點。
[0020] 在處理子結點時,同樣判斷此結點的三角面片個數是否達到預定設置的閥值,如 果沒有,則存入新讀入的三角面片信息并將計數器自增;如果達到閥值,則對此結點進行 進一步分解,計算此結點的最小包圍盒質心點,用最小包圍盒八個頂點和質心點分別建立 相應的八個子結點,然后此結點上的三角面片索引數據內容分別插入新建立的八個子結點 中,初始化各葉結點