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