本文共 641 字,大约阅读时间需要 2 分钟。
/** * 判断一个点是否在多边形内部 * @param posArray 多边形坐标集合 * @param point 测试点坐标 * 返回true为真,false为假 * */ function insidePolygon(posArray, point){ var x = point[0], y = point[1]; var inside = false; for (var i = 0, j = posArray.length - 1; i < posArray.length; j = i++) { var xi = posArray[i].x, yi = posArray[i].y; var xj = posArray[j].x, yj = posArray[j].y; var intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); if (intersect) inside = !inside; } return inside; }
转载地址:http://svxthz.baihongyu.com/