1个回答
展开全部
我有思路了:
依次对n个点验证:方法如下,从第i个点到给定的点有一个射线,求这个射线(给定点之后,沿着第射线的方向)上有多少个和多边形的边相交(交线在边长内)的点,如果数目是0或偶数个,则该点不在多边形内部,如果是奇数个,就判断下一个(i+1)点的情况。如果都是奇数个就证明在多边形内。
程序太麻烦了,三十分太少!
再给你一个方法吧,这个方法对于突多边形很有效,比上面的简单。方法就是:用多边形每个边和要判断的定点组成三角形,看报顶角度数算出来,把所有的这样的顶角度数都算出来求和,如果等于360度,就在里面,不等于就不在。简单么?自己编吧,不过好像凹多边形时不成立。
依次对n个点验证:方法如下,从第i个点到给定的点有一个射线,求这个射线(给定点之后,沿着第射线的方向)上有多少个和多边形的边相交(交线在边长内)的点,如果数目是0或偶数个,则该点不在多边形内部,如果是奇数个,就判断下一个(i+1)点的情况。如果都是奇数个就证明在多边形内。
程序太麻烦了,三十分太少!
再给你一个方法吧,这个方法对于突多边形很有效,比上面的简单。方法就是:用多边形每个边和要判断的定点组成三角形,看报顶角度数算出来,把所有的这样的顶角度数都算出来求和,如果等于360度,就在里面,不等于就不在。简单么?自己编吧,不过好像凹多边形时不成立。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询