我想选择网格的一个区域并获取所选顶点的 ID,以便我可以在我的自定义 c++ 处理管道中使用它们。
例如,如果有一个 3d 手部网格,可以选择属于每个指尖的顶点。获取这些顶点的 ID 对于一些应用程序非常有用,例如跟踪、动画等。
Meshlab 显然在后台使用了这些顶点的 ID,但是这些信息可以暴露给用户吗?网上有很多关于如何(以各种方式)选择网格的某些区域并应用一些处理功能的教程,但我没有找到有关获取有关所选区域的原始信息的内容。
我想选择网格的一个区域并获取所选顶点的 ID,以便我可以在我的自定义 c++ 处理管道中使用它们。
例如,如果有一个 3d 手部网格,可以选择属于每个指尖的顶点。获取这些顶点的 ID 对于一些应用程序非常有用,例如跟踪、动画等。
Meshlab 显然在后台使用了这些顶点的 ID,但是这些信息可以暴露给用户吗?网上有很多关于如何(以各种方式)选择网格的某些区域并应用一些处理功能的教程,但我没有找到有关获取有关所选区域的原始信息的内容。
在 MeshLab 中显示顶点 id 有两种方式:
小心基于 0 和 1 的索引,我不确定它们在 MeshLab 中基于什么。
2017 年更新:使用新的 MeshLab 版本 (2016.12),可以使输出更具可读性。单击“获取信息”按钮后,可以按 键Space
从面拾取切换到顶点拾取。然后您可以按p
将顶点 ID 和坐标记录到小日志窗口。
另一方面, Render => Show Label 不再起作用,它给出了一个错误CANNOT START DECORATOR: the layer contains too many faces and vertices.
。
我找到的解决方案相当乏味。
看起来,虽然 Meshlab 显然在幕后使用了这些 ID,但这些信息并没有暴露给用户。所以我遵循这个启发式:
结果: