C++ 中检测某点是否在某个多边形内的算法?

来源:百度知道 编辑:UC知道 时间:2024/09/24 07:26:25
若要求是精确检测,即不可用边界圆和边界盒技术,如何在C++ 中检测某点是否在某个多边形内?
请高手出招.

用图形学方法 奇偶规则
从任意位置P到对象坐标范围以外的远点画一条概念上的射线,并统计沿该射线与各边交点的个数。根据奇偶性判断P在内还是外

多边形分解为凸多边形或者三角剖分后

通过点积对多个多边形进行计算

采用奇偶规则来解决这个问题,从任何位置P到对象坐标范围以外远距离画一直线(射线),并统计沿该射线与各边的交点数目。假如与这条射线相交的多边形边数为奇数,则P是内部点,否则P是外部点。

把每条边的函数写出来再判断,用数学函数的方法