在另一个周围重塑一个多边形

时间:2011-08-16 17:15:24

标签: c# polygons

我认为这不是一个重复的问题 - 至少我不希望这样。

我有两个多边形A和B.B可以完全在A内部或者可以部分地与它相交。要求是重绘多边形A,使其包裹在Polygon B周围。我很清楚如何处理B完全在A内的情况。我在距离B最近的点切A,然后将构成B的点插入到A点在最近点的点列表并再次添加该点。这应该在B周围创建一个A流。我的库中有很多几何算法来计算距离,方位等等但我看不出它们中的任何一个都有用。两个多边形都可以是凹面,凸面等等。

我的问题出现在B部分在A的范围内。在这里,我得到了B的边缘与A的边缘相交的位置,并为A创建了新的点。然后我删除任何完全在B内的A点,因为我不再需要它们。它崩溃了。我知道B中需要插入A中的点。我不知道的是插入它们的位置或者如何处理它。

我看了几篇涵盖多边形交叉和碰撞的文章 - 例如How to intersect two polygons?

我不清楚的是,我是否应该将此视为解决问题的一种方式,或者是否有一些我想要的更简单

0 个答案:

没有答案