关于算法:查找多个多边形的共同轮廓

Finding common outline of multiple polygons

我试图找到一种算法来绘制多个多边形之间的公共轮廓。
我的意思是像这张照片:

two polygons to find outline

我们有两个矩形(在我的情况下,它们将不是矩形,而是大多数角度为直角的多边形),Im在图像的第二部分上寻找红色轮廓一样的公共轮廓。我看到的最大问题是找到新点,我在图像的第二部分上将其标记为黄色。
多边形永远不会相交或接触自身。我按逆时针顺序将多边形存储为点。

我正在寻找我应该在其上搜索的一些线索,资源或关键词,这可能会使我的任务变得更简单一些...

编辑:有点像凸包,但看着边缘而不是顶点,当我看着它时,黄点可能在边缘的连续性上。

EDIT2:好的,我需要在多边形周围绘制一个给定尺寸的边界,但是这样,如果两个多边形比边界尺寸更近,它们将具有公共边界,这是两个边界的总和,而没有"内部"部分它和这两个多边形将被视为一个形状。所以我试图找到这个红色的多边形,它将用来在它周围绘制边框。


首先,通过将所有边与延伸到无穷大的所有其他边剪裁,向多边形(您的黄色边)添加额外的顶点(例如,将边变成无限线)。

将新顶点连接到延伸的边缘。这将为您提供多边形网格。

现在来了把戏:

开始条件:

  • 选择最左上角的顶点,只能有一个!

  • 选择具有最小斜率的边,该边与1所找到的顶点相连并向右延伸。该边缘将始终位于最终多边形的外围。

迭代:

  • 从您的当前边缘开始,按顺时针方向沿着其他边缘走动。
    这样做会遇到新的顶点,这些顶点可能会连接到其他多个边。始终选择最逆时针的位置并继续。这将始终使您处于最终多边形的外围。

结束条件:

  • 再次到达左上角顶点时停止。

恭喜,您刚走过多边形的外边缘。


我会在http://www.comp.nus.edu.sg/~tancl/Papers/DAS06/39-oyuanbuusu.pdf中寻找"最合适的边界框",当然还要递归查找该书目。