代码
#include<iostream>
using namespace std;
struct line{
int xa;
int ya;
int xb;
int yb;
int getMax_x()
{
return xa > xb ? xa : xb;
}
int getMin_x()
{
return xa < xb ? xb : xa;
}
int getMax_y()
{
return ya > yb ? ya : yb;
}
int getMin_y()
{
return ya < yb ? yb : ya;
}
}line1,line2;
bool is_intersect(line l1,line l2)
{
if (l1.getMax_x() < l2.getMin_x() || l2.getMax_x() < l1.getMin_x() || l1.getMax_y() < l2.getMin_y() || l2.getMax_y() < l1.getMin_y())
return false;
int res1 = (l1.xa - l1.xb) * (l1.ya - l2.ya) - (l1.ya - l1.yb) * (l1.xa - l2.xa);
int res2 = (l1.xa - l1.xb) * (l1.ya - l2.yb) - (l1.ya - l1.yb) * (l1.xa - l2.xb);
int res3 = (l2.xa - l2.xb) * (l2.ya - l1.ya) - (l2.ya - l2.yb) * (l2.xa - l1.xa);
int res4 = (l2.xa - l2.xb) * (l2.ya - l1.yb) - (l2.ya - l2.yb) * (l2.xa - l1.xb);
if(res1*res2 <= 0 && res3 * res4 <= 0)
return true;
else
return false;
}
int main()
{
return 0;
}