免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3109 | 回复: 10
打印 上一主题 下一主题

新手问个算法的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-06 23:15 |只看该作者 |倒序浏览
在一个平面上,已经给了一个n边形的n个顶点的坐标

然后任意给出P点的坐标(a,b),
如何判断P点是否在n边形内部?
告诉我个大概的思路就行.谢谢.

论坛徽章:
0
2 [报告]
发表于 2008-01-06 23:40 |只看该作者
首先对各个顶点坐标进行排序,需要保存两份记录,一份按照X坐标排序,一份按照Y坐标排序.

如果点的X或者Y坐标不在范围之内就不在范围之内;
否则,假设P点的坐标范围在点P1,P2范围之内,P3是多边形中接下来的一点,接下来判断P点是否在P1,P2,P3构成的三角形中.

论坛徽章:
0
3 [报告]
发表于 2008-01-06 23:45 |只看该作者
判断某点是不是在一个三角形之内,很简单了,初中就会了,不多说了.

这个问题其实就是把顶点排序好进行比较就是了.

论坛徽章:
0
4 [报告]
发表于 2008-01-07 02:33 |只看该作者
google“射线法”
或参考周培德的《计算几何》

论坛徽章:
0
5 [报告]
发表于 2008-01-07 10:10 |只看该作者
谢谢楼上两位朋友

论坛徽章:
0
6 [报告]
发表于 2008-01-07 12:12 |只看该作者
要考虑凹多边形的情况。

论坛徽章:
0
7 [报告]
发表于 2008-01-07 12:53 |只看该作者
凹的?如果我说左图和右图的点是完全一样的呢?

未命名.PNG (1.58 KB, 下载次数: 21)

未命名.PNG

论坛徽章:
0
8 [报告]
发表于 2008-01-07 13:02 |只看该作者

回复 #7 yuanchengjun 的帖子

你这两个不都是凹多边形吗?

论坛徽章:
0
9 [报告]
发表于 2008-01-07 13:38 |只看该作者

论坛徽章:
0
10 [报告]
发表于 2008-01-07 13:53 |只看该作者
原帖由 cugb_cat 于 2008-1-7 13:02 发表
你这两个不都是凹多边形吗?


点完全一样意味着应该有一样的结果。
如图,凹多边形形状不一样,会导致结果不一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP