點雲數據就是靠海量的點顯示來模擬真實世界的。點大小設置就比較重要,例如如果數據稀疏,點顯示的時候,可以設置稍微大一些。如果點數據比較密集,則可以顯示小一些。
在Potree中,點雲定義爲PointCloudOctree,在該類中,定義了material屬性,該屬性類型爲PointCloudMaterial對象,該類定義在materials/PointCloudMaterial.js文件中。
(1)pointSize,int類型,即點的大小,不過該大小隻有在pointSizeType=FIXED的時候纔有效。
(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;