这玩意能判断点在不在多边形内部?

code

    insidePolygon(testPoint, points) {
      const x = testPoint[0],
        y = testPoint[1];
      let inside = false;
      for (let i = 0, j = points.length - 1; i < points.length; j = i++) {
        const xi = points[i][0],
          yi = points[i][1];
        const xj = points[j][0],
          yj = points[j][1];

        const intersect =
          yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi;
        if (intersect) inside = !inside;
      }
      return inside;
    },

posted @ 2021-08-17 21:56  develon  阅读(30)  评论(0编辑  收藏  举报