Potree 001 Potree介绍
1、Potree是什么
Potree是一种基于WebGL的点云数据可视化解决方案,包含点云数据转化,以及进行可视化的源码。该解决方案的主要优势在于对点云数据进行了多尺度的管理,在数据传输和可视化上都做了优化。它是一套开源的系统,基于Three.js,由奥地利维也纳理工大学的Harvest4D项目贡献。
2、获取Potree源码
Potree的git地址为https://github.com/potree,打开后,如下图所示
目前我们的目的是做一套可部署到本地点云加载显示软件,需要关注potree和PotreeDesktop两个内容。其中potree是核心,使用jsvascript开发,PotreeDesktop使用electron,把Web程序包装成了桌面程序,于是我们就可以使用javascript基于potree开发桌面软件了。
如果从头开始搭建开发环境,肯定会很复杂,例如需要下载部署好Potree环境,需要搭建electron环境。有个比较简单的办法就是,我们把官方的PotreeDesktop部署包下载下来,在此基础上修改扩展即可。
3、获取PotreeDesktop
在potree主页,点击PotreeDesktop,进入该模块的主页面,如下图所示
右侧会有PotreeDesktop的发布包,点击进入,下载最新的部署包(PotreeDesktop_1.8.1_x64_windows.zip)即可。下载后,解压出内容,会发现PotreeDesktop并没有做多少实质性的内容,只是把Potree做好的主页面包成了桌面程序,并把开发桌面使用的环境进行了整理。不过做到这些就足够了,这样就为我们提供了很大的方便,让我们把更多的精力放到了解Potree上。
源码根目录的内容如下图所示。
我们开发的桌面程序,可双击运行PotreeDesktop.bat,运行系统。PotreeDesktop.bat文件用记事本打开,内容如下。
start ./node_modules/electron/dist/electron.exe ./main
意思是启动指定目录下的electron.exe文件,后面跟了一个参数,./main,我感觉这个参数应该指的是根目录下的main.js文件。这个没有仔细研究过,基本上PotreeDesktop为我们搭建好的运行环境不太用修改,直接扩展即可。而实时上,整个系统也是从main.js启动。
双击运行PotreeDesktop.bat,运行系统,弹出的主界面如下图所示
4、PotreeDesktop结构介绍
在根目录下,有几个重要的单文件,main.js、index.html、PotreeDesktop.bat。其中PotreeDesktop.bat我们已经说过了,是系统启动的快捷方式文件,main.js是系统启动后,首先执行的文件。在这个文件里面主要设置了和electron相关的一些内容,例如electron的菜单、系统标题以及加载哪个主页面等。
index.html就是系统启动后,包装显示的主页面,我们开发的内容以及页面,都是通过该页面展示出来,从这个页面开始,就正式进入普通的Web开发了。
除了文件之外,还有几个文件夹,src、node_modules和libs。其中src为PotreeDesktop自己的源码,里面包含desktop.js和desktop.css两个文件。看了下这连两个文件,主要实现了把las文件拖到点云主显示区,并调用转换工具对点云数据进行转换操作,并加载显示的流程,代码很容易看明白。
node_modules目录感觉主要包含了electron和nodejs的一些环境以及依赖项。该模块组织的非常清晰,运行也正常,所以我一直是没有动过该目录下的内容。
libs目录是我们用到的一些js库。包括Potree库、Threejs库以及用到的点云转换可执行程序等。该目录直接按照设置好的使用即可,不用做任何修改。

Potree 001 Potree介绍的更多相关文章
- 附001.kubectl介绍及使用
一 kubectl介绍 1.1 kubectl概要 kubectl控制Kubernetes集群管理器,使用Kubernetes命令行工具kubectl在Kubernetes上部署和管理应用程序.使用k ...
- 001.VNC介绍
一 VNC介绍 VNC 服务是一个自由开源软件,采用RFB通信协议.RFB ("remote 帧缓存 ") 是一个远程图形用户的简单协议,因为它工作在帧缓存级别上,所以它可以应用于 ...
- 001.KVM介绍
KVM介绍可参考: http://liqingbiao.blog.51cto.com/3044896/1740516 http://koumm.blog.51cto.com/703525/128879 ...
- 001——Typescript 介绍 、Typescript 安 装、Typescript 开发工具
一. Typescript 介绍 1. TypeScript 是由微软开发的一款开源的编程语言. 4. TypeScript 是 Javascript 的超级,遵循最新的 ES6.Es5 规范.Typ ...
- 001 UI介绍
UI全称:User Interface,即用户界面 UI的职责:负责人机之间的交互,它需要将关键信息,操作逻辑等展示给用户 UI在游戏中承担的职责: 1.游戏美术风格的重要组成部分 2.承担着重要的美 ...
- HTML 001 入门介绍
HTML 教程- (HTML5 标准) 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言. 您可以使用 HTML 来建立自己的 ...
- 001.OpenShift介绍
一 OpenShift特性 1.1 OpenShift概述 Red Hat OpenShijft Container Platform (OpenShift)是一个容器应用程序平台,它为开发人员和IT ...
- 附002.Minikube介绍及使用
一 Minikube介绍 1.1 概述 Minikube是一种可以在本地轻松运行Kubernetes的工具.Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kuber ...
- simtrace之探秘SIM卡中的世界
0×00 关于SIM卡 众所周知SIM卡是一张插在手机上的小卡,其全称为Subscriber Identity Module 客户识别模块.不过,这个世界上并没有多少人知道SIM卡中的操作系统是基于j ...
- 开源网站管理工具—Altman
0×00前言 之前用过几款webshell工具,有B/C的也有C/S的,有的只能用于php或者aspx,当然个人用得最多.觉得用得舒服的也只有菜刀了. 但是毕竟菜刀是好几年之前的产物了,而且也已经停止 ...
随机推荐
- 从零开始学Graph Database:什么是图
摘要:本文从零开始引导与大家一起学习图知识.希望大家可以通过本教程学习如何使用图数据库与图计算引擎.本篇将以华为云图引擎服务来辅助大家学习如何使用图数据库与图计算引擎. 本文分享自华为云社区<从 ...
- .NET 7 RC 2 发布,倒计时一个月发布正式版
微软2022-10-22 发布了 .NET 7 RC 2,下一站是.NET 7正式发布,就在下个月Net Conf 2022(11月8日)期间正式发布. 经过长达一年时间的开发,.NET 7 规划的所 ...
- 拉格朗日插值优化DP
拉格朗日插值优化DP 模拟赛出现神秘插值,太难啦!! 回忆拉格朗日插值是用来做什么的 对于一个多项式\(F(x)\),如果已知它的次数为\(m - 1\),且已知\(m\)个点值,那么可以得到 \[F ...
- CF39H
前言 谁来给我讲讲九九乘法表啊. 以上菲克向. \(\sf{Solution}\) 看题上来就是数据范围 \(2\leq k\leq 10\) ,显然打表可以轻松水过,数据这么小,手算是没问题的啦. ...
- netty系列之: 在netty中使用 tls 协议请求 DNS 服务器
目录 简介 支持DoT的DNS服务器 搭建支持DoT的netty客户端 TLS的客户端请求 总结 简介 在前面的文章中我们讲过了如何在netty中构造客户端分别使用tcp和udp协议向DNS服务器请求 ...
- xss学习笔记(萌新版)
xss简介 xss攻击者构造恶意信息然后在用户的浏览器上执行,主要分为反射性xss,这种主要是某个页面存在有漏洞的参数,然后填上恶意参数把整个链接发给用户或者管理员,他们点击了带有恶意参数的链接就会执 ...
- (译)TDD(测试驱动开发)的5个步骤
原文:5 steps of test-driven development https://developer.ibm.com/articles/5-steps-of-test-driven-deve ...
- Perl语言中一些内置变量等,$x、qw、cmp、eq、ne等
转载 Perl语言中一些内置变量等,$x.qw.cmp.eq.ne等 字母 符号 释义 eq = = equal(等于) ne != not equal(不等于) cmp 比较 qq " ...
- 如何通过Java代码给Word文档添加水印?
Word中可以为文档添加的水印分为两种形式:文字水印和图片水印.水印是一种数字保护的手段,在文档上添加水印可以传达有用信息,或者在不影响正文文字显示效果的同时,为打印文档增添视觉趣味,能起到传递信息, ...
- 2022春每日一题:Day 21
题目:[SCOI2007]降雨量 这题比较坑,分几种情况,但是可以总起来说,分开写,两个月份都没出现,maybe,否则如果两个月份都大于[l+1,r-1]的最大值,如果两个月份差值=r-l输出,tru ...