我到处寻找但找不到答案。我
需要通过鼠标交互绘制可调整大小的多边形,但我
不希望出现不规则、重叠或相交的多边形
结尾。
这是绘制可调整大小的多边形的简单示例http://www.wolfpil.de/polygon.html http://www.wolfpil.de/polygon.html
您可以轻松创建多边形并调整其大小,这很棒。但我需要一个
额外的功能来检测交叉点并且不允许奇怪的
寻找形状/多边形。
您可以在此视频中看到问题:http://www.youtube.com/watch?v=zou2jcGM8zw http://www.youtube.com/watch?v=zou2jcGM8zw
我找到的该问题的唯一解决方案http://www.wikimapia.org http://www.wikimapia.org。他们添加了功能来解决这个问题。
你可以在这个视频中看到它:http://www.youtube.com/watch?v=K7-K0k2D-2A http://www.youtube.com/watch?v=K7-K0k2D-2A
我花了三天时间尝试实现这样的目标。我走了
通过 wikimapia 的 javascript 代码,但它对我来说太复杂了
去理解。
总而言之,它不必像 wikimapia 那样看起来很花哨。我只是
需要可调整大小的多边形,在调整大小时不相交或
为其添加新点。你能给我一些建议吗
达到那个目的?
预先感谢。
取决于你允许多少点,一个天真的,简单的O(N^2)
线相交算法就足够了。从算法上来说,这不是最好的解决方案,但对于计算几何初学者来说,这是最容易理解的解决方案。
对于初学者,请参阅维基百科关于线段相交的文章 http://en.wikipedia.org/wiki/Line_segment_intersection. 它的链接之一 http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/关于如何计算两条线段的交点有一个易于理解的解释。
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)