Skip to content

Latest commit

 

History

History
57 lines (34 loc) · 2.52 KB

README.md

File metadata and controls

57 lines (34 loc) · 2.52 KB

什么是 Potree

Potree 的数据结构

在运行 Potree WebGL 项目之前,我们有必要先了解一下 Potree 的数据结构。

Octree

Potree 的数据结构是基于 Octree 的,Octree 是一种树形数据结构,它将空间划分为八个子空间,每个子空间又可以继续划分为八个子空间,如下图所示:

Octree

Octree 的每个节点都有一个八叉树索引,它是一个三维向量,每个分量的值都是 0 或 1,表示该节点在父节点的哪个子空间中。例如,节点的八叉树索引为(0,0,0),表示该节点在父节点的左下角子空间中。

为什么要用 Octree

在传统的点云格式(las、ply、pcd 等)文件中,点云数据是按照点的顺序存储的,这种存储方式的优点是简单,缺点是无法对点云数据进行快速的空间查询。而 Octree 的优点是可以对点云数据进行快速的空间查询,缺点是需要额外的空间存储 Octree 的索引。 在 Potree 中可通过相机位置、点云距离相机的距离、点云的密度等参数来控制 Octree 的分辨率,从而达到对点云数据进行快速的空间查询的目的,并实现 LOD(Level of Detail)的功能。

运行 Potree

下载 Potree
git clone https://github.com/potree/potree.git
安装依赖
cd potree
npm install
运行 Potree
npm start

打开浏览器,输入http://localhost:1234/,即可看到 Potree 的界面。

打开 example 文件夹,即可浏览 Potree 的示例。

image-20230129101038756

接下来我们打开examples/viewer.html示例。

image-20230129101246783

此时,我们就能通过Web端查看三维点云了。在下一篇中,我们将了解如何加载自己的LAS格式点云文件。