一種基于最小生成樹的三維模型典型化算法
【專利摘要】在每個三維模型群組中,基于模型間距離構(gòu)建最小生成樹。對最小生成樹進行分割,獲取其中三維模型的直線性排列結(jié)構(gòu)一模型鏈。對每個模型鏈進行典型化操作(刪除其中的一個節(jié)點,并移動其他節(jié)點,使得模型間距離比與原模型保持一致)。為最小化視覺差距,每次刪除選擇使得刪除后其他模型移動距離最小的節(jié)點。通過迭代式的刪除,從而達到簡化三維模型的效果。
【專利說明】一種基于最小生成樹的三維模型典型化算法
一、【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明面向在線三維模型可視化應(yīng)用,特別對于基于無線的三維模型應(yīng)用如三維地圖、三維商品展示等領(lǐng)域,提出一種基于典型化算法的綜合簡化方法。該方法通過降低多個三維模型或三維模型群中模型的數(shù)量,在最大化視覺相似度的同時,刪除部分模型,從而提高三維場景的整體可視化效率,降低模型復(fù)雜度。
二、【背景技術(shù)】
[0002]在線三維可視化技術(shù)目前已經(jīng)廣泛使用在游戲、導(dǎo)航、電子商務(wù)等領(lǐng)域。隨著智能手機與移動計算的發(fā)展,越來越多的應(yīng)用需要通過無線方式傳輸和展現(xiàn)三維模型。然而,三維模型數(shù)據(jù)量大、數(shù)據(jù)復(fù)雜度高(包括幾何數(shù)據(jù)、紋理數(shù)據(jù)以及語義數(shù)據(jù)),因此有必要對三維模型進行簡化,提高其可視化效率。典型化算法就是三維模型簡化方法之一。典型化操作在保留模型整體拓撲相似度的同時,通過刪除、移動等方式減少場景中模型的數(shù)量,提高可視化效率。目前典型化操作主要用于二維地圖的綜合簡化,本專利則將典型化算法擴展到三維模型,從而實現(xiàn)三維場景的綜合簡化。本發(fā)明主要針對具有線性排列的三維模型,例如三維城市中的建筑物以及三維店鋪中的商品等。
三、
【發(fā)明內(nèi)容】
[0003]本發(fā)明基于模型之間的距離獲取三維模型最小生成樹,再對最小生成樹進行剪枝操作,獲取其中的直線型模型鏈,對生成的直線型模型鏈實施典型化操作,在減少模型數(shù)量的同時,保持其與原模型的相似度。
[0004]根據(jù)心理學(xué)中的格式塔理論,人眼對于排列成直線或近似直線的物體具有更加敏感的認識,因此在綜合簡化中如果能夠保持三維模型的線性特征,則刪除其中個別元素對于整體模型的相似度影響不大。本發(fā)明就基于這一原理,利用最小生成樹檢測三維模型群中的線性分布,從而實現(xiàn)基于典型化操作的模型綜合簡化。
[0005]本發(fā)明所提出的基于最小生成樹的三維模型綜合方法,其具體內(nèi)容如下:
[0006]1.最小生成樹構(gòu)造
[0007]構(gòu)造最小生成樹的關(guān)鍵是三維場景中模型間的距離。本專利首先通過構(gòu)造任意兩個獨立模型間的距離,從而構(gòu)建三維場景中模型之間的完全圖,在此圖上便可以使用已有的最小生成樹算法如Prim算法。因此本專利主要涉及如何構(gòu)造三維場景中模型間距離。
[0008]根據(jù)權(quán)利要求書2中所述,本專利中的模型間距通過以下三個步驟算出:第一,模型間距離為三維距離,即充分考慮模型在三維空間的分布;第二,模型間距離為模型所有幾何特征之間的最近距離,即充分考慮模型本身的大??;第三,模型間距離考慮模型的語義距離,即如果模型之間被網(wǎng)格(如水網(wǎng)、路網(wǎng))分割,則模型間距離為無窮大。圖1給出了一個三維城市模型(圖1a),經(jīng)過路網(wǎng)分割后(圖1b)所得到的最小生成樹(圖1c)。
[0009]2.直線型三維模型鏈生成
[0010]獲取三維模型最小生成樹后,需要提取出其中的直線型結(jié)構(gòu)作為進一步綜合簡化的基礎(chǔ)。本專利使用節(jié)點的度數(shù)(含有的邊的數(shù)量)與拐角角度作為評價標準,對最小生成樹實施分割。如圖2所示,首先構(gòu)造模型最小生成樹(圖2a),檢測其中度數(shù)大于2的節(jié)點,并對其進行分割(圖21b),然后對拐角大于45度的節(jié)點再進行分割(圖2c),生成直線型模型鏈,最后對模型鏈實施典型化算法,刪除其中部分節(jié)點從而達到模型綜合簡化的目的。
[0011]3.保留視覺特征的直線型三維模型典型化方法
[0012]典型化算法主要是指在保證模型相似度的同時,通過減少三維場景中模型的數(shù)量,降低三維模型的復(fù)雜度,從而提高可視化效率的方法。本專利通過對直線型模型鏈的典型化操作,在保留模型線性拓撲分布的同時,減少了模型數(shù)量。具體而言,本專利首先選擇模型鏈中非邊緣節(jié)點中距離其他模型最近的節(jié)點之中最小包容盒最小的模型予以刪除;其次沿著原模型鏈軌跡移動剩余的中間節(jié)點(非邊緣節(jié)點)并使得移動后模型之間的距離之比與原模型相同,從而達到最小化拓撲差異的目的;最后調(diào)整模型角度使得與原模型鏈具有相同的角度。
[0013]如圖3所示,要簡化原三維模型鏈(圖3a),首先選擇其中距離其他節(jié)點最近的非邊緣節(jié)點(C,D)之中具有最小包容盒的節(jié)點(C)為待刪除節(jié)點;刪除節(jié)點C后,沿著原模型鏈移動其余中間節(jié)點(B,D)至新位置(B',D')。為使得新位置保持原模型比例,首先計算模型的移動系數(shù)e = AE/(AE-CD),新位置計算如下:AB' = AB+BB/ =AB*e,B' D'=B' C+⑶'=BC*e以及Di E = Di D+DE = DE*e ;最后,由于移動到新的位置,需要調(diào)整角度,例如B'需要調(diào)整角BAB'(圖3b)。重復(fù)上述選擇、刪除與調(diào)整的過程,便能夠控制模型簡化的程度,具體調(diào)整量可以根據(jù)具體需求和應(yīng)用進行修改。
[0014]本發(fā)明提出了一種基于最小生成樹的直線型三維模型綜合簡化算法,該算法包括最小生成樹產(chǎn)生、直線型模型鏈生成以及三維模型典型化算法三個主要部分。本算法在保留模型相似度的同時,減少了三維場景中模型的數(shù)量,從而提高顯示效率降低數(shù)據(jù)傳輸量,能夠用于三維城市、電子商務(wù)展示以及游戲等多種領(lǐng)域,具有較廣的適應(yīng)性。
四、【專利附圖】
【附圖說明】
[0015]圖1最小生成樹構(gòu)造示例
[0016]圖2.直線型三維模型鏈生成及其典型化示意圖
[0017]圖3.基于三維模型鏈的典型化操作
五、【具體實施方式】
[0018]本發(fā)明可以在多種應(yīng)用場合實施,提供靈活可配置的簡化模型。具體步驟如下:
[0019]步驟I設(shè)定三維場景中模型間距離,應(yīng)實現(xiàn)包括三維距離與語義距離的計算;
[0020]步驟2根據(jù)模型間距離,生成完全圖,并在此基礎(chǔ)上利用Prim算法計算出模型的最小生成樹;
[0021]步驟3對所獲取的最小生成樹進行分割,取得直線型模型鏈;
[0022]步驟4對每一個直線型模型鏈進行典型化操作,從而降低模型數(shù)量,生成并輸出綜合簡化后模型;
【權(quán)利要求】
1.一種基于最小生成樹的三維模型典型化算法,其方法實現(xiàn)過程的特征具體如下:基于三維模型間的距離,產(chǎn)生模型間最小生成樹;通過對最小生成樹的分割,獲得具有線性分布特征的三維模型鏈;在三維模型鏈基礎(chǔ)上,實現(xiàn)典型化操作,降低三維模型數(shù)量提高可視化效率。
2.根據(jù)權(quán)利要求書I所描述的基于最小生成樹的三維模型典型化算法,其模型最小生成樹的生成方式特點在于:首先模型間距離為三維距離,即充分考慮模型在三維空間的分布;其次,模型間距離為模型所有幾何特征之間的最近距離,即充分考慮模型本身的大?。蛔詈?,模型間距離考慮模型的語義距離,即如果模型之間被網(wǎng)格(如水網(wǎng)、路網(wǎng))分割,則模型間距離為無窮大。在此距離定義基礎(chǔ)上,利用最小生成樹算法,獲取模型的最小生成樹。該樹的節(jié)點為三維模型,邊的權(quán)重為模型間距離,模型之間被網(wǎng)格分割,則刪除其間的邊。
3.根據(jù)權(quán)利要求書I所描述的直線型模型鏈生成方法,其特征在于通過分解度數(shù)超過2(有3條以上邊相連的)節(jié)點,獲取三維模型的鏈式分布,再通過檢測鏈中的大角度拐點(超過45% ),將鏈式結(jié)構(gòu)分解為直線型三維模型鏈,本專利中的直線型為近似直線。
4.根據(jù)權(quán)利要求書I所描述的三維模型鏈典型化算法,其特征在于首先選擇模型鏈中距離最近的兩個模型,將其中最小包容盒(Minimum Bounding Box)的模型刪除,并移動剩余模型使得其間的距離比與原模型相同。通過迭代的典型化操作,從實現(xiàn)減少模型數(shù)量,提高可視化效率的三維模型綜合簡化。
【文檔編號】G06T19/00GK103914881SQ201310007034
【公開日】2014年7月9日 申請日期:2013年1月9日 優(yōu)先權(quán)日:2013年1月9日
【發(fā)明者】毛波, 伍之昂, 曹杰, 楊風(fēng)召, 毛彥妮, 趙慕階 申請人:南京財經(jīng)大學(xué)