获取通过移动多边形创建的多边形

时间:2016-05-06 22:38:10

标签: algorithm language-agnostic geometry polygon computational-geometry

我不知道该流程是否具有特定名称。我想获得通过平移多边形创建的多边形。有这个算法吗?例如: Example

凸面船体适用于凸多边形,但我想要一个通用的解决方案。另外,我很高兴听到是否有办法通过旋转来创建多边形。

2 个答案:

答案 0 :(得分:4)

您似乎正在寻找多边形的Minkowski sum以及描述您的移动的线段。

CGAL library2D Minkowski Sums可以计算它们。

答案 1 :(得分:2)

鉴于你在评论中给出的解释,直截了当的方法就是:

Let v be a vector describing the linear movement
For each edge (p,q) in the polygon 
  construct quadrilateral (p, q, q+v, p+v)
Compute the union of all the quadrilaterals plus the original polygon

计算多边形联合是一个经过深入研究的高效算法问题。