cloudcompare旋转点云_CloudCompare:三维点云(网格)编辑和处理工具

CloudCompare是一款用C++开发的便携式软件,在Windows、Linux和Mac上均可运行。该软件通过采用特定的技术来平衡存储与速度,使得在有限的内存中能够加载更多的点云数据。通过使用32位浮点值、自定义数据分块和法向量压缩等手段,CloudCompare能够在32位系统上达到每GB内存存储约9000万个点的水平。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

便携性

CloudCompare是在C++中开发的。它目前是在Windows、Linux和Mac操作系统上编译(感谢CMake)32位和64位体系结构。

在存储和速度之间进行权衡

以下是关于CloudCompare中所做技术选择的一些细节(主要是为了实现加载尽可能多的点而不降低太多性能的目标,即在存储和速度之间进行良好的权衡)

所有存储值和大部分计算都使用32位浮点值完成

防止对数组大小的任何限制(因为在32 位Windows上很难获得大的连续内存块),我们使用一个自定义容器,自动将数据集分块成小块(每个块64KB)。

法向量(如果有)压缩到16位(实际上是15位,因为量化1的工作方式)

CloudCompare中使用的特定八叉树结构需要恒定的每点内存(即在32位操作系统上,每点8个字节—最大深度为10—在64位操作系统上为12个字节—最大深度为21!)。它基于三维点坐标的特定量化-一种Morton【2】排序方案-其中每个点在八叉树网格和任何级别上的位置都由单个整数代码表示。然后我们处理这些代码以实现非常高效的最近邻查询操作。然而,尽管这种八叉树结构对于计算距离非常有效,但它不适合快速显示( Level Of Detail (LOD) 等)

基于以上平衡选择的结果是CloudCompare每GB内存可以存储大约9000万个空白点(只含有XYZ的意思)。如果添加RGB颜色、法线向量、单个尺度字段,并且需要计算八叉树,则每GB最多可以加载3200万个点。在一个64位操作系统上,你可以加载任意多个点(事实上多达40亿)。但是,根据您的显卡功能,显示和交互性可能会因为这许多点而严重降低)。有了高端显卡,你可以保持一个合理的帧速率高达1.5亿个点。

参考文献

1 http://en.wikipedia.org/wiki/Quantization

2 http://en.wikipedia.org/wiki/Z-order_curve

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值