判断点在四边形内
bool isPointInRect(PtCloud p, vector &vertex)
{
float a= (vertex[1].x - vertex[0].x)(p.y - vertex[0].y) - (vertex[1].y - vertex[0].y)(p.x - vertex[0].x);
float b = (vertex[2].x - vertex[1].x)(p.y - vertex[1].y) - (vertex[2].y - vertex[1].y)(p.x - vertex[1].x);
float c = (vertex[3].x - vertex[2].x)(p.y - vertex[2].y) - (vertex[3].y - vertex[2].y)(p.x - vertex[2].x);
float d = (vertex[0].x - vertex[3].x)(p.y - vertex[3].y) - (vertex[0].y - vertex[3].y)(p.x - vertex[3].x);
if ((a > 0 && b > 0 && c > 0 && d > 0) || (a < 0 && b < 0 && c < 0 && d < 0))
return true;
else
return false;
}
判断点在四边形内
最新推荐文章于 2022-01-05 17:30:59 发布