点在多边形内判断(射线法)
使用射线法(Ray Casting Algorithm)判断点是否在多边形内部。 从测试点向右发射水平射线,计算与多边形边界的交点数。
测试点
多边形顶点数组(按顺序排列)
点在多边形内部返回true,否则返回false
const polygon = [ new Point2D(0, 0), new Point2D(100, 0), new Point2D(100, 100), new Point2D(0, 100)];const inside = pointInPolygon(new Point2D(50, 50), polygon); // trueconst outside = pointInPolygon(new Point2D(150, 50), polygon); // false Copy
const polygon = [ new Point2D(0, 0), new Point2D(100, 0), new Point2D(100, 100), new Point2D(0, 100)];const inside = pointInPolygon(new Point2D(50, 50), polygon); // trueconst outside = pointInPolygon(new Point2D(150, 50), polygon); // false
点在多边形内判断(射线法)
使用射线法(Ray Casting Algorithm)判断点是否在多边形内部。 从测试点向右发射水平射线,计算与多边形边界的交点数。