我想从 Python 中的点云生成网格

Joe*_*per 2 numpy mesh point-clouds python-3.x mayavi

我有来自人体不同部位的点云,比如眼睛,我想做一个网格。我尝试使用 Mayavi 和 Delaunay,但我没有得到好的网格。云的点是完全无序的。我在 .npz 文件中有我的点云

在此处输入图片说明

使用 Mayavi

在此处输入图片说明

然后我想将我的模型保存在 obj 或 stl 文件中,但首先我想生成网格。你推荐我使用什么,我需要一个特殊的图书馆吗?

小智 5

您可以使用 pyvista 进行 3D 插值。但是,您需要手动使用控制两点链接距离的 alpha 参数。

import numpy as np
import pyvista as pv

# points is a 3D numpy array (n_points, 3) coordinates of a sphere
cloud = pv.PolyData(points)
cloud.plot()

volume = cloud.delaunay_3d(alpha=2.)
shell = volume.extract_geometry()
shell.plot()
Run Code Online (Sandbox Code Playgroud)

云可视化

德劳内插值后的网格