基于廣義圓柱體的三維模型分割方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及三維模型技術(shù)領(lǐng)域,尤其涉及一種基于廣義圓柱體的三維模型分割方 法及裝置。
【背景技術(shù)】
[0002] 當(dāng)前,三維模型的分割是圖形學(xué)、計算幾何的基礎(chǔ)問題之一,其被廣泛應(yīng)用于三維 幾何處理的各個方面,如網(wǎng)格簡化、參數(shù)化與紋理映射、交互編輯、幾何變形、樣條曲面重 建、模型近似與壓縮、骨架提取與動畫對應(yīng)、模型匹配與檢索等等。典型的模型分割算法是 指根據(jù)一定的幾何或拓?fù)涮卣?,將網(wǎng)格模型分割為一組有限數(shù)量的,各自連通且具有一定 的簡單形狀意義的子網(wǎng)格,例如凸分割(convexdecomposition),其每個子塊都構(gòu)成一個 (近似)凸多面體。
[0003] 廣義圓柱體(generalizedcylinders)是一種非常常見的幾何基元,例如人、動 物的軀干和四肢等器官都是廣義圓柱體。廣義圓柱體可由一根三維曲線中軸(central axis),即曲線骨架(curveskeleton)以及垂直于該骨架的剖面(cross-section)定義。廣 義圓柱體三維實體功能多、易加工,且能表達(dá)非常多的形狀,人造工藝品通常由許多的廣義 圓柱體構(gòu)成。相比于凸形(convex)等其他簡單基元,基于廣義圓柱體的分割可獲得塊數(shù)更 少的、表達(dá)更緊致的模型分割。
[0004] 然而,雖然廣義圓柱體形狀廣泛存在、且在骨架提取和建模中已有成功的應(yīng)用,但 是在三維模型分割領(lǐng)域中還難以通過基于廣義圓柱體對三維模型進(jìn)行優(yōu)化分割。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的實施例提供一種基于廣義圓柱體的三維模型分割方法及裝置,以解決當(dāng) 前三維模型分割領(lǐng)域中還難以通過基于廣義圓柱體對三維模型進(jìn)行優(yōu)化分割的問題。
[0006] 為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案:
[0007] -種基于廣義圓柱體的三維模型分割方法,包括:
[0008] 獲取一三維模型,通過標(biāo)準(zhǔn)泊松圓盤采樣法在所述三維模型的表面均勻采樣,獲 取多個采樣點;
[0009] 通過所述多個采樣點中的每個采樣點構(gòu)建多個局部廣義圓柱體;
[0010] 將所述多個局部廣義圓柱體進(jìn)行融合處理,形成多個非局部廣義圓柱體;所述多 個非局部廣義圓柱體構(gòu)成一候選廣義圓柱集;所述候選廣義圓柱集過完備覆蓋所述三維模 型的表面,形成過完備覆蓋集;
[0011] 從所述過完備覆蓋集中獲取多個精確覆蓋集;其中,一所述精確覆蓋集包括多個 互不重疊的廣義圓柱體部件,且所述多個互不重疊的廣義圓柱體部件的表面構(gòu)成所述三維 模型的表面;
[0012] 計算每個所述精確覆蓋集中的各廣義圓柱體部件的廣義圓柱度的和;所述廣義圓 柱度由該廣義圓柱體部件的平直度和剖面變化度組成;
[0013] 將各廣義圓柱度的和進(jìn)行排序,確定各廣義圓柱度的和中的最小值;
[0014] 根據(jù)所述各廣義圓柱度的和中的最小值對應(yīng)的精確覆蓋集確定一三維模型分割 方式;
[0015] 根據(jù)所述三維模型分割方式對所述三維模型進(jìn)行分割。
[0016] 具體的,所述通過所述多個采樣點中的每個采樣點構(gòu)建多個局部廣義圓柱體,包 括:
[0017] 根據(jù)一采樣點,確定通過該采樣點的多個初始平面;
[0018] 根據(jù)所述多個初始平面,確定所述采樣點的一個或多個切面;
[0019] 確定所述切面與所述三維模型的表面的交線的中心點,以所述中心點作為所述采 樣點對應(yīng)的骨架點,以所述切面的法向量為所述采樣點對應(yīng)的旋轉(zhuǎn)對稱軸;
[0020] 將每兩個相鄰采樣點對應(yīng)的骨架點沿所述旋轉(zhuǎn)對稱軸連接,形成一中軸;
[0021] 根據(jù)所述中軸均勻采樣所述三維模型的表面上的剖面曲線,形成一局部廣義圓柱 體。
[0022] 具體的,所述將所述多個局部廣義圓柱體進(jìn)行融合處理,形成多個非局部廣義圓 柱體,包括:
[0023] 逐漸將相鄰接的局部廣義圓柱體進(jìn)行融合,形成多個融合廣義圓柱體;
[0024] 若所述融合廣義圓柱體的廣義圓柱度小于進(jìn)行融合前的兩個局部廣義圓柱體的 廣義圓柱度的和,則確定所述融合廣義圓柱體為非局部廣義圓柱體;
[0025] 將各非局部廣義圓柱體的重疊區(qū)域分離,形成互不重疊的廣義圓柱體部件;
[0026] 窮舉所述互不重疊的廣義圓柱體部件所構(gòu)成的組合,形成更新后的廣義圓柱體部 件,將所述更新后的廣義圓柱體部件作為非局部廣義圓柱體。
[0027] 具體的,所述計算每個所述精確覆蓋集中的各廣義圓柱體部件的廣義圓柱度的 和,包括:
[0028] 計算各廣義圓柱體部件的廣義圓柱度GCity:
[0029]GCity=Es+aEv
[0030] 其中,Es為所述平直度;Ev為所述剖面變化度;a為一權(quán)重參數(shù)。
[0031] 另外,該基于廣義圓柱體的三維模型分割方法,還包括:
[0032] 通過Douglas-Peucker算法計算廣義圓柱體部件的平直度Es(n):
【主權(quán)項】
1. 一種基于廣義圓柱體的=維模型分割方法,其特征在于,包括: 獲取一=維模型,通過標(biāo)準(zhǔn)泊松圓盤采樣法在所述=維模型的表面均勻采樣,獲取多 個采樣點; 通過所述多個采樣點中的每個采樣點構(gòu)建多個局部廣義圓柱體; 將所述多個局部廣義圓柱體進(jìn)行融合處理,形成多個非局部廣義圓柱體;所述多個非 局部廣義圓柱體構(gòu)成一候選廣義圓柱集;所述候選廣義圓柱集過完備覆蓋所述=維模型的 表面,形成過完備覆蓋集; 從所述過完備覆蓋集中獲取多個精確覆蓋集;其中,一所述精確覆蓋集包括多個互不 重疊的廣義圓柱體部件,且所述多個互不重疊的廣義圓柱體部件的表面構(gòu)成所述=維模型 的表面; 計算每個所述精確覆蓋集中的各廣義圓柱體部件的廣義圓柱度的和;所述廣義圓柱度 由該廣義圓柱體部件的平直度和剖面變化度組成; 將各廣義圓柱度的和進(jìn)行排序,確定各廣義圓柱度的和中的最小值; 根據(jù)所述各廣義圓柱度的和中的最小值對應(yīng)的精確覆蓋集確定一=維模型分割方 式; 根據(jù)所述=維模型分割方式對所述=維模型進(jìn)行分割。
2. 根據(jù)權(quán)利要求1所述的基于廣義圓柱體的=維模型分割方法,其特征在于,所述通 過所述多個采樣點中的每個采樣點構(gòu)建多個局部廣義圓柱體,包括: 根據(jù)一采樣點,確定通過該采樣點的多個初始平面; 根據(jù)所述多個初始平面,確定所述采樣點的一個或多個切面; 確定所述切面與所述=維模型的表面的交線的中屯、點,W所述中屯、點作為所述采樣點 對應(yīng)的骨架點,W所述切面的法向量為所述采樣點對應(yīng)的旋轉(zhuǎn)對稱軸; 將每兩個相鄰采樣點對應(yīng)的骨架點沿所述旋轉(zhuǎn)對稱軸連接,形成一中軸; 根據(jù)所述中軸均勻采樣所述=維模型的表面上的剖面曲線,形成一局部廣義圓柱體。
3. 根據(jù)權(quán)利要求1所述的基于廣義圓柱體的=維模型分割方法,其特征在于,所述將 所述多個局部廣義圓柱體進(jìn)行融合處理,形成多個非局部廣義圓柱體,包括: 逐漸將相鄰接的局部廣義圓柱體進(jìn)行融合,形成多個融合廣義圓柱體; 若所述融合廣義圓柱體的廣義圓柱度小于進(jìn)行融合前的兩個局部廣義圓柱體的廣義 圓柱度的和,則確定所述融合廣義圓柱體為非局部廣義圓柱體; 將各非局部廣義圓柱體的重疊區(qū)域分離,形成互不重疊的廣義圓柱體部件; 窮舉所述互不重疊的廣義圓柱體部件所構(gòu)成的組合,形成更新后的廣義圓柱體部件, 將所述更新后的廣義圓柱體部件作為非局部廣義圓柱體。
4. 根據(jù)權(quán)利要求3所述的基于廣義圓柱體的=維模型分割方法,其特征在于,所述計 算每個所述精確覆蓋集中的各廣義圓柱體部件的廣義圓柱度的和,包括: 計算各廣義圓柱體部件的廣義圓柱度GCity; GCity=E曰+aEy 其中,氏為所述平直度;EY為所述剖面變化度;a為一權(quán)重參數(shù)。
5. 根據(jù)權(quán)利要求4所述的基于廣義圓柱體的=維模型分割方法,其特征在于,還包括: 通過Douglas-Peucker算法計算廣義圓柱體部件的平直度氏(n);
其中,c為常數(shù);n為廣義圓柱體部件上的中軸折線上的控制點個數(shù)沖第i個控制點 對應(yīng)的逼近誤差。
6. 根據(jù)權(quán)利要求5所述的基于廣義圓柱體的=維模型分割方法,其特征在于,還包括: 步驟1、根據(jù)廣義圓柱體部件的中軸曲線的兩端點P郝Pe確定一直線P擊6,W該直線 PsPe作為中軸折線; 步驟2、在所述中軸曲線上確定一距離所述中軸折線的距離最大的目標(biāo)點,若所述目標(biāo) 點與所述中軸折線的距離大于一第一距離闊值,將所述目標(biāo)點設(shè)置為所述控制點; 步驟3、根據(jù)所述控制點重新確定一中軸折線,返回執(zhí)行步驟2,直至所述中軸曲線上 的點與所述中軸折線的距離均小于等于所述第一距離闊值;其中,所述中軸曲線上的點與 所述中軸折線的