999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Cesium 的三維瓦片構(gòu)建技術(shù)研究

2021-01-20 08:43:44孟天杭
關(guān)鍵詞:瓦片模型

孟天杭

(北京建筑大學(xué)測繪與城市空間信息學(xué)院,北京100000)

1 概述

近年來,隨著無人機(jī)、激光掃描等數(shù)據(jù)采集技術(shù)的發(fā)展,有效降低了三維空間數(shù)據(jù)的獲取成本和時(shí)間周期,提高了數(shù)據(jù)精度。然而,隨著大規(guī)模三維空間數(shù)據(jù)的不斷積累,三維空間數(shù)據(jù)如何在B/S 下高效地發(fā)布、共享、交換、傳輸,成為一個亟待解決的問題。

Cesium 是當(dāng)前應(yīng)用最廣泛的三維GIS 框架之一,無需任何插件可直接在瀏覽器端展示三維虛擬地球并疊加豐富的地理空間數(shù)據(jù),是一個跨平臺、開源、輕量級的WebGis 表現(xiàn)層庫。Cesium 使用的三維瓦片數(shù)據(jù)格式是3D Tiles,該數(shù)據(jù)格式是由AGI 公司于2015 年6 月制定的一套用于流式傳輸大量異構(gòu)3D地理空間數(shù)據(jù)集的開放規(guī)范[1]。3D Tiles 是一個開放規(guī)范,可用于在臺式機(jī)、Web 程序和移動應(yīng)用程序之間共享,可視化,可以包含多種類型的3D 地理空間內(nèi)容,比如傾斜攝影測量模型、BIM建筑模型、人工模型、點(diǎn)云、矢量數(shù)據(jù)等都可以轉(zhuǎn)化為三維瓦片,從而高效地進(jìn)行可視化、共享和互操作等難題[2]。

3D Tiles 雖然是開源的一套規(guī)范,但如何對多源異構(gòu)數(shù)據(jù)建立三維瓦片,目前還存在很多的問題。雖然AGI 公司開源了部分3D Tiles 處理工具,在傾斜攝影數(shù)據(jù)方面已經(jīng)能很好地進(jìn)行處理,但在人工大模型和點(diǎn)云方面還沒有很好地解決方案。本文通過詳細(xì)研究3D Tiles 的規(guī)范,致力于形成一套針對人工大模型和點(diǎn)云三維瓦片構(gòu)建的解決方案[3]。

2 3Dtiles 格式說明

構(gòu)成3D Tiles 的基本框架是瓦片集,瓦片集包括索引文件和瓦片數(shù)據(jù)。索引數(shù)據(jù)是對整個瓦片集的說明以及瓦片的空間組織結(jié)構(gòu)的存儲,而瓦片數(shù)據(jù)負(fù)責(zé)存儲單個瓦片內(nèi)所有的三維空間數(shù)據(jù),包括模型數(shù)據(jù)、點(diǎn)云數(shù)據(jù)、影像數(shù)據(jù)、矢量數(shù)據(jù)、屬性數(shù)據(jù)等。索引文件包含了版本號、資產(chǎn)說明、根節(jié)點(diǎn)、幾何誤差等屬性,其中根節(jié)點(diǎn)又包含了boundingVolume、refine、content、children、transform 等信息; 瓦片數(shù)據(jù)有b3dm、pnts、i3dm、cmpt 四種瓦片數(shù)據(jù)格式[4]。

3 三維場景分割

三維瓦片構(gòu)建之前首先對三維場景進(jìn)行分割,包括八叉樹構(gòu)建、網(wǎng)格簡化、點(diǎn)云抽稀三個關(guān)鍵的步驟。

3.1 八叉樹構(gòu)建

場景分割的方法有很多種,其中最常見的有網(wǎng)格劃分、四叉樹分割、k-d 樹,八叉樹等[5]。應(yīng)用八叉樹在對三維空間數(shù)據(jù)的處理中是效果很好的一種數(shù)據(jù)結(jié)構(gòu),因此在海量三維體數(shù)據(jù)處理過程中,應(yīng)用八叉樹數(shù)據(jù)結(jié)構(gòu)對數(shù)據(jù)進(jìn)行分解,按實(shí)際需要進(jìn)行分級分塊,可以實(shí)現(xiàn)對大規(guī)模三維數(shù)據(jù)的高效存儲和管理。本文將使用八叉樹數(shù)據(jù)結(jié)構(gòu)對三維場景進(jìn)行劃分,通過將大場景細(xì)分為很多子場景,進(jìn)而生成3D Tiles 瓦片數(shù)據(jù)。

圖1 八叉樹基本結(jié)構(gòu)圖

如圖1 所示,每次將立方體分為八個子立方體,第一次分割得到8 個立方體,第二次分割得到64 個立方體,每個立方體都有對應(yīng)的唯一編碼且對應(yīng)三維場景中一小部分,這也符合3D Tiles 的設(shè)計(jì)理念。將模型數(shù)據(jù)和點(diǎn)云數(shù)據(jù)按照此八叉樹的結(jié)構(gòu)進(jìn)行分割,為后續(xù)三維瓦片構(gòu)建做準(zhǔn)備。

3.2 網(wǎng)格簡化

網(wǎng)格簡化采用的是一種三角形折疊算法,對原始模型的三角形預(yù)分類,簡化過程中以三角形的狹長度、局部區(qū)域面積控制三角形簡化順序,較好地保持了模型原始特征,簡化速度較快[6]。

圖2 簡化折疊示意圖

此算法是將三角網(wǎng)中某個滿足條件的三角形簡化為一個頂點(diǎn)V,并將此三角形三個頂點(diǎn)所有的關(guān)聯(lián)點(diǎn)與新頂點(diǎn)V 相連,同時(shí)刪除與該三角形相鄰接的三角形,此種簡化方法刪除的基本元素是三角面片。如圖2 所示,一次折疊過程可刪除三角形T0、T1、T2、T3,頂點(diǎn)V1、V2、V3并生成一個新頂點(diǎn)V0,并將V4到V9分別與V0相連。

3.3 點(diǎn)云抽稀

點(diǎn)云抽稀算法有很多種,基于八叉樹的格網(wǎng)抽稀、基于系統(tǒng)抽稀、基于距離和高差抽稀、基于曲率的點(diǎn)云抽稀等,本文采用基于八叉樹的格網(wǎng)抽稀算法。

圖3 點(diǎn)云抽稀示意圖

如圖3 所示,點(diǎn)云抽稀的原理為計(jì)算在此格網(wǎng)內(nèi)所有點(diǎn)到網(wǎng)格中心的距離,進(jìn)行距離排序,選擇距離最小的點(diǎn)作為代替點(diǎn),用該點(diǎn)去取代整個格網(wǎng)內(nèi)所有點(diǎn)。

基于八叉樹的格網(wǎng)抽稀算法步驟為:

a.散亂點(diǎn)輸入;b.計(jì)算包圍盒;c.判斷是否滿足劃分條件;d.網(wǎng)格劃分;e.計(jì)算距離最小點(diǎn);f.進(jìn)行點(diǎn)替代。

4 三維瓦片構(gòu)建

4.1 glTF 組成

glTF 是一種適用于海量三維空間數(shù)據(jù)傳輸?shù)娜S格式。這種數(shù)據(jù)格式的內(nèi)部結(jié)構(gòu)與WebGL 的渲染機(jī)制基本一致,所以更加符合基于WebGL 的應(yīng)用需要。由于其緊湊的文件結(jié)構(gòu),使得用glTF 來表示三維空間數(shù)據(jù)所占用的容量更小,同時(shí)也減少了轉(zhuǎn)換與使用這些三維數(shù)據(jù)的成本。glTF 能夠快速加載且不依賴特定的應(yīng)用、它的內(nèi)容具有可擴(kuò)展性更適合開發(fā)者用來定義獨(dú)有的數(shù)據(jù)格式。

glTF 的組成具有一定的規(guī)則,它包含了場景、節(jié)點(diǎn)、網(wǎng)格、訪問器、材質(zhì)等。由這些屬性組成了場景入口、場景的組織者、幾何的定義者、外觀決定者、數(shù)據(jù)訪問規(guī)則、數(shù)據(jù)的存儲者。其中scene 代表場景的入口;node 代表場景的組織者;mesh 代表幾何的定義者;material、texture、image 代表外觀決定者;accessor 代表數(shù)據(jù)訪問規(guī)則;buffer 代表數(shù)據(jù)存儲者。三維空間數(shù)據(jù)的幾何信息和紋理信息都存在二進(jìn)制buffer 中,并通過bufferView 去訪問,并可通過設(shè)置偏移量來訪問某一部分?jǐn)?shù)據(jù)這也是glTF 加載效率快的原因之一。

4.2 瓦片構(gòu)建

場景分割完之后要進(jìn)行三維瓦片的構(gòu)建,實(shí)質(zhì)上是多源異構(gòu)數(shù)據(jù)向3D Tiles 轉(zhuǎn)換的過程。由于3D Tiles 所能包含的數(shù)據(jù)類別太多,本文只針對人工大模型和點(diǎn)云的三維瓦片構(gòu)建。三維場景在進(jìn)行八叉樹分割完后生成很多小文件,瓦片的構(gòu)建過程就是把這些小文件轉(zhuǎn)化為3D Tiles 支持的文件格式,b3dm、i3dm、pnts 等。

圖4 b3dm 文件結(jié)構(gòu)圖

由圖4 所示,b3dm 文件大體分為兩部分,第一部分由28 字節(jié)的文件頭組成,包括了標(biāo)識頭、版本號、總字節(jié)長度、特征表、要素表等。第二部分由特征表、(要素表)和glb(glTF 的二進(jìn)制形式)組成。其中g(shù)lTF 格式在上文已經(jīng)進(jìn)行介紹,在gltf 的基礎(chǔ)上加入一些要素信息就形成了b3dm 文件。

pnts 文件也是由兩部分組成,第一部分由28 字節(jié)的文件頭組成,第二部分由特征表和要素表組成。不同的是點(diǎn)云信息存儲在featureTable 中,而不是存儲在gltf 中,featureTable 包括點(diǎn)的顏色、法線、RGB、RTC_CENTER、BATCH_ID 等信息。

通過c++程序語言將場景分割生成的場景小文件轉(zhuǎn)換為b3dm 或者pnts 瓦片數(shù)據(jù)。瓦片數(shù)據(jù)生成完以后重要的是如何去組織這些瓦片數(shù)據(jù),也就是生成索引文件的過程。索引文件可以是具有空間一致性的任何空間數(shù)據(jù)結(jié)構(gòu),包括k-d 樹、四叉樹、八叉樹和網(wǎng)格等。每一個瓦片都有對應(yīng)的包圍盒、旋轉(zhuǎn)矩陣、幾何誤差、父節(jié)點(diǎn)、子節(jié)點(diǎn)等信息,索引文件的構(gòu)建就是把瓦片之間的層級關(guān)系,每個瓦片的描述信息等用某一種空間數(shù)據(jù)結(jié)構(gòu)組織起來。

5 結(jié)論

本文通過對Cesium 框架和三維瓦片數(shù)據(jù)格式的深入剖析,通過對三維場景八叉樹的構(gòu)建,進(jìn)行場景分割、網(wǎng)格簡化、點(diǎn)云抽稀等操作,建立模型和點(diǎn)云的多細(xì)節(jié)層次文件。利用c++編程語言將場景小文件轉(zhuǎn)化為3DTiles 所支持b3dm、pnts 瓦片數(shù)據(jù)格式,將每個瓦片數(shù)據(jù)的包圍盒、旋轉(zhuǎn)矩陣、幾何誤差等信息按照八叉樹空間數(shù)據(jù)結(jié)構(gòu)組織生成索引文件,最終生成具有多分辨率層次的三維瓦片數(shù)據(jù)格式。

猜你喜歡
瓦片模型
河水
遼河(2025年7期)2025-07-25 00:00:00
一半模型
打水漂
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
一種基于主題時(shí)空價(jià)值的服務(wù)器端瓦片緩存算法
慣性
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
基于NoSQL數(shù)據(jù)庫的瓦片地圖服務(wù)
主站蜘蛛池模板: 精品国产91爱| 国产成人综合网| 精品国产一区二区三区在线观看| 日韩久久精品无码aV| 91精品久久久无码中文字幕vr| 99精品免费在线| 欧美亚洲国产精品久久蜜芽| 国内精品久久久久久久久久影视| 欧美日韩精品一区二区在线线| 中文字幕资源站| 欧美在线一级片| 91色在线观看| 欧美人在线一区二区三区| 色哟哟国产精品一区二区| 老色鬼久久亚洲AV综合| 亚洲性日韩精品一区二区| 麻豆国产精品一二三在线观看| 亚洲六月丁香六月婷婷蜜芽| 国产精品熟女亚洲AV麻豆| 亚洲嫩模喷白浆| 亚洲成人免费看| 中文字幕在线播放不卡| 99偷拍视频精品一区二区| 久久国产精品娇妻素人| 国产黑人在线| 中文字幕1区2区| 99久久精品免费看国产免费软件| 暴力调教一区二区三区| 国产成人区在线观看视频| 国产欧美精品一区aⅴ影院| 亚洲 欧美 日韩综合一区| 视频二区亚洲精品| 亚洲区视频在线观看| 亚洲熟女偷拍| 亚洲色欲色欲www网| AV熟女乱| 素人激情视频福利| 香蕉蕉亚亚洲aav综合| 亚洲无码免费黄色网址| 无码人妻免费| 久草视频福利在线观看| 日韩无码白| 九色91在线视频| 无码福利视频| 热思思久久免费视频| 国产香蕉在线| 亚洲综合第一区| 99久久国产精品无码| 成人在线观看不卡| 自拍偷拍欧美| 综合社区亚洲熟妇p| 无码中文字幕精品推荐| 国产黄色免费看| 午夜国产大片免费观看| 极品国产在线| 伊人久久综在合线亚洲2019| 国产激情无码一区二区三区免费| 丁香五月激情图片| 99青青青精品视频在线| 中文无码日韩精品| 亚洲人成色77777在线观看| 最新无码专区超级碰碰碰| 欧美人与牲动交a欧美精品| 久久久成年黄色视频| 日韩不卡高清视频| 国产成人综合亚洲欧洲色就色| 久久婷婷色综合老司机| 在线精品自拍| 视频在线观看一区二区| 色婷婷亚洲综合五月| 亚洲黄色视频在线观看一区| 久久国产精品影院| 在线精品视频成人网| 国产成人高清亚洲一区久久| 国产综合另类小说色区色噜噜 | 日本欧美中文字幕精品亚洲| 欧美成人二区| a色毛片免费视频| 亚洲综合片| 91无码人妻精品一区| 国产色婷婷视频在线观看| 欧美黑人欧美精品刺激|