分别使用 Open3D 和 Trimesh 加载相同的 .obj 文件导致不同数量的顶点

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

读取网格文件xxxxx.obj 我通过这些代码分别使用 Open3D 和 Trimesh 模块:

import open3d as o3d
import trimesh

mesh = o3d.io.read_triangle_mesh(meshfile)
print(mesh)
mesh_ = trimesh.load_mesh(meshfile)
print(mesh_)

输出是

TriangleMesh with 224946 points and 74996 triangles.
<trimesh.Trimesh(vertices.shape=(37486, 3), faces.shape=(74996, 3))>

open3d好像是224946分,而Trimesh是37486分,是什么原因造成的?

我打印出它们的顶点和三角形

____mesh_vert____:
 [[-0.77349651 -0.17361518 -0.5339487 ]
 [-0.77405303 -0.17450994 -0.52660068]
 [-0.77472924 -0.17558702 -0.51311542]
 ...
 [ 0.85712222  0.03432839  0.45968683]
 [ 0.8533449   0.04001502  0.4399732 ]
 [ 0.85333683  0.04001284  0.44043044]]
____mesh_vertices____:
 [[-0.77714473 -0.16696896 -0.52666056]
 [-0.77481598 -0.16823091 -0.53799069]
 [-0.77349651 -0.17361517 -0.53394872]
 ...
 [ 0.85654795  0.03840274  0.44923028]
 [ 0.85598844  0.03371801  0.43383372]
 [ 0.85334492  0.04001502  0.43997321]]
____mesh_triangles____:
 [[     0      1      2]
 [     3      4      5]
 [     6      7      8]
 ...
 [224937 224938 224939]
 [224940 224941 224942]
 [224943 224944 224945]]
____mesh_faces____:
 [[    8     7     0]
 [    0     1     8]
 [    9     8     1]
 ...
 [37465 37466 37485]
 [37484 37485 37482]
 [37482 37481 37484]]

造成差异的原因是什么?

python-3.x mesh open3d trimesh
© www.soinside.com 2019 - 2024. All rights reserved.