我绝不是一名专业的程序员,所以请不要指望这里有复杂的方法或语言。但是,我将非常感谢您提出的建议和建议,以便在稍后阶段,我可以通过编程方式添加到我的项目......这就是问题所在:
想象一下空间中的任意点(点X)具有以下属性:
区域不是简单的正方形,四边形或圆形,而是不规则的形状。
现在,我的问题是:我如何确定: (i)如果X点位于该特定区域内而不是相邻区域内; (ii)该点属于哪个特定区域(在一组区域A,B或C中)?查看链接的图像以更好地显示问题:
PS:我认识到处理Point in Polygon问题的可能性(尤其是“光线投射算法”听起来很聪明!)但它似乎不是解决方案,因为(i)区域可能相邻对彼此; (ii)我需要确定一个点所属的区域,而不是它内部/外部。
非常感谢你提前!!!
答案 0 :(得分:0)
程序员会这样做:
一个函数将参数作为一个区域和一个点的数组。
制作一个循环 - 检查所有区域和每个区域
如果该点属于那里,请通过光线投射algorythm进行检查。
如果不是,请继续循环,
如果是,请完成返回当前区域编号的功能。
如果您不在地区,请返回-1。
当然,你可以考虑到常见的边界来改善算法,而不是重复对它们进行角度计数,但是现在这些算法显然超出了你的可能性。甚至一个优秀的程序员也会从简单的事情开始,但是正在工作。