在我的项目中,我有一张绘制了很多多边形的地图。每个多边形都表示为一个 MVCArray。
用户可以用这种方式在地图上绘制一个新的多边形:
- 如果用户点击地图,将会有一个新的标记:它将与时间前驱和创建的第一个标记相连。
- 如果用户点击一个标记,它将被删除,并且在标记的前任和后继之间会有一个新的连接。
我不想让用户在地图中绘制另一个多边形。要么是新创建的标记位于另一个多边形上,要么是由新标记(或删除另一个标记)创建的连接线经过另一个多边形。
有人可以帮助我或给我一个提示吗?
在我的项目中,我有一张绘制了很多多边形的地图。每个多边形都表示为一个 MVCArray。
用户可以用这种方式在地图上绘制一个新的多边形:
我不想让用户在地图中绘制另一个多边形。要么是新创建的标记位于另一个多边形上,要么是由新标记(或删除另一个标记)创建的连接线经过另一个多边形。
有人可以帮助我或给我一个提示吗?
天真的重叠测试将遍历多边形的边缘并测试line-line intersection。
从它的声音来看,你可能有太多的优势,以至于它本身无法实时生效。从那里开始,您的策略需要专注于在测试线-线交叉点之前快速剔除不需要比较的多边形/边。如果您需要想法,请查看边界圆和立方体树消除。