如何从任意多边形中减去圆形

3
给定一个任意多边形,其顶点以顺时针或逆时针方式存储(在图中表示为黑色矩形),我需要能够从该多边形中减去任意数量的圆(在图中为红色)。移除一个圆可能会将多边形分成两个单独的多边形(如图中第二行所示)。
我不确定该从哪里开始。 示例 http://www.freeimagehosting.net/uploads/89a0276d9d.jpg

3
移除了圆盘后,它就不再是一个“多边形”了。 - kennytm
但是你想要什么形式的输出呢?是带有顶点的结果形状的近似值,还是曲线方程? - Il-Bhima
需要一个顶点的近似值。 - George
一个圆或其他椭圆体有无限多个顶点。 - dash-tom-bang
2个回答

2

警告:要让代码完全正确实现这一点是棘手的。(在概念上没有问题,但你很快就会陷入数值误差和边缘情况中。) 你基本上是在寻求二维版本的构造实体几何。你可能需要看看是否可以使用由计算几何专家编写的现有库。这里有一些可能会做你想要的事情,但你必须选择最适合你的表示形式,并将你拥有的内容转换为该表示形式。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接