Potree 004 点云点大小形状设置

点云数据就是靠海量的点显示来模拟真实世界的。点大小设置就比较重要,例如如果数据稀疏,点显示的时候,可以设置稍微大一些。如果点数据比较密集,则可以显示小一些。

在Potree中,点云定义为PointCloudOctree,在该类中,定义了material属性,该属性类型为PointCloudMaterial对象,该类定义在materials/PointCloudMaterial.js文件中。

和点大小形状设置相关的参数有5个,分别如下。

(1)pointSize,int类型,即点的大小,不过该大小只有在pointSizeType=FIXED的时候才有效。

(2)minSize ,点大小最小值,默认值为2。

(3)maxSize,点大小最大值,默认为50。

(4)pointSizeType,点大小类型,枚举类型,定义在defines.js中,其定义如下。

export const PointSizeType = {
    FIXED: 0,
    ATTENUATED: 1,
    ADAPTIVE: 2
};

其中FIXED代表固定大小,ATTENUATED代表逐步衰减的,ADAPTIVE表示自适应的。一般我们用FIXED比较多。

(5)shape ,点形状,枚举类型,定义在defines.js中,其定义如下。

export const PointShape = {
    SQUARE: 0,
    CIRCLE: 1,
    PARABOLOID: 2
};

其中SQUARE表示方形,CIRCLE表示圆形,PARABOLOID表示剖物面。一般我们用CIRCLE比较多。

一般我们会针对一个点云数据对象设置这些参数,设置参数的代码如下。

pPointcloud.material.size = this.PointSize;
pPointcloud.material.minSize = this.PointMinSize;
pPointcloud.material.maxSize = this.PointMaxSize;
pPointcloud.material.pointSizeType = this.PointSizeType;
pPointcloud.material.shape = this.PointShape;

设置点大小1.8,固定大小,圆形后的效果如下图所示。

截图.png

修改大小类型为自适应,形状为方形,显示效果如下图所示。

截图.png

 

posted @ 2023-01-29 18:41  mytudousi  阅读(354)  评论(0编辑  收藏  举报