/**
* 判断一个点是否在多边形内部
* @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;
}
本文介绍了一种用于判断一个点是否位于由多个坐标点定义的多边形内部的算法。通过遍历多边形的所有边并与测试点进行交叉测试,可以确定点的位置关系。
3705

被折叠的 条评论
为什么被折叠?



