/*求直线的交点,注意平形的情况无解,避免RE*/
TPoint LineInter(TLine l1, TLine l2)
{
//求两直线得交点坐标
TPoint tmp;
double a1 = l1.a;
double b1 = l1.b;
double c1 = l1.c;
double a2 = l2.a;
double b2 = l2.b;
double c2 = l2.c;
//注意这里b1 = 0
if(fabs(b1) < eps){
tmp.x = -c1 / a1;
tmp.y = (-c2 - a2 * tmp.x) / b2;
}
else{
tmp.x = (c1 * b2 - b1 * c2) / (b1 * a2 - b2 * a1);
tmp.y = (-c1 - a1 * tmp.x) / b1;
}
//cout << "交点坐标" << endl;
//cout << a1 * tmp.x + b1 * tmp.y + c1 << endl;
//cout << a2 * tmp.x + b2 * tmp.y + c2 << endl;
return tmp;
}