php - 如何检查给定的非凸区域是否与给定的矩形完全重叠

标签 php javascript svg geometry

是否有明确定义的算法来检查给定的非凸 区域是否与给定的矩形完全重叠?两种形状都由折线定义,所以我们正在做矢量几何。我不需要碰撞检测,只需要完全重叠。

故事如下:我们有一个 SVG Canvas ,用户可以在其上放置可能旋转的矩形。在 Canvas 上存在基本的图层系统(每个矩形都在它自己的图层上)。请求是这样的:删除一个矩形,该矩形完全被覆盖在它上面的其他矩形挡住了视线。因此,给定矩形以外的矩形形成非凸区域,也可能是不连续的。

目标编程语言是PHP,但欢迎任何语言的解决方案。

最佳答案

您可能想查看一些空间拓扑套件(例如 JTS http://www.vividsolutions.com/jts/jtshome.htm 和各种端口)

您可以对多个几何体执行诸如并集/交集等操作,在您的情况下,如果您将复杂的多边形与矩形合并,结果应该是原始多边形,否则矩形会在某处“窥视”。

关于php - 如何检查给定的非凸区域是否与给定的矩形完全重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11334016/

相关文章:

php - 无法从 PHP json_encode 转换或访问 JSON 对象

javascript - 使用 jquery 在悬停时展开文本表单

javascript - 如何在以声明方式创建自定义 Dojo 小部件后检索它们

javascript - 具有数千个路径/矩形的 RaphaelJS 的性能

css - WordPress CSS 和内联 SVG

javascript - 如何将ajax请求发送到同一页面?

php - 如果 IN 子句在 Mysql 中为空,则给出所有行

php - WP-Polls 将 IP 限制设置为 2

security - 防止 SVG 被轻易逆向工程

php - 在 PHP 中通过安全连接发送 cookie 的含义是什么