获取通过移动多边形创建的多边形
Get the polygon created by moving a polygon
不知道这个进程有没有具体的名字。我想获得通过平移多边形创建的多边形。有没有这方面的算法。例如:
.
凸包适用于凸多边形,但我想要一个通用的解决方案。我也很高兴听到是否有办法通过旋转创建多边形。
鉴于您在评论中给出的解释,直接的方法是:
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
计算多边形并集是一个经过充分研究的高效算法问题。
您似乎正在寻找多边形的 Minkowski sum 和描述您的移动的线段。
例如CGAL library package 2D Minkowski Sums可以计算它们。
不知道这个进程有没有具体的名字。我想获得通过平移多边形创建的多边形。有没有这方面的算法。例如:
凸包适用于凸多边形,但我想要一个通用的解决方案。我也很高兴听到是否有办法通过旋转创建多边形。
鉴于您在评论中给出的解释,直接的方法是:
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
计算多边形并集是一个经过充分研究的高效算法问题。
您似乎正在寻找多边形的 Minkowski sum 和描述您的移动的线段。
例如CGAL library package 2D Minkowski Sums可以计算它们。