亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于WebGL的大批量傾斜攝影測量三維模型加載方法

文檔序號:9667437閱讀:2028來源:國知局
一種基于WebGL的大批量傾斜攝影測量三維模型加載方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字地球模型渲染技術(shù),尤其涉及一種基于WebGL的大批量傾斜攝影測量三維模型加載方法。
【背景技術(shù)】
[0002]隨著HTML5規(guī)范逐漸深入人心,基于HTML5的應(yīng)用開始火熱起來,利用HTML5技術(shù)來渲染三維數(shù)字城市模型也成為數(shù)字地球、數(shù)字城市開發(fā)者的一個熱點。然而,由于HTML5種所使用的WebGL技術(shù)使用JavaScript綁定OpenGL ES 2.0進行三維模型渲染,因此在渲染效率上很難與桌面系統(tǒng)特別是原生態(tài)的OpenGL程序相提并論。而另一方面,隨著傾斜攝影測量技術(shù)的發(fā)展,現(xiàn)在的數(shù)字城市中已開始大量采用這種清晰、逼真且建模自動化程度較高的三維模型。但與傳統(tǒng)主要通過手動建模的數(shù)字城市相比,基于傾斜攝影測量模型構(gòu)建的數(shù)字城市模型數(shù)量更多、渲染任務(wù)量更大。無論是WebGL的渲染效率還是Internet上的數(shù)據(jù)下載速度暫時都受到制約的情況下,如何對大批量傾斜攝影測量模型的渲染/加載策略/方法進行改進,使之能滿足通過瀏覽器進行數(shù)字城市的順利加載、滿足互聯(lián)網(wǎng)上的三維模型瀏覽需要就成為一個亟待解決的重要問題。

【發(fā)明內(nèi)容】

[0003]本發(fā)明要解決的技術(shù)問題在于針對現(xiàn)有技術(shù)中的缺陷,提供一種基于WebGL的大批量傾斜攝影測量三維模型加載方法。
[0004]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于WebGL的大批量傾斜攝影測量三維模型加載方法,包括以下步驟:
[0005]1)將所有傾斜攝影測量三維模型按照縮放級別進行劃分;
[0006]2)對分組后的傾斜攝影測量三維模型按照縮放級別和經(jīng)瑋度范圍進行數(shù)據(jù)分片,每一個分片保存為一個分片模型;并保存以下分片信息:分片等級;每一等級的模型分片數(shù);每一個模型分片所對應(yīng)的坐標范圍;
[0007]3)對分片模型文件進行加載分組,分組步驟如下:
[0008]3.1)確定整個數(shù)字城市將要被加載的縮放等級;
[0009]3.2)確定該等級下的分組數(shù);所述每個縮放等級下的分組數(shù)為事先設(shè)定;
[0010]3.3)確定該等級下的每個分組的區(qū)域范圍,根據(jù)分組的區(qū)域范圍確定每個分組中包括的分片模型;
[0011]4)批量三維模型動態(tài)加載;
[0012]4.1)由當前數(shù)字城市場景瀏覽的攝像機參數(shù),計算攝像機的范圍以確定需要加載的模型分組等級;
[0013]4.2)由當前攝像機的中心點位置,與當前加載等級的分組范圍比較,判斷其落入的分組,加載相應(yīng)分組所對應(yīng)的全部三維模型;
[0014]4.3)當攝像機發(fā)生縮放操作時,計算將要加載的模型分組等級,如果與原等級不同,判斷當前已加載的是否為最大模型分組等級且模型加載量超過60%,若是則攝像機的后續(xù)縮放過程中將不再刪除已經(jīng)加載的三維模型;否則刪除已加載的三維模型,轉(zhuǎn)而加載新的等級下的分組模型;
[0015]4.4)當攝像機發(fā)生移動操作時,則依據(jù)步驟4.2)判斷需要加載的模型分組是否已經(jīng)被加載了,如果沒有則進行加載。
[0016]按上述方案,所述步驟2)中分片工具為三維處理軟件。
[00?7] 按上述方案,所述步驟2)中分片信息記錄在LODTree.xml中。
[0018]按上述方案,所述步驟3)中由讀入的模型分片信息制定分組策略,主要遵循的原則有:每一分組的切片模型數(shù)量為7至15個;每一分組中的切片模型相鄰;不同等級的模型分組所對應(yīng)的切片模型數(shù)有明顯的差別;最低等級的所有模型切片只對應(yīng)一個分組。
[0019]本發(fā)明產(chǎn)生的有益效果是:本發(fā)明通過使用一種模型的分組動態(tài)加載策略使得大批量的傾斜攝影測量三維模型可以無插件的呈現(xiàn)/渲染在Web瀏覽器上,在本發(fā)明基礎(chǔ)上可實現(xiàn)數(shù)字城市的跨平臺展示。
【附圖說明】
[0020]下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
[0021]圖1是本發(fā)明中實施例的模型分組方法流程圖;
[0022]圖2是本發(fā)明實施數(shù)字城市批量模型動態(tài)加載方法流程圖。
【具體實施方式】
[0023]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0024]如圖1所示,一種基于WebGL的大批量傾斜攝影測量三維模型加載方法,包括以下步驟:
[0025]1)將所有傾斜攝影測量三維模型按照縮放級別進行劃分;
[0026]2)對分組后的傾斜攝影測量三維模型按照縮放級別和經(jīng)瑋度范圍進行數(shù)據(jù)分片,每一個分片保存為一個分片模型;并保存以下分片信息:分片等級;每一等級的模型分片數(shù);每一個模型分片所對應(yīng)的坐標范圍;
[0027]3)讀入模型分片信息(LODTree.xml);
[0028]由模型分片所產(chǎn)生的LODTree.xml文件中讀入模型分片信息來決定如何進行模型分組;
[0029]這些分片信息主要包括,(1)分片等級;(2)每一等級的模型分片數(shù);(3)每一個模型分片所對應(yīng)的坐標范圍及其模型數(shù)據(jù)路徑。
[0030]4)分組策略制定;
[0031]由讀入的模型分片信息制定分組策略,主要遵循的原則有:
[0032]a)每一分組的切片模型數(shù)量不宜太多,但也不宜太少。最好在10個左右。
[0033]b)每一分組中的切片模型盡量相鄰,以便于從切片模型坐標范圍(XY方向)中計算到分組范圍(XY方向坐標范圍)。
[0034]C)模型分組的等級之間所對應(yīng)的切片模型數(shù)盡量有比較明顯的差別。
[0035]D)最低等級的模型分組數(shù)設(shè)置為1。
[0036]5)模型拷貝
[0037]按照4)所確定的分組等級數(shù)建立文件夾如(0,1,2…分別代表等級0,1,2等),分別將各個等級所對應(yīng)的分片模型拷貝到這些文件夾中。為了達到Webgl對模型渲染的需要,這些模型需要統(tǒng)一轉(zhuǎn)換成bgltf格式。
[0038]6)分組等級范圍及最大等級模型數(shù)記錄
[0039]為了確定攝像機進行縮放時進入到的是哪一個分組等級。需要記錄下每個分組等級中的視野范圍。該范圍計算就是取該等級下的所有切片分組的XY坐標范圍,計算其平均值并記錄下來。對于最大等級的模型分組,需要記錄下該等級下的所有模型的個數(shù)。
[0040]7)模型分組信息記錄
[0041 ]以CZML文件格式記錄下所有模型分組信息。
[0042]其中
[0043]CZML文件名為該模型分組對應(yīng)的經(jīng)瑋度范圍。如122.955_39.675_122.984_39.682.czml代表該分組的經(jīng)瑋度范圍為經(jīng)度(122.955-122.984),瑋度(39.675-39.682)。
[0044]CZML中記錄了組成該分組的所有模型分片坐標信息和對應(yīng)的模型路徑。文件采用j son 格式記錄這些信息,形如:[{post1n: ,model: },{post 1n: ,model:} , {post1n:,model:}…]。posit1n代表模型顯示位置坐標,model代表模型路徑。本發(fā)明中對批量傾斜攝影測量模型分組方法見圖1。
[0045]8)批量模型動態(tài)加載步驟,本發(fā)明中基于Webgl的批量傾斜攝影測量模型動態(tài)加載方法見圖2;
[0046]8.1)初始加載時加載最低等級的模型分組中的模型,由于最低等級中的模型分組數(shù)為1,也就是所有該等級下的模型都被加載出來;
[0047]8.2)當用戶進行縮放操作時,對用戶當前的攝像機參數(shù)進行計算并與步驟6)中記錄的等級范圍對比,判斷其是否進入了另一個等級;
[0048]8.3)如果在8.2中得到的加載等級與之前的等級不等則移除當前所加載的所有模型,轉(zhuǎn)而加載新的加載等級下的模型;
[0049]8.4)在步驟8.3)中如果進行縮放操作前,已經(jīng)加載到最大等級的模型了。則需要判斷該等級模型數(shù)加載量是否已經(jīng)超過了 60%。如果已經(jīng)超過了則不再移除這些已經(jīng)加載了的模型。
[0050]8.5)在用戶的移動操作時,計算攝像機中心落在當前等級的哪一個模型分組范圍內(nèi)。如果該范圍所對應(yīng)的模型分組沒有被加載,則將其進行加載,并將該范圍信息存儲到已加載模型分組范圍集合中。由于每個模型分組的范圍被記錄在其文件名上,所以可以將這些分組模型名進行索引,就可以快速判斷出攝像機中心落在哪個矩形范圍內(nèi)。
[0051]應(yīng)當理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進或變換,而所有這些改進和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。
【主權(quán)項】
1.一種基于WebGL的大批量傾斜攝影測量三維模型加載方法,其特征在于,包括以下步驟: 1)將所有傾斜攝影測量三維模型按照縮放級別進行劃分; 2)對分組后的傾斜攝影測量三維模型按照縮放級別和經(jīng)瑋度范圍進行數(shù)據(jù)分片,每一個分片保存為一個分片模型;并保存以下分片信息:分片等級;每一等級的模型分片數(shù);每一個模型分片所對應(yīng)的坐標范圍; 3 )對分片模型文件進行加載分組,分組步驟如下: 3.1)確定整個數(shù)字城市將要被加載的縮放等級; 3.2)確定該等級下的分組數(shù);所述每個縮放等級下的分組數(shù)為事先設(shè)定; 3.3)確定該等級下的每個分組的區(qū)域范圍,根據(jù)分組的區(qū)域范圍確定每個分組中包括的分片模型; 4)批量三維模型動態(tài)加載; 4.1)由當前數(shù)字城市場景瀏覽的攝像機參數(shù),計算攝像機的范圍以確定需要加載的模型分組等級; 4.2)由當前攝像機的中心點位置,與當前加載等級的分組范圍比較,判斷其落入的分組,加載相應(yīng)分組所對應(yīng)的全部三維模型; 4.3)當攝像機發(fā)生縮放操作時,計算將要加載的模型分組等級,如果與原等級不同,判斷當前已加載的是否為最大模型分組等級且模型加載量超過60%,若是則攝像機的后續(xù)縮放過程中將不再刪除已經(jīng)加載的三維模型;否則刪除已加載的三維模型,轉(zhuǎn)而加載新的等級下的分組模型; 4.4)當攝像機發(fā)生移動操作時,則依據(jù)步驟4.2)判斷需要加載的模型分組是否已經(jīng)被加載了,如果沒有則進行加載。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟2)中分片工具為三維處理軟件。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟2)中分片信息記錄在LODTree.xml中。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟3)中由讀入的模型分片信息制定分組策略,主要遵循的原則有:每一分組的切片模型數(shù)量為7至15個;每一分組中的切片模型相鄰;模型分組的等級之間所對應(yīng)的切片模型數(shù)有明顯的差別;最低等級的模型分組數(shù)設(shè)置為1。
【專利摘要】本發(fā)明公開了一種基于WebGL的大批量傾斜攝影測量三維模型加載方法,該方法包括以下步驟:1)傾斜攝影測量模型的分片與分組;2)基于WebGL的三維模型動態(tài)加載。本發(fā)明通過以上這些方法與策略來實現(xiàn)基于HTML5的數(shù)字三維城市展現(xiàn),在本發(fā)明方法的基礎(chǔ)上可實現(xiàn)瀏覽器上的傾斜攝影測量三維數(shù)字城市。
【IPC分類】G06F17/30
【公開號】CN105426488
【申請?zhí)枴緾N201510814628
【發(fā)明人】余翔宇
【申請人】中國地質(zhì)大學(xué)(武漢)
【公開日】2016年3月23日
【申請日】2015年11月20日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1