三維實(shí)體模型的四面體網(wǎng)格生成方法和裝置制造方法
【專利摘要】本發(fā)明提供了三維實(shí)體模型的四面體網(wǎng)格生成方法和裝置。該方法可以包括:對(duì)實(shí)體模型邊界進(jìn)行粗采樣,以及基于采樣點(diǎn)構(gòu)造初始四面體網(wǎng)格,其中建立實(shí)體模型信息與初始四面體網(wǎng)格信息之間的對(duì)應(yīng)關(guān)系;進(jìn)行并行域劃分;并行地對(duì)劃分后的各個(gè)域,進(jìn)行網(wǎng)格細(xì)分和根據(jù)實(shí)體模型信息的用于保持模型邊界的網(wǎng)格優(yōu)化;以及將子區(qū)域網(wǎng)格合并為整體網(wǎng)格。根據(jù)本發(fā)明實(shí)施例的四面體網(wǎng)格生成方法和裝置,在模型邊界采樣階段,進(jìn)行粗采樣,并且在四面體網(wǎng)格生成過程中帶入三維模型信息,從而能夠在并行過程中動(dòng)態(tài)恢復(fù)模型的幾何邊界特征,并且模型邊界采樣可以高效完成,后續(xù)并行過程中進(jìn)行網(wǎng)格細(xì)分和網(wǎng)格優(yōu)化,從而能夠在保持模型邊界特征的同時(shí)高效生成四面體網(wǎng)格。
【專利說明】三維實(shí)體模型的四面體網(wǎng)格生成方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明總體地涉及對(duì)三維實(shí)體的有限元分析和仿真,特別涉及三維實(shí)體模型的四 面體網(wǎng)格生成方法和裝置。
【背景技術(shù)】
[0002] 現(xiàn)實(shí)世界中的一些三維對(duì)象和相關(guān)分析(例如建筑物的仿真和受力分析)需要利 用有限元技術(shù)來仿真。
[0003] Delaunay四面體網(wǎng)格是有限元技術(shù)中廣泛使用的一種三維網(wǎng)格,其具有四個(gè)頂點(diǎn) 和四個(gè)三角形狀的面。
[0004] 為了在有限元計(jì)算仿真分析過程中進(jìn)行更為精確的模擬,往往需要規(guī)模更大、質(zhì) 量更高,粒度更小的Delaunay四面體網(wǎng)格。隨著網(wǎng)格的規(guī)模不斷增大,Delaunay四面體網(wǎng) 格生成所需的時(shí)間也顯著增大,因此如何提高大規(guī)模三維Delaunay網(wǎng)格生成算法的效率 成為了近年來有圖形學(xué)和有限元計(jì)算領(lǐng)域的研究重點(diǎn)之一。并行Delaunay網(wǎng)格生成算法 是近年來廣泛研究的一個(gè)方向,它結(jié)合了計(jì)算幾何和并行計(jì)算兩個(gè)領(lǐng)域。對(duì)于計(jì)算幾何領(lǐng) 域,并行Delaunay網(wǎng)格生成算法需要確保生成的網(wǎng)格能夠保持模型幾何邊界特征,并且具 有較高的網(wǎng)格質(zhì)量。對(duì)于并行計(jì)算領(lǐng)域,并行Delaunay網(wǎng)格生成算法需要能夠處理超大規(guī) 模數(shù)據(jù)集,并且具有較高的并行效率和擴(kuò)展性能。
[0005] 傳統(tǒng)的基于分布式并行的四面體網(wǎng)格生成算法的輸入主要為模型的表面采樣頂 點(diǎn)集合或面網(wǎng)格集合,并在此基礎(chǔ)上進(jìn)行并行體網(wǎng)格生成,因此最終生成體網(wǎng)格的幾何邊 界特征受限于輸入的頂點(diǎn)集合或面網(wǎng)格集合,無法在并行過程中動(dòng)態(tài)恢復(fù)和修正模型的幾 何邊界特征;傳統(tǒng)的四面體網(wǎng)格生成算法由于無法在并行過程中動(dòng)態(tài)恢復(fù)模型幾何特征, 所以在串行預(yù)處理階段,通常必須生成非常密集的模型表面采樣,才能維持一定的網(wǎng)格精 度,因此初始網(wǎng)格生成需要耗費(fèi)大量時(shí)間。隨后在此基礎(chǔ)上進(jìn)行并行體網(wǎng)格生成,因此最終 生成體網(wǎng)格的幾何邊界特征受限于輸入的頂點(diǎn)集合或面網(wǎng)格集合,無法在并行過程中動(dòng)態(tài) 恢復(fù)和修正模型的幾何邊界特征,隨著網(wǎng)格規(guī)模的不斷增大,網(wǎng)格的精度無法提升。
【發(fā)明內(nèi)容】
[0006] 鑒于以上情況,做出了本發(fā)明。
[0007] 根據(jù)本發(fā)明的一個(gè)方面,提供了一種三維實(shí)體模型的四面體網(wǎng)格生成方法,可以 包括:對(duì)實(shí)體模型邊界進(jìn)行粗采樣,得到采樣點(diǎn),以及基于采樣點(diǎn)構(gòu)造初始四面體網(wǎng)格,其 中建立實(shí)體模型信息與初始四面體網(wǎng)格信息之間的對(duì)應(yīng)關(guān)系;進(jìn)行并行域劃分;并行地對(duì) 劃分后的各個(gè)域,進(jìn)行下述操作:對(duì)于面網(wǎng)格進(jìn)行網(wǎng)格細(xì)分;在細(xì)分后的面網(wǎng)格的頂點(diǎn)不 在模型邊界的情況下,根據(jù)實(shí)體模型信息以及實(shí)體模型信息與初始四面體網(wǎng)格信息之間的 對(duì)應(yīng)關(guān)系,移動(dòng)頂點(diǎn)到模型邊界上;以及將子區(qū)域網(wǎng)格合并為整體網(wǎng)格。
[0008] 根據(jù)本發(fā)明的再一方面,提供了一種三維實(shí)體模型的四面體網(wǎng)格生成裝置,可以 包括:粗采樣和初始網(wǎng)格生成部件,配置為對(duì)實(shí)體模型邊界進(jìn)行粗糙采樣,得到采樣點(diǎn),以 及基于采樣點(diǎn)構(gòu)造初始四面體網(wǎng)格,其中建立實(shí)體模型信息與初始四面體網(wǎng)格信息之間的 對(duì)應(yīng)關(guān)系;并行域劃分部件,配置為對(duì)初始四面體網(wǎng)絡(luò)進(jìn)行并行域劃分;網(wǎng)格細(xì)分和網(wǎng)格 頂點(diǎn)移動(dòng)部件,配置為并行地對(duì)劃分后的各個(gè)域,進(jìn)行下述操作:對(duì)于面網(wǎng)格進(jìn)行網(wǎng)格細(xì) 分;在細(xì)分后的面網(wǎng)格的頂點(diǎn)不在模型邊界的情況下,根據(jù)實(shí)體模型信息以及實(shí)體模型信 息與初始四面體網(wǎng)格信息之間的對(duì)應(yīng)關(guān)系,移動(dòng)頂點(diǎn)到模型邊界上;以及子區(qū)域網(wǎng)格合并 部件,配置為將子區(qū)域網(wǎng)格合并為整體網(wǎng)格。
[0009] 根據(jù)本發(fā)明實(shí)施例的四面體網(wǎng)格生成方法和裝置,在模型邊界采樣階段,進(jìn)行粗 采樣,并且在四面體網(wǎng)格生成過程中帶入三維模型信息,從而能夠在并行過程中動(dòng)態(tài)恢復(fù) 模型的幾何邊界特征,并且模型邊界采樣可以高效完成,后續(xù)并行過程中進(jìn)行網(wǎng)格細(xì)分和 網(wǎng)格優(yōu)化,從而能夠在保持模型邊界特征的同時(shí)高效生成四面體網(wǎng)格。
[0010] 根據(jù)本發(fā)明一個(gè)實(shí)施例,四面體網(wǎng)格生成方法和裝置還可以包括在將子區(qū)域網(wǎng)格 合并為整體網(wǎng)格后進(jìn)行下述操作:對(duì)于每一個(gè)四面體網(wǎng)格單元,判斷該四面體網(wǎng)格單元是 否滿足Delaunay性質(zhì),如果不滿足,則將該四面體網(wǎng)格單元清除,形成空腔,隨后在空腔內(nèi) 部執(zhí)行頂點(diǎn)插入算法,重建Delaunay四面體網(wǎng)格。利用根據(jù)該實(shí)施例的四面體網(wǎng)格生成方 法和裝置,能夠確保整體網(wǎng)格的Delaunay性質(zhì),高效修復(fù)非Delaunay網(wǎng)絡(luò)。
【專利附圖】
【附圖說明】
[0011] 從下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例的詳細(xì)描述中,本發(fā)明的這些和/或其它方面和 優(yōu)點(diǎn)將變得更加清楚并更容易理解,其中:
[0012] 圖1示出了根據(jù)本發(fā)明實(shí)施例的三維實(shí)體模型的示例性四面體網(wǎng)格生成方法100 的流程圖。
[0013] 圖2中的(a)、(b)、(c)分別示出了圓柱體模型、模型邊界粗采樣和初始網(wǎng)格生成 的示意圖。
[0014] 圖3示出了關(guān)于圓柱體實(shí)體模型例子的實(shí)體模型信息與網(wǎng)格信息之間對(duì)應(yīng)關(guān)系 的示例性建立過程。
[0015] 圖4(a)、(b)、(c)分別示出了作為例子的圓柱體的初始網(wǎng)格、劃分后的對(duì)應(yīng)的子 區(qū)域、以及各個(gè)子區(qū)域擁有的網(wǎng)格頂點(diǎn)數(shù)目和單元數(shù)目的示意圖。
[0016] 圖5示意性地示出了基于局部特征的自適應(yīng)網(wǎng)格細(xì)分的示意圖,其中左圖為網(wǎng)格 細(xì)分前的情況,右圖為網(wǎng)格細(xì)分后的結(jié)果。
[0017] 圖6 (a)、(b)、(c)分別示出了實(shí)體三維模型、初始四面體網(wǎng)格(網(wǎng)格細(xì)分前的四面 體網(wǎng)格)和網(wǎng)格細(xì)分后的四面體網(wǎng)格的示意圖。
[0018] 圖7示出了模型面網(wǎng)格優(yōu)化前后的網(wǎng)格效果圖。
[0019] 圖8示意性示出了模型面網(wǎng)格細(xì)分頂點(diǎn)的位置調(diào)整的示意圖。
[0020] 圖9示出了根據(jù)本發(fā)明第二實(shí)施例的四面體網(wǎng)格生成方法200的流程圖。
[0021] 圖10中的左圖和右圖分別示出了作為一個(gè)示例的最小負(fù)載遷移前的子區(qū)域網(wǎng)格 和最小負(fù)載遷移后的子區(qū)域網(wǎng)格的示意圖。
[0022] 圖11描述根據(jù)本發(fā)明第三實(shí)施例的四面體網(wǎng)格生成方法300的流程圖。
[0023] 圖12示出了根據(jù)本發(fā)明實(shí)施例的四面體網(wǎng)格生成裝置400的配置框圖。
【具體實(shí)施方式】
[0024] 為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā) 明作進(jìn)一步詳細(xì)說明。
[0025] 在詳細(xì)描述本發(fā)明實(shí)施例之前,為便于本領(lǐng)域技術(shù)人員理解和把握本發(fā)明,下面 描述本發(fā)明的主要思想。
[0026] 傳統(tǒng)技術(shù)主要輸入為表面采樣頂點(diǎn)集合或面網(wǎng)格集合,這丟失了三維模型信息, 從而最終體網(wǎng)格的幾何邊界特征受限于輸入的頂點(diǎn)集合或面網(wǎng)格集合,無法在并行過程中 動(dòng)態(tài)恢復(fù)模型的幾何邊界特征。針對(duì)此,發(fā)明人想到在模型邊界采樣階段,進(jìn)行粗采樣,并 且在四面體網(wǎng)格生成過程中帶入三維模型信息,從而能夠在并行過程中動(dòng)態(tài)恢復(fù)模型的幾 何邊界特征。
[0027] 在本文中,術(shù)語"實(shí)體模型邊界",指三維實(shí)體模型與外界交接的界面,例如對(duì)于三 維球體來說,其模型邊界為球面;對(duì)于圓柱體來說,其模型邊界為圓柱外表面和圓柱體的底 面;對(duì)于正方體來說,其模型邊界為八個(gè)外表面。
[0028] -、第一實(shí)施例的四面體網(wǎng)格生成方法
[0029] 圖1示出了根據(jù)本發(fā)明實(shí)施例的三維實(shí)體模型的示例性四面體網(wǎng)格生成方法100 的流程圖。
[0030] 在步驟S110中,對(duì)實(shí)體模型邊界進(jìn)行粗采樣,得到采樣點(diǎn),以及基于采樣點(diǎn)構(gòu)造 初始四面體網(wǎng)格,其中建立實(shí)體模型信息與初始四面體網(wǎng)格信息之間的對(duì)應(yīng)關(guān)系。
[0031] 本文中的"粗采樣"是指相對(duì)于傳統(tǒng)技術(shù)中的密集的模型表面采樣而言,本實(shí)施例 中的粗采樣無需進(jìn)行密集的模型表面采樣,只需進(jìn)行較粗略的模型表面采樣,后續(xù)再對(duì)劃 分后的并行域進(jìn)行網(wǎng)格細(xì)分。
[0032] 在一個(gè)示例中,對(duì)模型邊界進(jìn)行粗采樣包括如下步驟:首先將每一個(gè)曲面映射到 二維參數(shù)域,隨后對(duì)曲面邊界進(jìn)行采樣,最后將二維參數(shù)域上的頂點(diǎn)映射回三維曲面上。由 于會(huì)在后續(xù)的并行多尺度網(wǎng)格細(xì)分和并行保模型邊界的面網(wǎng)格優(yōu)化過程中不斷恢復(fù)實(shí)體 模型幾何特征,因此在模型邊界粗采樣過程中,無需依據(jù)邊界幾何曲率特征進(jìn)行采樣,從而 該過程可以在較短的時(shí)間內(nèi)完成。
[0033] 不過上述模型邊界粗采樣方法僅為示例,也可以采樣其他模型邊界粗采樣方法。
[0034] 在一個(gè)示例中,生成初始網(wǎng)格可以采用增量頂點(diǎn)插入算法。對(duì)于三維頂點(diǎn)集,首 先構(gòu)造由5個(gè)或6個(gè)Delaunay四面體組成的長(zhǎng)方體,該長(zhǎng)方體內(nèi)包含了所有的輸入頂點(diǎn)。 隨后對(duì)輸入頂點(diǎn)集進(jìn)行排序,并通過連續(xù)方式依次插入頂點(diǎn),在基礎(chǔ)網(wǎng)格構(gòu)造 Delaunay網(wǎng) 格。每次插入一個(gè)新的頂點(diǎn),可以包含如下步驟:
[0035] ·1)對(duì)于新插入的頂點(diǎn),首先識(shí)別出所有外接球包含該頂點(diǎn)的四面體集合,通過移 除這些四面體,從而構(gòu)造一個(gè)多面體空腔;
[0036] ·2)對(duì)空腔表面的三角面片做可見性檢查(visibility check)并修正,隨后通過 將這些三角面片同插入的頂點(diǎn)連接形成新的四面體集合;
[0037] · 3)重建這些四面體的鄰接關(guān)系。
[0038] 圖2中的(a)、(b)、(c)分別示出了圓柱體模型、模型邊界粗采樣和初始網(wǎng)格生成 的示意圖。
[0039] 在粗采樣和初始網(wǎng)格生成過程中,需要建立起實(shí)體模型信息與網(wǎng)格信息之間的對(duì) 應(yīng)關(guān)系,從而其后可以將模型信息帶入到后續(xù)的并行計(jì)算過程當(dāng)中。
[0040] 下面描述實(shí)體模型信息與網(wǎng)格信息之間對(duì)應(yīng)關(guān)系的建立方法示例。首先需要對(duì)組 成實(shí)體模型邊界的曲面進(jìn)行編號(hào),例如分別編號(hào)為Fl,F(xiàn)2…Fn。隨后在模型邊界粗采樣的 過程中,記錄采樣頂點(diǎn)所在模型曲面的編號(hào),由于采樣頂點(diǎn)是在兩個(gè)曲面相交的邊界上,因 此每一個(gè)采樣頂點(diǎn)分別對(duì)應(yīng)兩個(gè)曲面編號(hào)。在接下來的初始網(wǎng)格生成過程中,依次對(duì)每一 個(gè)模型曲面進(jìn)行面網(wǎng)格生成,因此生成的每一個(gè)面網(wǎng)格單元和新插入的頂點(diǎn)對(duì)應(yīng)唯一的一 個(gè)曲面,記錄下該曲面編號(hào)。
[0041] 下面參考圖3以圓柱體為例來介紹實(shí)體模型信息與網(wǎng)格信息之間對(duì)應(yīng)關(guān)系的建 立過程。
[0042] 首先在讀取模型信息的過程中,給每一個(gè)曲面編號(hào),例如圓柱模型的上底面,側(cè) 面,下底面分別編號(hào)為1、2和3,在圖3的(a)中顯示為F1、F2和F3。
[0043] 隨后在模型邊界的粗采樣過程中,對(duì)每一個(gè)采樣點(diǎn)賦予它對(duì)應(yīng)的曲面編號(hào),例如 采樣點(diǎn)VI和V2在上底面和側(cè)面的交界處,因此對(duì)應(yīng)的曲面編號(hào)為1和2,故在圖3的(b) 中采樣點(diǎn)VI附近顯示其對(duì)應(yīng)的曲面編號(hào)Face_idx = (1,2);以及采樣點(diǎn)V2附近顯示其對(duì) 應(yīng)的曲面編號(hào)Face_idx= (1,2)。
[0044] 隨后在初始網(wǎng)格生成過程中,對(duì)每一個(gè)面網(wǎng)格單元賦予它對(duì)應(yīng)的曲面編號(hào),例如 單元el在上底面,因此對(duì)應(yīng)的曲面編號(hào)為1,同理單元e2對(duì)應(yīng)的曲面編號(hào)為2,故在圖3的 (c)中在單元el附近顯示其對(duì)應(yīng)的曲面編號(hào)Face_idx = 1,以及在單元e2附近顯示其對(duì) 應(yīng)的曲面編號(hào)Face_idx = 2。
[0045] 上面給出了建立實(shí)體模型信息與網(wǎng)格信息之間對(duì)應(yīng)關(guān)系的方法示例,該描述是示 例性的,而非限制性的,本領(lǐng)域技術(shù)人員可以根據(jù)需要設(shè)計(jì)其他的建立實(shí)體模型信息與網(wǎng) 格信息之間對(duì)應(yīng)關(guān)系的方法示例。
[0046] 在步驟S120中,進(jìn)行并行域劃分。
[0047] 將初始四面體網(wǎng)格分割成特定數(shù)目的子區(qū)域,同時(shí)最小化跨區(qū)域的切邊的數(shù)目, 從而減小后續(xù)并行過程的通信開銷,而且每一個(gè)子區(qū)域擁有的網(wǎng)格頂點(diǎn)數(shù)目和單元數(shù)目基 本一致,從而實(shí)現(xiàn)并行過程的負(fù)載均衡。例如,利用ParMetis多層次圖分割方法。
[0048] 為了對(duì)網(wǎng)格進(jìn)行分割,在一個(gè)示例性方法中,將網(wǎng)格的分割問題轉(zhuǎn)換為圖的分割 問題,其中轉(zhuǎn)換方式包括兩種,分別是對(duì)偶圖(將每一個(gè)網(wǎng)格單元轉(zhuǎn)換為一個(gè)圖的頂點(diǎn))和 節(jié)點(diǎn)圖(將每一個(gè)網(wǎng)格頂點(diǎn)轉(zhuǎn)換為一個(gè)圖的頂點(diǎn))。隨后通過多層次K-way圖分割算法對(duì) 圖進(jìn)行分割。在粗化階段,通過邊的合并不斷縮小圖的尺寸;在初始分割階段,通過Kiay 分割算法對(duì)收縮圖進(jìn)行分割;在細(xì)化階段,收縮圖的分割結(jié)果被不斷迭代優(yōu)化,從而映射回 原圖。在具體的實(shí)現(xiàn)過程中,采用Heavy Edge Matching算法來合并邊,從而不斷縮小圖的 尺寸。在Kiay分割階段,采用多層次迭代二分算法來將初始網(wǎng)格分割為k個(gè)子區(qū)域。最 后在細(xì)化階段,采用KL優(yōu)化算法,不斷將頂點(diǎn)從權(quán)重較小的子區(qū)域移動(dòng)到權(quán)重較大的子區(qū) 域,直至各區(qū)域達(dá)到了負(fù)載均衡。
[0049] 有關(guān)ParMetis多層次圖分割方法的詳細(xì)介紹,可以參考如下非專利文獻(xiàn),Karypis George, Kumar Vipin. Parallel multilevel series k~way partitioning scheme for irregular graphs. Siam Review,1999,41(2):278_300。
[0050] 圖4(a)、(b)、(c)分別示出了作為例子的圓柱體的初始網(wǎng)格、劃分后的對(duì)應(yīng)的子 區(qū)域、以及各個(gè)子區(qū)域擁有的網(wǎng)格頂點(diǎn)數(shù)目和單元數(shù)目的示意圖。
[0051] 圖4(a)示出了圓柱體的初始網(wǎng)格,圖4(b)示出了劃分后的8個(gè)子區(qū)域,其中區(qū)域 7和區(qū)域8未顯示,圖4 (c)示出了各個(gè)子區(qū)域擁有的網(wǎng)格頂點(diǎn)數(shù)目和單元數(shù)目。
[0052] 從圖4(c)可見,每一個(gè)子區(qū)域擁有的網(wǎng)格頂點(diǎn)數(shù)目和單元數(shù)目基本一致,實(shí)現(xiàn)了 初始的負(fù)載均衡。
[0053] 在步驟S120中進(jìn)行并行域劃分后,并行地對(duì)劃分后的各個(gè)域,進(jìn)行步驟S130和步 驟S140的操作。
[0054] 在步驟S130中,對(duì)于面網(wǎng)格進(jìn)行網(wǎng)格細(xì)分。
[0055] 子區(qū)域的表面網(wǎng)格可以分為模型面網(wǎng)格和分割面網(wǎng)格。
[0056] 在一個(gè)示例中,對(duì)于面網(wǎng)格進(jìn)行網(wǎng)格細(xì)分可以包括:
[0057] 對(duì)于模型面網(wǎng)格,對(duì)于模型面網(wǎng)格,需要進(jìn)行基于局部特征例如曲率的自適應(yīng)網(wǎng) 格細(xì)分,以盡量擬合模型邊界。例如,對(duì)于模型面網(wǎng)格上的任意一條網(wǎng)格邊,分別計(jì)算該網(wǎng) 格邊的兩個(gè)端點(diǎn)處的曲率;若曲率變化較大,則進(jìn)行細(xì)粒度的細(xì)分;若曲率變化較小,則進(jìn) 行粗粒度的細(xì)分。由于本方法將實(shí)體模型信息帶入到分布式并行機(jī)上的網(wǎng)格生成中,從而 在整個(gè)并行四面體網(wǎng)格生成的過程中始終保持精確的實(shí)體模型信息,因此可以快速地計(jì)算 曲面上任意一點(diǎn)的曲率。因此本方法的細(xì)分網(wǎng)格確保了曲率變化的連續(xù)性,同時(shí)保持了模 型幾何特征。
[0058] 對(duì)于相鄰域之間的分割面網(wǎng)格,采用中點(diǎn)細(xì)分算法進(jìn)行網(wǎng)格細(xì)分。由于并行域剖 分已經(jīng)產(chǎn)生了一致的分割墻面,因此通過中點(diǎn)細(xì)分算法仍然會(huì)保持分割墻面的一致性,從 而實(shí)現(xiàn)相鄰域一致剖分,并且在最終的三維Delaunay網(wǎng)格生成過程中無需通信開銷。
[0059] 模型面網(wǎng)格和分割面網(wǎng)格的細(xì)分過程在每一個(gè)計(jì)算節(jié)點(diǎn)(具有計(jì)算能力的裝置, 例如工作站、服務(wù)器、多核計(jì)算機(jī)等)上并行獨(dú)立執(zhí)行。該網(wǎng)格細(xì)分過程可以迭代執(zhí)行,直 至滿足特定的細(xì)分粒度和細(xì)分質(zhì)量要求,但是最好保證同一分割面周圍的不同子區(qū)域的細(xì) 分尺度是相同的,以此保持分割墻面的一致性,從而實(shí)現(xiàn)相鄰域一致剖分。
[0060] 圖5示意性地示出了基于局部特征的自適應(yīng)網(wǎng)格細(xì)分的示意圖,其中左圖為網(wǎng)格 細(xì)分前的情況,右圖為網(wǎng)格細(xì)分后的結(jié)果。如圖5所示,<P1,P4>和<P3,P6>間的曲率超過 了特定閾值,因此通過插入兩個(gè)頂點(diǎn)將原有網(wǎng)格邊分割為三段,<P1,P2>、<P2, P3>、<P4, P5> 和<P5, P6>間的曲率相對(duì)較小,因此通過插入一個(gè)頂點(diǎn)分割為兩段。圖5中P1-P6為原模 型面網(wǎng)格頂點(diǎn),其余未用參考標(biāo)號(hào)標(biāo)注的圓形頂點(diǎn)為新插入的細(xì)分頂點(diǎn)。
[0061] 圖6 (a)、(b)、(c)分別示出了實(shí)體三維模型、初始四面體網(wǎng)格(網(wǎng)格細(xì)分前的四面 體網(wǎng)格)和網(wǎng)格細(xì)分后的四面體網(wǎng)格的示意圖。由網(wǎng)格細(xì)分前后的對(duì)比圖可見,樣條曲面 的頂部區(qū)域曲率變化較大,因此進(jìn)行了細(xì)粒度的細(xì)分??梢?,對(duì)于模型面網(wǎng)格,為了恢復(fù)模 型幾何特征,本實(shí)施例的細(xì)分算法結(jié)合模型信息依據(jù)曲率變化進(jìn)行自適應(yīng)的網(wǎng)格細(xì)分,獲 得了良好的網(wǎng)格細(xì)分結(jié)果。
[0062] 在步驟S140中,在細(xì)分后的面網(wǎng)格的頂點(diǎn)不在模型邊界的情況下,根據(jù)實(shí)體模型 信息以及實(shí)體模型信息與初始四面體網(wǎng)格信息之間的對(duì)應(yīng)關(guān)系,移動(dòng)頂點(diǎn)到模型邊界上。 [0063] 對(duì)于模型面網(wǎng)格,細(xì)分過程中新插入的頂點(diǎn)仍然在網(wǎng)格邊上,而不是在模型邊界 上,因?yàn)楸景l(fā)明實(shí)施例的網(wǎng)格優(yōu)化方法將新插入的頂點(diǎn)移動(dòng)到模型邊界上,從而動(dòng)態(tài)恢復(fù) 模型邊界幾何特征。
[0064] 本實(shí)施例的優(yōu)化方法將連續(xù)的三維實(shí)體模型信息帶入到分布式并行機(jī)上的網(wǎng)格 生成中,同時(shí)建立起實(shí)體模型信息與網(wǎng)格信息之間的對(duì)應(yīng)關(guān)系,因此能夠通過網(wǎng)格信息獲 取對(duì)應(yīng)的實(shí)體模型曲面信息,并利用曲面參數(shù)計(jì)算出新插入頂點(diǎn)在模型邊界上的對(duì)應(yīng)位 置。
[0065] 圖7示出了模型面網(wǎng)格優(yōu)化前后的網(wǎng)格效果圖。其中P1-P6為原模型面網(wǎng)格頂 點(diǎn),其余未用參考標(biāo)號(hào)標(biāo)注的圓形頂點(diǎn)為新插入的細(xì)分頂點(diǎn),左圖為優(yōu)化前效果,右圖為優(yōu) 化后效果,可以看到更新了新插入頂點(diǎn)的位置,移動(dòng)到模型表面,恢復(fù)了模型幾何特征。
[0066] 圖8示意性示出了模型面網(wǎng)格細(xì)分頂點(diǎn)的位置調(diào)整的示意圖。
[0067] 如圖8所示,三角形〈PpPyP,為模型表面上的網(wǎng)格,點(diǎn)P為并行多尺度網(wǎng)格細(xì)分 過程中新插入的頂點(diǎn),滿足公式(1)。
[0068]
【權(quán)利要求】
1. 一種三維實(shí)體模型的四面體網(wǎng)格生成方法,包括: 對(duì)實(shí)體模型邊界進(jìn)行粗采樣,得到采樣點(diǎn),以及基于采樣點(diǎn)構(gòu)造初始四面體網(wǎng)格,其中 建立實(shí)體模型信息與初始四面體網(wǎng)格信息之間的對(duì)應(yīng)關(guān)系; 進(jìn)行并行域劃分; 并行地對(duì)劃分后的各個(gè)域,進(jìn)行下述操作: 對(duì)于面網(wǎng)格進(jìn)行網(wǎng)格細(xì)分; 在細(xì)分后的面網(wǎng)格的頂點(diǎn)不在模型邊界的情況下,根據(jù)實(shí)體模型信息以及實(shí)體模型信 息與初始四面體網(wǎng)格信息之間的對(duì)應(yīng)關(guān)系,移動(dòng)頂點(diǎn)到模型邊界上;以及 將子區(qū)域網(wǎng)格合并為整體網(wǎng)格。
2. 根據(jù)權(quán)利要求1的四面體網(wǎng)格生成方法,還包括在將子區(qū)域網(wǎng)格合并為整體網(wǎng)格后 進(jìn)行下述操作: 對(duì)于每一個(gè)四面體網(wǎng)格單元,判斷該四面體網(wǎng)格單元是否滿足Delaunay性質(zhì),如果 不滿足,則將該四面體網(wǎng)格單元清除,形成空腔,隨后在空腔內(nèi)部執(zhí)行頂點(diǎn)插入算法,重建 Delaunay四面體網(wǎng)格。
3. 根據(jù)權(quán)利要求2的四面體網(wǎng)格生成方法,所述重建Delaunay四面體網(wǎng)格包含如下步 驟: 1) 消除不滿足Delaunay性質(zhì)的四面體網(wǎng)格單元,形成包含頂點(diǎn)c的凸多面體空腔P = {Pl,P2...Pk}; 2) 構(gòu)造通過頂點(diǎn)c和空腔每一個(gè)三角面片的外接球,形成外接球集合Q ; 3) 對(duì)空間中的每一個(gè)頂點(diǎn),判斷其是否在外接球集合Q中,若存在在外接球集合Q中 的點(diǎn),則形成新的空腔P = {Pl,P2…Pk,v},隨后進(jìn)入步驟2,若不存在在外接球集合Q中的 點(diǎn),則表示空腔P已是最小重建區(qū)域; 4) 在最小重建區(qū)域,重建Delaunay四面體網(wǎng)格。
4. 根據(jù)權(quán)利要求1到3中任一項(xiàng)的四面體網(wǎng)格生成方法,還包括: 在并行地對(duì)劃分后的各個(gè)域進(jìn)行了網(wǎng)格細(xì)分和移動(dòng)頂點(diǎn)到模型邊界之后,判斷網(wǎng)格尺 度和質(zhì)量是否滿足預(yù)定標(biāo)準(zhǔn), 如果不滿足,則重復(fù)并行地對(duì)劃分后的各個(gè)域進(jìn)行網(wǎng)格細(xì)分和移動(dòng)頂點(diǎn)到模型邊界的 操作。
5. 根據(jù)權(quán)利要求4的四面體網(wǎng)格生成方法,還包括: 在重復(fù)并行地對(duì)劃分后的各個(gè)域進(jìn)行了網(wǎng)格細(xì)分和移動(dòng)頂點(diǎn)到模型邊界的操作之前, 判斷各個(gè)域的負(fù)載是否均衡, 如果負(fù)載不均衡,則進(jìn)行最小負(fù)載均衡操作。
6. 根據(jù)權(quán)利要求1到3任一項(xiàng)的四面體網(wǎng)格生成方法,所述建立實(shí)體模型信息與初始 四面體網(wǎng)格信息之間的對(duì)應(yīng)關(guān)系包括: 對(duì)組成實(shí)體模型邊界的曲面進(jìn)行編號(hào); 在模型邊界粗采樣的過程中,記錄采樣頂點(diǎn)所在模型曲面的編號(hào),由于采樣頂點(diǎn)是在 兩個(gè)曲面相交的邊界上,因此每一個(gè)采樣頂點(diǎn)分別對(duì)應(yīng)兩個(gè)曲面編號(hào);以及 在初始網(wǎng)格生成過程中,依次對(duì)每一個(gè)模型曲面進(jìn)行面網(wǎng)格生成,因此生成的每一個(gè) 面網(wǎng)格單元和新插入的頂點(diǎn)對(duì)應(yīng)唯一的一個(gè)曲面,記錄下該曲面編號(hào)。
7. 根據(jù)權(quán)利要求1到3任一項(xiàng)的四面體網(wǎng)格生成方法,所述進(jìn)行并行域劃分包括: 利用多層次圖分割算法將初始四面體網(wǎng)格分割成特定數(shù)目的子區(qū)域,使得最小化跨區(qū) 域的切邊的數(shù)目,以及使得每一個(gè)子區(qū)域擁有的網(wǎng)格頂點(diǎn)數(shù)目和單元數(shù)目基本一致。
8. 根據(jù)權(quán)利要求1到3任一項(xiàng)的四面體網(wǎng)格生成方法,所述對(duì)于面網(wǎng)格進(jìn)行網(wǎng)格細(xì)分 包括: 對(duì)于模型面網(wǎng)格,對(duì)于模型面網(wǎng)格上的任意一條網(wǎng)格邊,分別計(jì)算該網(wǎng)格邊的兩個(gè)端 點(diǎn)處的曲率;若曲率變化較大,則進(jìn)行細(xì)粒度的細(xì)分;若曲率變化較小,則進(jìn)行粗粒度的細(xì) 分; 對(duì)于相鄰域之間的分割面網(wǎng)格,采用中點(diǎn)細(xì)分算法進(jìn)行網(wǎng)格細(xì)分。
9. 根據(jù)權(quán)利要求1到3任一項(xiàng)的四面體網(wǎng)格生成方法,所述對(duì)實(shí)體模型邊界進(jìn)行粗糙 采樣包括: 將模型邊界上的每一個(gè)曲面映射到二維參數(shù)域,隨后對(duì)曲面邊界進(jìn)行采樣,最后將二 維參數(shù)域上的頂點(diǎn)映射回三維曲面上。
10. -種三維實(shí)體模型的四面體網(wǎng)格生成裝置,包括: 粗采樣和初始網(wǎng)格生成部件,配置為對(duì)實(shí)體模型邊界進(jìn)行粗糙采樣,得到采樣點(diǎn),以及 基于采樣點(diǎn)構(gòu)造初始四面體網(wǎng)格,其中建立實(shí)體模型信息與初始四面體網(wǎng)格信息之間的 對(duì)應(yīng)關(guān)系; 并行域劃分部件,配置為對(duì)初始四面體網(wǎng)絡(luò)進(jìn)行并行域劃分; 網(wǎng)格細(xì)分和網(wǎng)格頂點(diǎn)移動(dòng)部件,配置為并行地對(duì)劃分后的各個(gè)域,進(jìn)行下述操作:對(duì)于 面網(wǎng)格進(jìn)行網(wǎng)格細(xì)分;在細(xì)分后的面網(wǎng)格的頂點(diǎn)不在模型邊界的情況下,根據(jù)實(shí)體模型信 息以及實(shí)體模型信息與初始四面體網(wǎng)格信息之間的對(duì)應(yīng)關(guān)系,移動(dòng)頂點(diǎn)到模型邊界上;以 及 子區(qū)域網(wǎng)格合并部件,配置為將子區(qū)域網(wǎng)格合并為整體網(wǎng)格。
【文檔編號(hào)】G06T17/30GK104063903SQ201410322935
【公開日】2014年9月24日 申請(qǐng)日期:2014年7月8日 優(yōu)先權(quán)日:2014年7月8日
【發(fā)明者】陳莉, 陳翔 申請(qǐng)人:清華大學(xué)