日期:2014-05-18  浏览次数:20369 次

请教一个关于平面图形方面的数学问题,高人进


如图:给出几个确定的坐标A,B,C,D,E,F.....,按照顺序用直线连接以上坐标点得出的一个不规则图形,现在假定我给出一个坐标 X=5,Y=4,如何来判断该坐标点是否包含在这个不规则图形内?

应该用什么样的算法实现?

------解决方案--------------------
A,B,C,D,E,F
首先能不能组成图形
你是怎么判断的??
------解决方案--------------------
关注


帮顶
------解决方案--------------------
围观
------解决方案--------------------
查一下,autocad中是否有这方面的函数。
------解决方案--------------------
算法问题 关注
------解决方案--------------------
探讨
ABCDEF只要不再一条直线上,那么肯定能组成一个图形。无非按照顺序否相交,那么我们这里可以先排除相交的问题,假定他们不相交

------解决方案--------------------
只要内部没空心,可以先把多边形分解成三角形
http://www.huangbowen.net/post/polygon-analyze.html
然后判断点是否在3角形内
http://www.blogjava.net/jiangshachina/archive/2008/10/16/217214.html

我并没有实践过
------解决方案--------------------
如果点(x1,y1)

计算直线x=x1与图形的交点
计算直线y=y1与图形的交点

实际不妨想象一下,那个图形的边都是玻璃做滴异型棺材,你用一个手电筒玻璃外部的一个点照射进去,那么第个交点就表示光线射入玻璃棺材内部,而第二个交点表示光线从玻璃棺材里面出来,第三个点表示又进入里棺材

呵呵,这样就很好理解了

只要综合判断一下交点状况就可以了

我想你可以找一下凹/凸多边形的内部点判定方面的资料

实际上我想还有另外一个解法,就是直接给多边形内部填充颜色,而后判断坐标点的颜色就可以