【问题标题】:Check if a volume (.ply) contains a 3D-point检查体积 (.ply) 是否包含 3D 点
【发布时间】:2021-02-09 14:40:45
【问题描述】:

我正在寻找一种解决方案来定义给定的 3D 点是否包含在体积中(由多边形 .ply 文件定义)。

我使用 PyVista 从点云定义我的体积。

但我不明白如何操作 PLY 体积,有顶点和面。

我想得到这样的东西:

volume.contains(point) 将返回真或假

我的第一个想法是为该点创建一个球体以将其与体积相减/相交,但我不确定。

你有什么想法吗?

提前致谢!

【问题讨论】:

  • 我不会发布完整的答案,因为您的问题的细节存在一些歧义,但您可以使用网格的交集,请参阅docs.pyvista.org/examples/01-filter/…。尤其是select = mesh.select_enclosed_points(rot) 这行你应该很感兴趣。我不知道该方法是否也接受原始数组,但在最坏的情况下,您可能可以构建一个包含您的兴趣点的简单网格。

标签: python volume point-clouds pyvista


【解决方案1】:

这最终在这里解决了: https://github.com/pyvista/pyvista-support/issues/349

解决方案是简单地计算生成的网格和原始网格之间的距离:

dist = shell.points - point

请查看问题了解更多详情。

【讨论】:

  • 啊,是的,谢谢,我是 GitHub 上问题的作者!祝你有美好的一天!
猜你喜欢
  • 2021-05-09
  • 2023-03-23
  • 2016-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多