在这里插入代码片
```struct point//构造点
{
double x,y;
};
struct line//构造线段
{
point a,b;
};
double multi(point p1,point p2,point p0)//矩形面积
{
return((p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y));
}
bool intersect(line u,line v)//判断两线段是否相交
{
return( (max(u.a.x,u.b.x)>=min(v.a.x,v.b.x))&&
(max(v.a.x,v.b.x)>=min(u.a.x,u.b.x))&&
(max(u.a.y,u.b.y)>=min(v.a.y,v.b.y))&&
(max(v.a.y,v.b.y)>=min(u.a.y,u.b.y))&&
(multi(v.a,u.b,u.a)*multi(u.b,v.b,u.a)>=0)&&
(multi(u.a,v.b,v.a)*multi(v.b,u.b,v.a)>=0));
}
//线段相交的模板
10-06
10-06
10-06
10-06