欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)字地面模型化簡方法及裝置與流程

文檔序號:11545892閱讀:270來源:國知局
數(shù)字地面模型化簡方法及裝置與流程

本發(fā)明涉及電子地圖技術(shù)領(lǐng)域,更具體地說,涉及一種數(shù)字地圖模型化簡方法及裝置。



背景技術(shù):

數(shù)字地面模型(digitalterrainmodel,dtm)是電子地圖非常重要的組成部分。受限于dtm數(shù)據(jù)的采集方法,dtm通常使用像素圖加配置文件的方式存儲,其中,像素圖用以存儲每個像素點的高度信息,配置文件用于存儲像素點的平面位置信息。

通常數(shù)字地面模型以三角網(wǎng)的形式進(jìn)行渲染,一個數(shù)字地面模型中可以有多個三角網(wǎng),一個三角網(wǎng)是由多個三角形組成的多邊形網(wǎng)格。由于數(shù)字地面模型的數(shù)據(jù)量往往很大,不利于渲染,因此,在實際的應(yīng)用中需要對數(shù)字地面模型進(jìn)行化簡,也就是要減少數(shù)字地面模型中的三角形個數(shù),從而達(dá)到減少數(shù)字地面模型數(shù)據(jù)量,提高渲染效率的目的。

目前常用的對數(shù)字地面模型進(jìn)行化簡的方法是邊折疊法。以圖1為例,邊折疊法主要思想是:先找到數(shù)字地面模型的一個三角網(wǎng)(如圖1左圖所示的多邊形網(wǎng)格)中的高度值最大的一個三角形頂點(如圖1所示的頂點v),然后,找到與該三角形頂點所在的三角形(如圖1所示標(biāo)號為①的三角形)有公用邊的三角形,再從有公用邊的三角形中找到高度值最大的一個三角形頂點(如圖1所示標(biāo)號為②的三角形的頂點u),最后判斷頂點v和頂點u的高度及水平距離是否接近,如果是,則進(jìn)行邊折疊,即將v和u合并成圖1右圖所示頂點s,化簡后圖1所示三角網(wǎng)中的三角形個數(shù)由原來的9個減少到了7個。

發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),邊折疊法的時間復(fù)雜度(o(n2))較高,化簡效率較低。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的是提供一種數(shù)字地面模型化簡方法及裝置,以提高數(shù)字地面模型的化簡效率。

為實現(xiàn)上述目的,本發(fā)明實施例提供了如下技術(shù)方案:

一種數(shù)字地面模型化簡方法,所述數(shù)字地面模型包括至少一個三角形網(wǎng)格,并將所述三角形網(wǎng)格抽象為預(yù)設(shè)的空間填充曲線的節(jié)點;所述方法包括:

按所述空間填充曲線的節(jié)點的排列順序,對所述空間填充曲線的節(jié)點進(jìn)行預(yù)設(shè)次數(shù)的遍歷,通過每一次遍歷,識別出所述空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點,將這兩個節(jié)點代表的三角形網(wǎng)格合并為一個新的三角形網(wǎng)格,并根據(jù)所述新的三角形網(wǎng)格,得到所述空間填充曲線上的一個新的節(jié)點,以及,識別出所述空間填充曲線的在本次遍歷中不能與其相鄰節(jié)點進(jìn)行合并的節(jié)點;所述新的節(jié)點以及在本次遍歷中不能與其相鄰節(jié)點進(jìn)行合并的節(jié)點作為下一次遍歷的所述空間填充曲線的節(jié)點;

在所述預(yù)設(shè)次數(shù)的遍歷結(jié)束后,得到最后一次遍歷得到的所述空間填充曲線的節(jié)點所代表的三角形網(wǎng)格的頂點,對所述頂點構(gòu)成的點集合進(jìn)行三角剖分,得到化簡后的數(shù)字地面模型。

上述方法,優(yōu)選的,所述識別出所述空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點包括:

獲取遍歷到的所述空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格的面積比;

若所述面積比在預(yù)設(shè)面積比閾值區(qū)間內(nèi),則確定這兩個相鄰的節(jié)點能合并,否則,確定這兩個相鄰的節(jié)點不能合并。

上述方法,優(yōu)選的,所述識別出所述空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點包括:

獲取遍歷到的所述空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格所在平面的二面角;

若所述二面角大于預(yù)設(shè)的二面角閾值,確定這兩個相鄰的節(jié)點能合并;否則,確定這兩個節(jié)點不能合并。

上述方法,優(yōu)選的,所述識別出所述空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點包括:

獲取遍歷到的所述空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格所在平面的二面角,以及所述遍歷到的所述空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格的面積比;

若所述面積比在預(yù)設(shè)面積比閾值區(qū)間內(nèi),且所述二面角大于預(yù)設(shè)的二面角閾值,確定這兩個節(jié)點能合并,否則,確定這兩個節(jié)點不能合并。

上述方法,優(yōu)選的,所述空間填充曲線為謝爾賓斯基空間填充曲線,所述數(shù)字地面模型包括至少一個三角形網(wǎng)格,并將所述三角形網(wǎng)格抽象為預(yù)設(shè)的空間填充曲線的一個節(jié)點,具體為:

所述數(shù)字地面模型包括至少一個三角形網(wǎng)格,并將所述三角形網(wǎng)格抽象為所述謝爾賓斯基空間填充曲線的一個節(jié)點,所述謝爾賓斯基空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格有一條公共邊;

所述謝爾賓斯基空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格是未進(jìn)行合并的三角形網(wǎng)格,則所述謝爾賓斯基空間填充曲線的相鄰的兩個節(jié)點鏡像對稱。

上述方法,優(yōu)選的,所述將這兩個節(jié)點代表的三角形網(wǎng)格合并為一個新的三角形網(wǎng)格包括:

刪除公共邊上的一個頂點,用所述兩個節(jié)點代表的三角形網(wǎng)格剩余的頂點構(gòu)成一個新的三角形網(wǎng)格,所述新的三角形網(wǎng)格的面積大于所刪除的頂點與這兩個節(jié)點代表的三角形網(wǎng)格的非公共邊上的兩個頂點構(gòu)成的三角形的面積。

一種數(shù)字地面模型化簡裝置,所述數(shù)字地面模型包括至少一個三角形網(wǎng)格,并將所述三角形網(wǎng)格抽象為預(yù)設(shè)的空間填充曲線的節(jié)點;所述裝置包括:

遍歷模塊,用于按所述空間填充曲線的節(jié)點的排列順序,對所述空間填充曲線的節(jié)點進(jìn)行預(yù)設(shè)次數(shù)的遍歷,通過每一次遍歷,識別出所述空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點,將這兩個節(jié)點代表的三角形網(wǎng)格合并為一個新的三角形網(wǎng)格,并根據(jù)所述新的三角形網(wǎng)格,得到所述空間填充曲線上的一個新的節(jié)點,以及,識別出所述空間填充曲線的在本次遍歷中不能與其相鄰節(jié)點進(jìn)行合并的節(jié)點;所述新的節(jié)點以及在本次遍歷中不能與其相鄰節(jié)點進(jìn)行合并的節(jié)點作為下一次遍歷的所述空間填充曲線的節(jié)點;

三角剖分模塊,用于在所述預(yù)設(shè)次數(shù)的遍歷結(jié)束后,得到最后一次遍歷得到的所述空間填充曲線的節(jié)點所述代表的三角形網(wǎng)格的頂點,對所述頂點進(jìn)行三角剖分,得到化簡后的數(shù)字地面模型。

上述裝置,優(yōu)選的,在識別出所述空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點的方面,所述遍歷模塊用于:

獲取遍歷到的所述空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格的面積比;

若所述面積比在預(yù)設(shè)面積比閾值區(qū)間內(nèi),則確定這兩個相鄰的節(jié)點能合并,否則,確定這兩個相鄰的節(jié)點不能合并。

上述裝置,優(yōu)選的,在識別出所述空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點的方面,所述遍歷模塊用于,

獲取遍歷到的所述空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格所在平面的二面角;

若所述二面角大于預(yù)設(shè)的二面角閾值,確定這兩個相鄰的節(jié)點能合并;否則,確定這兩個節(jié)點不能合并。

上述裝置,優(yōu)選的,在識別出所述空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點的方面,所述遍歷模塊用于,

獲取遍歷到的所述空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格所在平面的二面角,以及所述遍歷到的所述空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格的面積比;

若所述面積比在預(yù)設(shè)面積比閾值區(qū)間內(nèi),且所述二面角大于預(yù)設(shè)的二面角閾值,確定這兩個節(jié)點能合并,否則,確定這兩個節(jié)點不能合并。

上述裝置,優(yōu)選的,所述空間填充曲線為謝爾賓斯基空間填充曲線;在所述數(shù)字地面模型包括至少一個三角形網(wǎng)格,并將所述三角形網(wǎng)格抽象為預(yù)設(shè)的空間填充曲線的一個節(jié)點,具體為:

所述數(shù)字地面模型包括至少一個三角形網(wǎng)格,并將所述三角形網(wǎng)格抽象為所述謝爾賓斯基空間填充曲線的一個節(jié)點,所述謝爾賓斯基空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格有一條公共邊;

所述謝爾賓斯基空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格是未進(jìn)行合并的三角形網(wǎng)格,則所述謝爾賓斯基空間填充曲線的相鄰的兩個節(jié)點鏡像對稱。

上述裝置,優(yōu)選的,在將這兩個節(jié)點代表的三角形網(wǎng)格合并為一個新的三角形網(wǎng)格方面,所述遍歷模塊用于,

刪除公共邊上的一個頂點,用所述兩個節(jié)點代表的三角形網(wǎng)格剩余的頂點構(gòu)成一個新的三角形網(wǎng)格,所述新的三角形網(wǎng)格的面積大于所刪除的頂點與這兩個節(jié)點代表的三角形網(wǎng)格的非公共邊上的兩個頂點構(gòu)成的三角形網(wǎng)格的面積。

通過以上方案可知,本申請?zhí)峁┑囊环N數(shù)字地面模型化簡方法及裝置,將數(shù)字地面模型中的三角形網(wǎng)格抽象為預(yù)設(shè)的空間填充曲線的節(jié)點,按預(yù)設(shè)的空間填充曲線的節(jié)點的排列順序進(jìn)行節(jié)點遍歷,保證每個節(jié)點恰好被遍歷一遍。對數(shù)字地面模型的三角形網(wǎng)格進(jìn)行若干次遍歷,每一次遍歷過程中,每遍歷兩個節(jié)點,將能夠合并的節(jié)點進(jìn)行合并,并且后一次遍歷時所遍歷的節(jié)點的個數(shù)為前一次遍歷時所遍歷的節(jié)點的個數(shù)的一半,因此時間復(fù)雜度僅為o(2n)(n為數(shù)字地面模型的三角形網(wǎng)格中網(wǎng)格的個數(shù)),從而提高數(shù)字地面模型化簡效率。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為現(xiàn)有技術(shù)中對數(shù)字地面模型進(jìn)行化簡的方法示意圖;

圖2為本發(fā)明實施例提供的數(shù)字地面模型化簡方法的一種實現(xiàn)流程圖;

圖3為本發(fā)明實施例提供的初始三角網(wǎng)的一種示例圖;

圖4為本發(fā)明實施例提供的使用謝爾賓斯基空間填充曲線對圖3所示三角網(wǎng)中的三角形網(wǎng)格進(jìn)行遍歷的示意圖;

圖5為本發(fā)明實施例提供的基于圖3所示三角網(wǎng),下一級遍歷的三角網(wǎng)結(jié)構(gòu)示意圖;

圖6為本發(fā)明實施例提供的使用謝爾賓斯基空間填充曲線對圖5所示三角網(wǎng)中的三角形網(wǎng)格進(jìn)行填充遍歷的示例圖;

圖7為本發(fā)明實施例提供的數(shù)字地面模型化簡裝置的一種結(jié)構(gòu)示意圖;

圖8為本發(fā)明實施例提供的基于本申請公開的數(shù)字地面模型化簡方法和裝置對一平原地區(qū)的數(shù)字地面模型化簡前后的對比圖;

圖9為本發(fā)明實施例提供的基于本申請公開的數(shù)字地面模型化簡方法和裝置對一山區(qū)的數(shù)字地面模型化簡前后的對比圖。

說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”“第四”等(如果存在)是用于區(qū)別類似的部分,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本申請的實施例能夠以除了在這里圖示的以外的順序?qū)嵤?/p>

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明實施例中,數(shù)字地面模型中的點以三角二叉樹的方式組織成三角網(wǎng)。該數(shù)字地面模型包括至少一個三角網(wǎng),一個三角網(wǎng)至少包括一個三角形網(wǎng)格,將三角形網(wǎng)格抽象為預(yù)設(shè)的空間填充曲線的節(jié)點。

由于一個數(shù)字地面模型可能只包括一個三角網(wǎng),也可能包括至少兩個三角網(wǎng),本發(fā)明實施例中,對于每一個三角網(wǎng),用一個獨立的上述預(yù)設(shè)的空間填充曲線填充。也就是說,若數(shù)字地面模型只包括一個三角網(wǎng),則通過一個上述預(yù)設(shè)的空間填充曲線進(jìn)行節(jié)點遍歷,若數(shù)字地面模型包括m(m為大于或等于2的正整數(shù))個三角網(wǎng),則需要使用m個上述預(yù)設(shè)的空間填充曲線進(jìn)行節(jié)點遍歷。

請參閱圖2,圖2為本發(fā)明實施例提供的數(shù)字地面模型化簡方法的一種實現(xiàn)流程圖,可以包括:

步驟s21:進(jìn)行節(jié)點遍歷,具體包括:按上述空間填充曲線的節(jié)點的排列順序,對空間填充曲線的節(jié)點進(jìn)行預(yù)設(shè)次數(shù)的遍歷,通過每一次遍歷,識別 出空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點,將這兩個節(jié)點代表的三角形網(wǎng)格合并為一個新的三角形網(wǎng)格,并根據(jù)新的三角形網(wǎng)格,得到空間填充曲線上的一個新的節(jié)點,以及,識別出空間填充曲線的在本次遍歷中不能與其相鄰節(jié)點進(jìn)行合并的節(jié)點;新的節(jié)點以及在本次遍歷中不能與其相鄰節(jié)點進(jìn)行合并的節(jié)點作為下一次遍歷的空間填充曲線的節(jié)點;

在每一個遍歷過程中,假設(shè)按預(yù)設(shè)的空間填充曲線的節(jié)點的排列順序,該預(yù)設(shè)的空間填充曲線的節(jié)點依次為node1,node2,node3,node4,node5,node6,……,則遍歷過程為:先識別node1與node2是否能夠合并,再識別node3與node4是否能夠合并,然后識別node5與node6是否能夠合并,……,依此類推。

若為第一次遍歷,則上述預(yù)設(shè)的空間填充曲線的節(jié)點由一個三角形網(wǎng)格抽象得到;若為非第一次遍歷,則上述預(yù)設(shè)的空間填充曲線的節(jié)點由上一次遍歷后合并得到的新的三角形網(wǎng)格抽象得到,或者,由上一次遍歷后,不能進(jìn)行合并的兩個節(jié)點代表的三角形網(wǎng)格抽象得到。

也就是說,在第一次遍歷時,上述預(yù)設(shè)的空間填充曲線的一個節(jié)點由一個三角形網(wǎng)格抽象得到。在非第一次遍歷時,上述預(yù)設(shè)的空間填充曲線的一個節(jié)點要么由前一次遍歷得到的一個新的三角形網(wǎng)格抽象得到,要么由前一次遍歷后,不能進(jìn)行合并的相鄰的兩個節(jié)點代表的三角形網(wǎng)格抽象得到。

由于后一次遍歷時所遍歷的每個節(jié)點對應(yīng)前一次遍歷時相鄰的兩個節(jié)點或者,對應(yīng)前一次遍歷時由相鄰的兩個節(jié)點合并得到的新的三角形網(wǎng)格,因此,后一次遍歷時所遍歷的節(jié)點數(shù)是前一次遍歷時所遍歷的節(jié)點數(shù)的一半。

步驟s22:在預(yù)設(shè)次數(shù)的遍歷結(jié)束后,得到最后一次遍歷得到的空間填充曲線的節(jié)點所代表的三角形網(wǎng)格的頂點,對這些頂點構(gòu)成的點集合進(jìn)行三角剖分,得到化簡后的數(shù)字地面模型。

可選的,可以對這些頂點構(gòu)成的點集合進(jìn)行德洛涅(delaunay)三角剖分。

本發(fā)明實施例提供的數(shù)字地面模型化簡方法,將數(shù)字地面模型中的三角形網(wǎng)格抽象為預(yù)設(shè)的空間填充曲線的節(jié)點,按預(yù)設(shè)的空間填充曲線的節(jié)點的排列順序進(jìn)行節(jié)點遍歷,保證每個節(jié)點恰好被遍歷一遍。對數(shù)字地面模型的三角形網(wǎng)格進(jìn)行若干次遍歷,每一次遍歷過程中,每遍歷兩個節(jié)點,將能夠合并的節(jié)點進(jìn)行合并,并且后一次遍歷時所遍歷的節(jié)點的個數(shù)為前一次遍歷 時所遍歷的節(jié)點的個數(shù)的一半,因此時間復(fù)雜度為:n+n/2+n/4+n/8……,近似等于2n,也就是說,時間復(fù)雜度僅為o(2n)(n為數(shù)字地面模型的三角形網(wǎng)格中網(wǎng)格的個數(shù)),從而提高數(shù)字地面模型化簡效率。

可選的,識別出上述預(yù)設(shè)的空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點的一種實現(xiàn)方式可以為:

獲取遍歷到的上述預(yù)定的空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格的面積比;

本發(fā)明實施例中,可以用相鄰兩個節(jié)點中排序在前的一個節(jié)點代表的三角形網(wǎng)格的面積除以排序在后的一個節(jié)點代表的三角形網(wǎng)格的面積得到面積比;或者,也可以用該相鄰兩個節(jié)點中排序在后的一個節(jié)點代表的三角形網(wǎng)格的面積除以排序在前的一個節(jié)點代表的三角形網(wǎng)格的面積得到面積比。

若所獲取的面積比在預(yù)設(shè)面積比閾值區(qū)間內(nèi),則確定這兩個相鄰的節(jié)點能合并,否則,確定這兩個相鄰的節(jié)點不能合并。

也就是說,若該相鄰兩個節(jié)點所代表的兩個三角形網(wǎng)格的面積相差不大,確定這兩個相鄰的節(jié)點所代表的三角形網(wǎng)格可以合并,若該相鄰兩個節(jié)點所代表的兩個三角形網(wǎng)格的面積相差懸殊,確定這兩個相鄰的節(jié)點所代表的三角形網(wǎng)格不可以合并。

若數(shù)字地面模型為平原地區(qū)(或地勢平坦的地區(qū))的數(shù)字地面模型,則可以基于面積比識別相鄰兩個節(jié)點所代表的三角形網(wǎng)格是否可以合并。

可選的,識別出上述預(yù)設(shè)的空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點的另一種實現(xiàn)方式可以為:

獲取遍歷到的上述預(yù)設(shè)的空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格所在平面的二面角;

若二面角大于預(yù)設(shè)的二面角閾值,確定這兩個相鄰的節(jié)點能合并;否則,確定這兩個節(jié)點不能合并。

若上述相鄰兩個節(jié)點代表的三角形網(wǎng)格所在平面的二面角大于預(yù)設(shè)二面角閾值,說明所遍歷的兩個節(jié)點所在平面趨于同一個平面,可以被合并。

若數(shù)字地面模型為山區(qū)((或地勢高低起伏比較大的地區(qū)))的數(shù)字地面模型,則可以基于二面角識別相鄰兩個節(jié)點所代表的三角形網(wǎng)格是否可以合并。

可選的,識別出上述預(yù)設(shè)的空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點的又一種實現(xiàn)方式可以為:

獲取遍歷到的上述預(yù)設(shè)的空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格所在平面的二面角,以及上述相鄰的兩個節(jié)點代表的三角形網(wǎng)格的面積比;

若所獲取的面積比在預(yù)設(shè)面積比閾值區(qū)間內(nèi),且所獲取的二面角大于預(yù)設(shè)的二面角閾值,確定這兩個節(jié)點能合并,否則,確定這兩個節(jié)點不能合并。

本發(fā)明實施例中,只有獲取的面積比在預(yù)設(shè)面積比閾值區(qū)間內(nèi),以及所獲取的二面角大于預(yù)設(shè)的二面角閾值這兩個條件同時滿足時,才確定遍歷到的上述預(yù)設(shè)的空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格可以合并,否則,確定這兩個相鄰的節(jié)點代表的兩個三角形網(wǎng)格不能合并。

與只基于二面角識別相鄰兩個節(jié)點所代表的三角形網(wǎng)格是否可以合并相比,同時基于二面角和面積比識別相鄰兩個節(jié)點所代表的三角形網(wǎng)格是否可以合并使得山區(qū)數(shù)字地面模型的化簡結(jié)果更加精確。

可選的,若為第一次遍歷,則可以直接根據(jù)數(shù)字地面模型的類型(數(shù)字地面模型可以分為兩種類型:山區(qū)數(shù)字地面模型和平原地區(qū)數(shù)字地面模型)選擇相應(yīng)的識別方法識別遍歷到的所述預(yù)設(shè)的空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格是否能夠合并,若不能合并,則將兩個節(jié)點所代表的兩個三角形網(wǎng)格標(biāo)記為不能合并;若為非第一次遍歷,則可以先判斷所遍歷到的所述預(yù)設(shè)的空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格是否存在不能被合并的標(biāo)記,若存在,則不必判斷該相鄰兩個節(jié)點代表的三角形網(wǎng)格是否能夠合并,繼續(xù)遍歷下一組相鄰的兩個節(jié)點,若不存在,說明再所遍歷到的所述預(yù)設(shè)的空間填充曲線的相鄰的兩個節(jié)點是上一次遍歷過程中合并得到的兩個新的節(jié)點,此時需要根據(jù)數(shù)字地面模型的類型選擇相應(yīng)的識別方法識別該相鄰兩個節(jié)點代表的三角形網(wǎng)格是否能夠合并。進(jìn)一步提高數(shù)字地面模型的化簡效率。

可選的,上述預(yù)設(shè)的空間填充曲線可以為謝爾賓斯基空間填充曲線。相應(yīng)的,數(shù)字地面模型包括至少一個三角形網(wǎng)格,并將三角形網(wǎng)格抽象為預(yù)設(shè)的空間填充曲線的一個節(jié)點,具體可以為:

數(shù)字地面模型包括至少一個三角形網(wǎng)格,并將三角形網(wǎng)格抽象為謝爾賓斯基空間填充曲線的一個節(jié)點,謝爾賓斯基空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格有一條公共邊;

謝爾賓斯基空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格是未進(jìn)行合并的三角形網(wǎng)格,則謝爾賓斯基空間填充曲線的相鄰的兩個節(jié)點鏡像對稱。

也就是說,謝爾賓斯基空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格在進(jìn)行合并前,這兩個節(jié)點是鏡像對稱的。

使用謝爾賓斯基填充曲線的一個好處是,保證每個節(jié)點恰好被遍歷一遍。

使用謝爾賓斯基填充曲線的另一個好處是,可以對三角形網(wǎng)格進(jìn)行三角條帶化處理,進(jìn)一步提高地圖渲染效率。

如圖4所示,對于按照謝爾賓斯基填充曲線遍歷的四個三角形網(wǎng)格[2,0,10],[0,10,18],[10,18,20],[18,20,28],由于后一個三角形的前兩個頂點是前一個三角形的后兩個頂點,那么,在保存上述四個三角形的數(shù)據(jù)時,可以保存為2,0,10,18,20,28,減少了存儲三角形頂點所占用的內(nèi)存,從而提高渲染效率。

可選的,將可以合并的兩個節(jié)點代表的三角形網(wǎng)格合并為一個新的三角形網(wǎng)格的一種實現(xiàn)方式可以為:

刪除公共邊上的一個頂點,用兩個節(jié)點代表的三角形網(wǎng)格剩余的頂點構(gòu)成一個新的三角形網(wǎng)格,該新的三角形網(wǎng)格的面積大于所刪除的頂點與這兩個節(jié)點代表的三角形網(wǎng)格的非公共邊上的兩個頂點構(gòu)成的三角形網(wǎng)格的面積。

具體的,可以將公共邊上的每個頂點分別與這兩個節(jié)點代表的三角形網(wǎng)格的非公共邊上的兩個頂點構(gòu)成一個新的三角形網(wǎng)格,比較這兩個新三角形網(wǎng)格的面積,選擇面積較大的一個三角形網(wǎng)格作為合并得到的新的三角形網(wǎng)格。

下面舉例對本申請實施例中,按預(yù)設(shè)的空間填充曲線的節(jié)點的排列順序,對空間填充曲線的節(jié)點進(jìn)行預(yù)設(shè)次數(shù)的遍歷的一種實現(xiàn)方式進(jìn)行說明。

假設(shè)一個原始的瓦片有9*9個頂點,形成三角網(wǎng)如圖3所示,圖3為本發(fā)明實施例提供的初始三角網(wǎng)的一種示例圖,為方便描述,定義級別為0級。需要說明的是,實際的三角網(wǎng)中,三角形網(wǎng)格的大小和形狀可能相同,也可能不同。相鄰的三角形網(wǎng)格所在平面可能存在夾角(即不再同一平面),也可能不存在夾角(即在同一平面)。圖3中的數(shù)字為瓦片的相應(yīng)頂點的編號。

本示例中,使用謝爾賓斯基空間填充曲線對第0級別的三角網(wǎng)進(jìn)行填充遍歷,如圖4所示,為使用謝爾賓斯基空間填充曲線對圖3所示三角網(wǎng)中的三角形網(wǎng)格進(jìn)行遍歷的示意圖。其中,虛線表示謝爾賓斯基空間填充曲線,為便于區(qū)分,圖4中,謝爾賓斯基填充曲線的節(jié)點用“○”表征。

對第0級三角網(wǎng)遍歷完成后,進(jìn)行下一級別(記為第1級)的遍歷,即進(jìn)行下一次遍歷,基于圖3所示三角網(wǎng),下一級遍歷的三角網(wǎng)結(jié)構(gòu)示意圖如圖5所示。其中,第1級遍歷時,每個節(jié)點對應(yīng)第0級遍歷時的兩個三角形網(wǎng)格,例如,第1級遍歷時,節(jié)點[0,2,20]對應(yīng)第0級遍歷時相鄰的兩個節(jié)點[0,2,10]和[2,10,20]

使用謝爾賓斯基空間填充曲線對圖5所述三角網(wǎng)中的三角形網(wǎng)格進(jìn)行填充遍歷的示例圖如圖6所示。圖6中,粗實線標(biāo)識謝爾賓斯基空間填充曲線,謝爾賓斯基填充曲線的節(jié)點用表征。

與方法實施例相對應(yīng),本發(fā)明實施例還提供一種數(shù)字地面模型化簡裝置,本發(fā)明實施例提供的數(shù)字地面模型化簡裝置的一種結(jié)構(gòu)示意圖如圖7所示,可以包括:

遍歷模塊71和三角剖分模塊72;其中,

遍歷模塊71用于按上述空間填充曲線的節(jié)點的排列順序,對空間填充曲線的節(jié)點進(jìn)行預(yù)設(shè)次數(shù)的遍歷,通過每一次遍歷,識別出所述空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點,將這兩個節(jié)點代表的三角形網(wǎng)格合并為一個新的三角形網(wǎng)格,并根據(jù)所述新的三角形網(wǎng)格,得到所述空間填充曲線上的一個新的節(jié)點,以及,識別出所述空間填充曲線的在本次遍歷中不能與其 相鄰節(jié)點進(jìn)行合并的節(jié)點;所述新的節(jié)點以及在本次遍歷中不能與其相鄰節(jié)點進(jìn)行合并的節(jié)點作為下一次遍歷的所述空間填充曲線的節(jié)點。

在每一個遍歷過程中,假設(shè)按預(yù)設(shè)的空間填充曲線的節(jié)點的排列順序,該預(yù)設(shè)的空間填充曲線的節(jié)點依次為node1,node2,node3,node4,node5,node6,……,則遍歷過程為:先識別node1與node2是否能夠合并,再識別node3與node4是否能夠合并,然后識別node5與node6是否能夠合并,……,依此類推。

若為第一次遍歷,則上述預(yù)設(shè)的空間填充曲線的節(jié)點由一個三角形網(wǎng)格抽象得到;若為非第一次遍歷,則上述預(yù)設(shè)的空間填充曲線的節(jié)點由上一次遍歷后合并得到的新的三角形網(wǎng)格抽象得到,或者,由上一次遍歷后,不能進(jìn)行合并的兩個節(jié)點代表的三角形網(wǎng)格抽象得到。

也就是說,在第一次遍歷時,上述預(yù)設(shè)的空間填充曲線的一個節(jié)點由一個三角形網(wǎng)格抽象得到。在非第一次遍歷時,上述預(yù)設(shè)的空間填充曲線的一個節(jié)點要么由前一次遍歷得到的一個新的三角形網(wǎng)格抽象得到,要么由前一次遍歷后,不能進(jìn)行合并的相鄰的兩個節(jié)點代表的三角形網(wǎng)格抽象得到。

由于后一次遍歷時所遍歷的每個節(jié)點對應(yīng)前一次遍歷時相鄰的兩個節(jié)點或者,對應(yīng)前一次遍歷時由相鄰的兩個節(jié)點合并得到的新的三角形網(wǎng)格,因此,后一次遍歷時所遍歷的節(jié)點數(shù)是前一次遍歷時所遍歷的節(jié)點數(shù)的一半。

三角剖分模塊72用于在所述預(yù)設(shè)次數(shù)的遍歷結(jié)束后,得到最后一次遍歷得到的所述空間填充曲線的節(jié)點所述代表的三角形網(wǎng)格的頂點,對所述頂點進(jìn)行三角剖分,得到化簡后的數(shù)字地面模型。

可選的,可以對這些頂點構(gòu)成的點集合進(jìn)行德洛涅(delaunay)三角剖分。

本發(fā)明實施例提供的數(shù)字地面模型化簡裝置,將數(shù)字地面模型中的三角形網(wǎng)格抽象為預(yù)設(shè)的空間填充曲線的節(jié)點,按預(yù)設(shè)的空間填充曲線的節(jié)點的排列順序進(jìn)行節(jié)點遍歷,保證每個節(jié)點恰好被遍歷一遍。對數(shù)字地面模型的三角形網(wǎng)格進(jìn)行若干次遍歷,每一次遍歷過程中,每遍歷兩個節(jié)點,將能夠合并的節(jié)點進(jìn)行合并,并且后一次遍歷時所遍歷的節(jié)點的個數(shù)為前一次遍歷時所遍歷的節(jié)點的個數(shù)的一半,因此時間復(fù)雜度為:n+n/2+n/4+n/8……,近似等于2n,也就是說,時間復(fù)雜度僅為o(2n)(n為數(shù)字地面模型的三角形網(wǎng)格中網(wǎng)格的個數(shù)),從而提高數(shù)字地面模型化簡效率。

可選的,在識別出所述預(yù)設(shè)的空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點的方面,遍歷模塊71具體可以用于:

獲取遍歷到的上述預(yù)設(shè)的空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格的面積比;

本發(fā)明實施例中,可以用相鄰兩個節(jié)點中排序在前的一個節(jié)點代表的三角形網(wǎng)格的面積除以排序在后的一個節(jié)點代表的三角形網(wǎng)格的面積得到面積比;或者,也可以用該相鄰兩個節(jié)點中排序在后的一個節(jié)點代表的三角形網(wǎng)格的面積除以排序在前的一個節(jié)點代表的三角形網(wǎng)格的面積得到面積比。

若所獲取的面積比在預(yù)設(shè)面積比閾值區(qū)間內(nèi),則確定這兩個相鄰的節(jié)點能合并,否則,確定這兩個相鄰的節(jié)點不能合并。

也就是說,若該相鄰兩個節(jié)點所代表的兩個三角形網(wǎng)格的面積相差不大,確定這兩個相鄰的節(jié)點所代表的三角形網(wǎng)格可以合并,若該相鄰兩個節(jié)點所代表的兩個三角形網(wǎng)格的面積相差懸殊,確定這兩個相鄰的節(jié)點所代表的三角形網(wǎng)格不可以合并。

若數(shù)字地面模型為平原地區(qū)(或地勢平坦的地區(qū))的數(shù)字地面模型,則可以基于面積比識別相鄰兩個節(jié)點所代表的三角形網(wǎng)格是否可以合并。

可選的,在識別出預(yù)設(shè)的空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點的方面,遍歷模塊71具體可以用于,

獲取遍歷到的上述預(yù)設(shè)的空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格所在平面的二面角;

若所獲取的二面角大于預(yù)設(shè)的二面角閾值,確定這兩個相鄰的節(jié)點能合并;否則,確定這兩個節(jié)點不能合并。

若上述相鄰兩個節(jié)點代表的三角形網(wǎng)格所在平面的二面角大于預(yù)設(shè)二面角閾值,說明所遍歷的兩個節(jié)點所在平面趨于同一個平面,可以被合并。

若數(shù)字地面模型為山區(qū)((或地勢高低起伏比較大的地區(qū)))的數(shù)字地面模型,則可以基于二面角識別相鄰兩個節(jié)點所代表的三角形網(wǎng)格是否可以合并。

可選的,在識別出上述預(yù)設(shè)的空間填充曲線的相鄰的能進(jìn)行合并的兩個節(jié)點的方面,遍歷模塊71具體可以用于,

獲取遍歷到的預(yù)設(shè)的空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格所在平面的二面角,以及上述遍歷到的上述空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格的面積比;

若所獲取的面積比在預(yù)設(shè)面積比閾值區(qū)間內(nèi),且所獲取的二面角大于預(yù)設(shè)的二面角閾值,確定這兩個節(jié)點能合并,否則,確定這兩個節(jié)點不能合并。

本發(fā)明實施例中,只有獲取的面積比在預(yù)設(shè)面積比閾值區(qū)間內(nèi),以及所獲取的二面角大于預(yù)設(shè)的二面角閾值這兩個條件同時滿足時,才確定遍歷到的上述預(yù)設(shè)的空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格可以合并,否則,確定這兩個相鄰的節(jié)點代表的兩個三角形網(wǎng)格不能合并。

與只基于二面角識別相鄰兩個節(jié)點所代表的三角形網(wǎng)格是否可以合并相比,同時基于二面角和面積比識別相鄰兩個節(jié)點所代表的三角形網(wǎng)格是否可以合并使得山區(qū)數(shù)字地面模型的化簡結(jié)果更加精確。

可選的,若為第一次遍歷,則可以直接根據(jù)數(shù)字地面模型的類型(數(shù)字地面模型可以分為兩種類型:山區(qū)數(shù)字地面模型和平原地區(qū)數(shù)字地面模型)選擇相應(yīng)的識別方法識別遍歷到的所述預(yù)設(shè)的空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格是否能夠合并,若不能合并,則將兩個節(jié)點所代表的兩個三角形網(wǎng)格標(biāo)記為不能合并;若為非第一次遍歷,則可以先判斷所遍歷到的所述預(yù)設(shè)的空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格是否存在不能被合并的標(biāo)記,若存在,則不必判斷該相鄰兩個節(jié)點代表的三角形網(wǎng)格是否能夠合并,繼續(xù)遍歷下一組相鄰的兩個節(jié)點,若不存在,說明再所遍歷到的所述預(yù)設(shè)的空間填充曲線的相鄰的兩個節(jié)點是上一次遍歷過程中合并得到的兩個新的節(jié)點,此時需要根據(jù)數(shù)字地面模型的類型選擇相應(yīng)的識別方法識別該相鄰兩個節(jié)點代表的三角形網(wǎng)格是否能夠合并。進(jìn)一步提高數(shù)字地面模型的化簡效率。

可選的,上述預(yù)設(shè)的空間填充曲線可以為謝爾賓斯基空間填充曲線。相應(yīng)的,數(shù)字地面模型包括至少一個三角形網(wǎng)格,并將三角形網(wǎng)格抽象為預(yù)設(shè)的空間填充曲線的一個節(jié)點,具體可以為:

數(shù)字地面模型包括至少一個三角形網(wǎng)格,并將三角形網(wǎng)格抽象為謝爾賓斯基空間填充曲線的一個節(jié)點,謝爾賓斯基空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格有一條公共邊;

謝爾賓斯基空間填充曲線的相鄰兩個節(jié)點代表的三角形網(wǎng)格是未進(jìn)行合并的三角形網(wǎng)格,則謝爾賓斯基空間填充曲線的相鄰的兩個節(jié)點鏡像對稱。

也就是說,謝爾賓斯基空間填充曲線的相鄰的兩個節(jié)點代表的三角形網(wǎng)格在進(jìn)行合并前,這兩個節(jié)點是鏡像對稱的。

使用謝爾賓斯基填充曲線的一個好處是,保證每個節(jié)點恰好被遍歷一遍。

使用謝爾賓斯基填充曲線的另一個好處是,可以對三角形網(wǎng)格進(jìn)行三角條帶化處理,進(jìn)一步提高地圖渲染效率。

可選的,在將這兩個節(jié)點代表的三角形網(wǎng)格合并為一個新的三角形網(wǎng)格方面,遍歷模塊71具體可以用于,

刪除公共邊上的一個頂點,用兩個節(jié)點代表的三角形網(wǎng)格剩余的頂點構(gòu)成一個新的三角形網(wǎng)格,該新的三角形網(wǎng)格的面積大于所刪除的頂點與這兩個節(jié)點代表的三角形網(wǎng)格的非公共邊上的兩個頂點構(gòu)成的三角形網(wǎng)格的面積。

具體的,可以將公共邊上的每個頂點分別與這兩個節(jié)點代表的三角形網(wǎng)格的非公共邊上的兩個頂點構(gòu)成一個新的三角形網(wǎng)格,比較這兩個新三角形網(wǎng)格的面積,選擇面積較大的一個三角形網(wǎng)格作為合并得到的新的三角形網(wǎng)格。

如圖8所示,圖8為基于本發(fā)明實施例公開的數(shù)字地面模型化簡方法和裝置對一平原地區(qū)的數(shù)字地面模型化簡前后的對比圖;

如圖9所示,圖9為基于本發(fā)明實施例公開的數(shù)字地面模型化簡方法和裝置對一山區(qū)的數(shù)字地面模型化簡前后的對比圖。

本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機(jī)軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)(若存在)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。

在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)(若存在)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。

所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、 隨機(jī)存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
丰台区| 开封县| 东源县| 吉安县| 康定县| 东平县| 丰台区| 英吉沙县| 澜沧| 定安县| 乌兰县| 武山县| 长泰县| 潜江市| 乐平市| 乌恰县| 当涂县| 眉山市| 武川县| 昆明市| 望都县| 泸溪县| 清涧县| 昌平区| 华池县| 沙洋县| 泾源县| 云南省| 富锦市| 郑州市| 建瓯市| 三台县| 太原市| 原平市| 如皋市| 乐陵市| 许昌市| 仙桃市| 揭阳市| 遵义县| 北海市|