是否有明确定义的算法来检查给定的非凸 区域是否与给定的矩形完全重叠?两种形状都由折线定义,所以我们正在做矢量几何。我不需要碰撞检测,只需要完全重叠。
故事如下:我们有一个 SVG Canvas ,用户可以在其上放置可能旋转的矩形。在 Canvas 上存在基本的图层系统(每个矩形都在它自己的图层上)。请求是这样的:删除一个矩形,该矩形完全被覆盖在它上面的其他矩形挡住了视线。因此,给定矩形以外的矩形形成非凸区域,也可能是不连续的。
目标编程语言是PHP,但欢迎任何语言的解决方案。
最佳答案
您可能想查看一些空间拓扑套件(例如 JTS http://www.vividsolutions.com/jts/jtshome.htm 和各种端口)
您可以对多个几何体执行诸如并集/交集等操作,在您的情况下,如果您将复杂的多边形与矩形合并,结果应该是原始多边形,否则矩形会在某处“窥视”。
关于php - 如何检查给定的非凸区域是否与给定的矩形完全重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11334016/