0

我是 3D 几何的新手。我正在尝试使用 python 库 trimesh 从 glb 文件中提取网格。我想不出这样做的正确方法。我的要求是我需要一个对象的 3D 网格(作为邻接矩阵),以便我可以在它们上应用非欧几里得卷积算子。

关于我应该看什么的任何建议?

4

1 回答 1

2

您可以使用它trimesh.load来加载您的 glTF 文件。请注意,返回类型取决于模型文件的文件类型。对于 glTF 文件,它将返回一个trimesh.Scene. 场景具有各种属性,例如相机、灯光以及几何形状。这是因为 glTF 文件可以包含更多的模型数据。每个几何都是 的一个实例trimesh.Trimesh,它是几何的基类,并具有edges_sparse表示模型邻接矩阵的属性。

把它们放在一起:

scene = trimesh.load("some_file.glb")
geometries = list(scene.geometry.values())
geometry = geometries[0]
adjacency_matrix = geometry.edges_sparse

使用文档来解决这个问题有点乏味。我倾向于查看源代码或在我的 IDE 中打开调试器:

于 2021-01-07T15:50:09.013 回答