如图:给出几个确定的坐标A,B,C,D,E,F.....,按照顺序用直线连接以上坐标点得出的一个不规则图形,现在假定我给出一个坐标 X=5,Y=4,如何来判断该坐标点是否包含在这个不规则图形内?
应该用什么样的算法实现?
------解决方案--------------------------------------------------------
A,B,C,D,E,F
首先能不能组成图形
你是怎么判断的??
------解决方案--------------------------------------------------------
关注
帮顶
------解决方案--------------------------------------------------------
围观
------解决方案--------------------------------------------------------
查一下,autocad中是否有这方面的函数。
------解决方案--------------------------------------------------------
算法问题 关注
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
只要内部没空心,可以先把多边形分解成三角形
http://www.huangbowen.net/post/polygon-analyze
然后判断点是否在3角形内
http://www.blogjava.net/jiangshachina/archive/2008/10/16/217214
我并没有实践过
------解决方案--------------------------------------------------------
如果点(x1,y1)
计算直线x=x1与图形的交点
计算直线y=y1与图形的交点
实际不妨想象一下,那个图形的边都是玻璃做滴异型棺材,你用一个手电筒玻璃外部的一个点照射进去,那么第个交点就表示光线射入玻璃棺材内部,而第二个交点表示光线从玻璃棺材里面出来,第三个点表示又进入里棺材
呵呵,这样就很好理解了
只要综合判断一下交点状况就可以了
我想你可以找一下凹/凸多边形的内部点判定方面的资料
实际上我想还有另外一个解法,就是直接给多边形内部填充颜色,而后判断坐标点的颜色就可以