2

我不知道该进程是否具有特定名称。我想获得通过平移多边形创建的多边形。有没有一个算法。例如: Example获取通过移动多边形创建的多边形

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

+0

所以你想要一个适用于凹多边形的解决方案吗? – m69

+0

@ m69是的。否则,凸包可以工作。 –

+0

您的问题未指定。例如,应该是什么结果?多边形是W形并水平拖动? – Gene

回答

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 

计算多边形工会是一个很好研究的问题与高效的算法。

+0

四边形*和*原始或平移多边形的结合;否则,如果只是稍微移动多边形,则会得到较窄的轮廓。 – m69

+0

@ m69良好的捕捉。谢谢。 – Gene

+0

好的算法,并且似乎也容易实现。但似乎有一个更有效的解决方案。谢谢。 –