Abe*_*ler 5 sorting google-maps polygon convex-hull
我正在尝试制作一个地图,用户可以在其中勾勒出他们想要的任何形状.但我遇到的问题是,用户可以选择使多边形线交叉的点,并排除我想要包含的区域.
要查看我在说什么,请转到此页面并执行以下步骤:
你应该看到这样的东西:
替代文字http://polygon.abemiester.com/1.bmp
有没有一种简单的方法来解决这个问题,或者我基本上处理的是"旅行推销员"类型的情况?所有的逻辑都是用javascript完成的,所以如果你想看看我是怎么做的,请随意"查看源代码".
凸包可能包括用户希望排除的区域。这是解决此问题的另一种方法,可能会产生更令人满意的结果。检查每条线,看看哪些线交叉(有很多方法可以做到这一点)。然后反转这两条线之间出现的点的子序列。
例如,假设给定点 ABCDEFA,其中 BC 和 EF 交叉。您可以通过反转子序列 C..E 来取消它们的交叉,从而得到 ABEDCFA。
无论如何,这是值得尝试的事情。