首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘制可调整大小(不相交)的多边形

绘制可调整大小(不相交)的多边形
EN

Stack Overflow用户
提问于 2010-03-01 09:24:55
回答 2查看 2.6K关注 0票数 4

我到处找都找不到答案。我需要使用鼠标交互来绘制可调整大小的多边形,但我不想要不规则的、重叠的或相交的多边形。

以下是绘制可调整大小的多边形http://www.wolfpil.de/polygon.html的简单示例

你可以很容易地创建和调整多边形的大小,这是很棒的。但我需要一个额外的功能来检测交叉点,不允许奇怪的形状/多边形。你可以在这个视频中看到这个问题:http://www.youtube.com/watch?v=zou2jcGM8zw

我在http://www.wikimapia.org找到的那个问题的唯一解决方案。他们已经添加了一些功能来处理这个问题。你可以在下面的视频中看到:http://www.youtube.com/watch?v=K7-K0k2D-2A

我花了3天的时间尝试实现这样的目标。我已经看过了wikimapia的javascript代码,但它太复杂了,我无法理解。

总而言之,它不需要看起来像wikimapia的那样花哨,我只需要在调整大小或添加新点时不相交的可调整大小的多边形。你能给我一些如何做到这一点的建议吗?

提前感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-01 09:41:28

根据您允许的点数,一个简单的O(N^2)直线相交算法就足够了。从算法上讲,这不是最好的解决方案,但对于计算几何的初学者来说,这是最容易理解的。

对于初学者,请参阅Wikipedia article on line segment intersectionOne of its links对如何计算两条直线段的交点有一个易于理解的解释。

祝好运!

票数 1
EN

Stack Overflow用户

发布于 2010-03-01 17:38:04

虽然这不是一个完整的答案,但请注意,您提供的示例似乎使用了来自GMaps Utility LibraryGeometry Controls,这是一个托管在Google Code上的开放源码项目。

你可以查看the full source code in the Google Code browser

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2353409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档