将minkowski差异减少到只有它的船体顶点?

时间:2011-08-06 18:52:30

标签: c++ algorithm math vector

假设我们有两个多面体,是否有任何有效的方法只计算minkowski差异的船体上的顶点?

我知道要获得单个船体顶点,您会在方向A上的一个多面体上找到最远的顶点,然后在方向A上找到另一个顶点上的最远顶点。但要为每个顶点做到这一点至少是O(N ^ 2)。有更有效的方法吗?

1 个答案:

答案 0 :(得分:3)

有一种计算凸多面体的Minkowski和(也因此也有差异)的有效方法。例如描述了here。它在两个多面体的边数方面是线性的。

因为对于任何点集,他们的Minkowski和的凸包是它们的凸包的Minkowski和,你可以先计算凸包(用Chan的算法),然后进行Minkowski求和。