判断一个点是否在一个多边形内部
下面展示一些 内联代码片
。
public bool IsPointPolygon(Vector3 point, Vector3[] polygon)
{
int polygonLength = polygon.Length;
bool isInside = false;
for (int i = 0, j = polygonLength - 1; i < polygonLength; j = i++)
{
if (((polygon[i].y > point.y) != (polygon[j].y > point.y)) &&
(point.x < (polygon[j].x - polygon[i].x) * (point.y - polygon[i].y) / (polygon[j].y - polygon[i].y) + polygon[i].x))
{
isInside = !isInside;
}
}
return isInside;
}