Potree學習總結

2022-03-02 14:32:51 字數 2763 閱讀 5625

一、      簡介

基於web端的三維模型展示,這裡僅介紹three.js和potree。

three.js 是一款基於webgl的執行在瀏覽器中的 3d 開源引擎,用它建立各種三維場景。它類似於meshlab開源中的vcglib庫,後者是基於opengl進行封裝的3d開源庫,本質是相同的。所以,基於three.js會比較靈活,模型顯示不失真。但對初學者來說,學習難度較大。另外,它沒有對模型網格訪問與顯示做什麼優化,在模型檔案較大時,在瀏覽器開啟時會等待較長時間。

potree是一種基於webgl的點雲資料視覺化解決方案,包含點雲資料轉化,以及進行視覺化的原始碼。該解決方案的主要優勢在於對點雲資料進行了多尺度的管理,在資料傳輸和視覺化上都做了優化。它是一套開源的系統,基於three.js,由奧地利維也納理工大學的harvest4d專案貢獻。

二、      軟體環境

2.1   potree

2.2   potreeconverter

2.3   potree學習

/blob/master/docs/getting_started.md

2.4   three.js

2.5   three.js學習

三、      要點

3.1   轉換

potree在web上展示的點雲檔案,支援binary,las和laz三種資料格式。所以,對其它的三維模型檔案格式(例如:ply),需通過potreeconverter工具進行轉換。 

如圖一所示,經過命令列形式轉換後,會生成下面內容: 

整體資源打包,並生成乙個靜態html展示主頁,方便瀏覽。

圖一3.2   io支援

potree converter支援格式: 

3.3   速度

採用了特殊的點雲檔案壓縮與分割處理,以及逐漸渲染方式,速度還是明顯很快的。經本人測試:potree官網提供的多個demo顯示,最長時間為20秒顯示完畢,一般性的都是10秒內顯示完畢。假設如果是在國內網訪問,理論上速度應該更快些。

3.4   瀏覽器支援

對目前主流的ie、chrome和firefox都支援,本人已在chromev 57.0.2970.0和microsoftedgehtml 14.14393測試通過。

3.5   操作支援

支援滑鼠左鍵旋轉、滾輪縮放、右鍵平移。另外,還提供強大的屬性操作介面,例如:角測量、高度測量、距離測量、面積測量、體積測量、多視角觀察等等。除了直接對模型進行編輯修改外,基本上其它功能都有。

3.6   中文支援

如圖二所示屬性操作介面,目前頁面是可以支援中文,但引用的i18next庫好象不支援中文,導致中文測試時顯示為亂碼。

圖二四、      web展示效果

經過在本地搭建web伺服器後,進行測試(例如:http://localhost/potree/test.html)。下面是一些potree在web上顯示效果與meshlab模型顯示的對比,實際上也相當於基於點的模型(點雲)檔案和原始三維模型(例如:ply)進行比較。

備註:採用potree converter進行轉換時,如果調整某些引數,理論上生成的點雲檔案應該會更清晰一些。

圖三五、      基於potree的解決方案

思路:在存放三維模型檔案的伺服器,存在乙個後台執行的程式:定時讀取新的三維模型檔案、呼叫potreeconverter控制台程式自動轉換模型檔案到potree支援的目錄、關閉potreeconverter控制台程式、將生成potree目錄資訊拼接成http**(例如:http://localhost/potree/test.html,其中localhost將被真實的網域名稱或ip取代),最後更新到關聯資料庫中。此後台程式將包裝成service api的形式(例如:restful方式)以供呼叫。當服務層每上傳乙個模型檔案成功後,呼叫該後台service api介面來獲到生成的**,將該**隨原客戶端資訊一起更新到資料庫中。這種由服務層直接拉的方式,可避免定時轉換問題、動態監測模型檔案、以及遠端更新資料庫的問題。

例如:potreeconverter控制台轉換命令:

potreeconverterd:\meshlab_model\20150602112021.ply –o c:\xampp\htdocs\potree –generate-page testcabinet

以下是我as格式的轉換命令

.\potreeconverter.exe e:\origindata\qinghai\las -o  e:\origindata\qinghai\las --generate-page web --output-format las --material intensity

轉換後效果如下 

拼接而成的**:

http://localhost/potree/testcabinet.html      (本地測試用)

圖四六、      總結

經過一系列的測試、比較與分析,potree在速度方面已經基本達到要求。顯示質量方面略有不足,主要原因是它是基於點雲模型作為基礎來顯示,所以本身模型質量就比不上原始三維模型。不過,整體上看顯示效果還是差不多的,作為在瀏覽器上能快速**地目的,可以滿足此需求。

學習後總結,總結後再學習

學習後總結,總結後再學習 2010年畢業以來,讀了幾百本書籍,包括it技術 管理 歷史 營銷 金融 心理等等,在讀某商學院mba一年後感覺有些東西還是要寫寫,除了能增加自己對某些知識和理論的理解外,也許其他人也碰巧想關注一下,了解這方面的東西。我所寫的都是一些簡單的概念層面的解釋,不會做太深入的闡述...

學習總結 近期acm學習的總結

開學已經乙個月了,對acm的學習也乙個月了,做了一下總結 對自己不好的地方的反省 1.開學一開始學的是stl,不得不說stl是乙個很好的東西,熟練的運用stl大大的減少了 量,也使演算法容易實現。但是我在用stl後使自己產生了一種惰性思維。在兩個星期的stl練習後,我發現自己變得越來越懶,不願意自己...

深度學習學習總結

北京大學人工智慧實踐 tensorflow2.0 學習1 6章 複習1 4章 第4章需要寫乙個部落格 寫4,5,6章 吳恩達深度學習第四步 卷積神經網路 學習1 2周 複習1 2周 殘差網路和inception網路不太懂,目前用不到 三四周是目標定位,人臉識別,神經風格轉換目前用不到 油管最新最熱t...