像 Axes3D.plot_trisurf() 一样绘制 Trimesh 对象

Plot Trimesh object like with Axes3D.plot_trisurf()

我有一个 Trimesh 对象,但我不知道如何绘制它。我的目标是 mplot3d 中的 Axes3D.plot_trisurf() 函数会产生(见下文)。 Trimesh 对象甚至有一个包含面的属性,但我不知道从哪里获取网格点的坐标。

感谢任何想法!

您可以这样做,其中 mesh 是您的 Trimesh 对象:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_trisurf(mesh.vertices[:, 0], mesh.vertices[:,1], triangles=mesh.faces, Z=mesh.vertices[:,2]) 
plt.show()

您可能需要玩转比例、纵横比、旋转等