const int COUNTER_CLOCKWISE=1;
const int CLOCKWISE=-1;
const int ONLINE_BACK=2;
const int ONLINE_FRONT=-2;
const int ON_SEGMENT=0;
int ccw(point a,point b,point c)
{
point temp1=b-a;
point temp2=c-a;
if(cross(temp1,temp2)>eps){return COUNTER_CLOCKWISE;}
if(cross(temp1,temp2)<-eps){return CLOCKWISE;}
if(dot(temp1,temp2)<-eps){return ONLINE_BACK;}
if(temp1.norm()<temp2.norm()){return ONLINE_FRONT;}
return ON_SEGMENT;
}
int intersect(point a,point a1,point b,point b1)
{
if(ccw(a,a1,b)*ccw(a,a1,b1)<=0&&ccw(b,b1,a)*ccw(b,b1,a1)<=0){
return 1;
}else{
return 0;
}
}
判断线段是否相交
最新推荐文章于 2022-11-23 16:20:41 发布