判斷點是否在多邊形內

___Evan發表於2013-12-27

角度和判定法


bool isInPolygon_angle( Point P,Point *p,int n )
{
	double angle = 0;
	for( int i = 0; i < n-1; i ++ )
	{
		angle += Angle( p[i] - P,p[i+1] - P );
	}
	angle += Angle( p[n-1] - P,p[0] - P );
	if( dcmp( angle - PI*2 ) == 0 )
		return true;
	else
		return false;
}


相關文章