【问题标题】:Algorithm to find intersection of two convex polyhedrones寻找两个凸多面体交集的算法
【发布时间】:2021-05-25 18:57:27
【问题描述】:

在几何学中,多面体是具有平坦多边形面、直边和尖角或顶点的三维形状。

我有两个相互交叉的凸多面体。这两个多面体的交集部分就是我的欲望空间。

我想知道是否有任何算法可以适当地找到这个空间?如果可用,代码是否(开源)为它编写?

【问题讨论】:

  • 有一些算法可以解决这个问题。你会发现很多论文描述了这个问题的解决方案。如果你想找到一个实现,你必须指定使用的语言。即便如此,您也可能运气不佳,不得不自己做大量工作。

标签: algorithm geometry computational-geometry


【解决方案1】:

一个简单的解决方案如下:
凸多面体可以描述为由多面体的各个面定义的半平面的交集(在 2D 中可能更容易想到,但在 3D 中它的工作方式相同)。

有了这个定义,找到交点就像取两个多面体的半平面的交点一样简单。由于这是一个相当原始的操作,几乎所有计算几何库都应该支持它。

【讨论】:

  • 我这个问题的主要目标是找到一种“多面体裁剪”的方法。您的解决方案是否会导致多面体剪裁?你找到多面体裁剪的源代码了吗?
  • @NULL 它计算两个多面体的交集。你用这个结果做什么完全是另一回事。您应该在问题中准确说明您想要什么。不过现在有点晚了,所以你必须问另一个问题 - 请不要只编辑这个问题。至于源代码:在这里询问异地资源是题外话,我在对您的问题的评论中已经提到的相同问题更适用于多面体剪裁。
  • 如果你的多面体是凸的,它们就等于它们的凸包,所以你可以使用凸包算法(就像存在很多一样)来找到你需要的交点。
猜你喜欢
  • 2015-11-07
  • 2012-10-17
  • 1970-01-01
  • 2018-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 2019-09-05
相关资源
最近更新 更多