从点云到法线的pyntcloud到多面体

问题描述 投票:0回答:1

[我有一个点云,我将它作为一系列点导入到pyntcloud libray中,它是一个完全3D的点云,因为它边界形成一个体积。

points = pd.DataFrame(points)   
points.columns = ['x', 'y', 'z']
cloud = PyntCloud(points)

我计算法线

k_neighbors = cloud.get_neighbors(k=10)
cloud_norm=cloud
cloud_norm.add_scalar_field("normals", k_neighbors=k_neighbors)

我想生成一个固体对象,最好是一个多面体,我已经查看了CGAL绑定和peshesh,但是找不到有效的解决方案。有什么想法吗?

数据的结构如下

cloud.points
                x           y           z    nx(11)    ny(11)    nz(11)
0      991.538025  267.574707  191.911194 -0.065332 -0.106776  0.992134
1      991.545227  267.598602  191.912704 -0.157886  0.069813  0.984986
2      991.546570  267.587189  191.913498 -0.124825 -0.085891  0.988454
3      991.548889  267.565887  191.910797 -0.082405 -0.210254  0.974168
4      991.549805  267.563507  191.911499 -0.094382 -0.256764  0.961855
5      991.552124  267.624298  191.910599 -0.192515  0.238861  0.951779
python-3.x point-clouds polyhedra
1个回答
0
投票

CloudCompare有一个可以执行此操作的插件。它使用执行“泊松重建”的开源插件,请参见https://www.cs.jhu.edu/~misha/Code/PoissonRecon/Version12.00/它生成.ply文件。

© www.soinside.com 2019 - 2024. All rights reserved.