如何获得CGRect与多个交叉的非交叉区域?

时间:2016-09-19 09:11:55

标签: objective-c cgrect intersect

我有一个主(红色)矩形和几个其他矩形,它们随机地与主矩形相交。

如何获得主矩形(红色区域)的非交叉区域?

see preview

1 个答案:

答案 0 :(得分:0)

这很大程度上取决于你的意思"有"并且"得到"。什么是输入和输出格式?你想要一系列点数,还是只需要一个区域?这是一般解决方案,还是这个简化的案例?

对于快速,通用的解决方案,我强烈推荐BOOST polygon library(披露:我是BOOST会议演示的一位评论员)。它处理任意多边形,包括孔,并且可以完成所有基本多边形操作。

简单的多边形是一系列点。你可以制作一组多边形。在这种情况下,声明所有多边形;将红色矩形放入A组,将灰色矩形放入B组。然后A-B返回所需的显示多边形。