Mr_老冷 发表于 2022-12-4 12:31:04

【EasyClick】【通用】判断点是否在多边形区域内

let 坐标点 = {
      x: 1,
      y: 0,
    }
    let 多边形区域 = [
      {x: 0, y: 0},
      {x: 0, y: 100},
      {x: 100, y: 100},
      {x: 100, y: 0},
    ]

    logd(isPointInPolygon(坐标点, 多边形区域))

//判断点P在多边形内-射线法
function isPointInPolygon(point, polygon) {
    let x = point.x,
      y = point.y
    let inside = false
    for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
      let xi = polygon.x,
            yi = polygon.y
      let xj = polygon.x,
            yj = polygon.y
      let intersect = yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi
      if (intersect) inside = !inside
    }
    return inside
}


bayig 发表于 2022-12-4 12:44:38

DDDDDDDDDDDD

qevankjl 发表于 2022-12-4 12:50:45

支持zh支持支持支持支持支持

a62224147 发表于 2022-12-4 13:35:06

好,太好了

mogoyu 发表于 2023-5-7 17:31:05

看看怎么弄的

fh2002 发表于 2023-5-10 22:14:23

图找的到,实时测试找不到图解决方法

吧唧吧唧 发表于 2024-3-1 20:39:17

试试看怎么样
页: [1]
查看完整版本: 【EasyClick】【通用】判断点是否在多边形区域内