向量的知识

1.是否相交,和求相交点

struct point
{
    double x,y;
};
struct line
{
	point a,b;
};
point operator -(point m,point n)
{
    point c;
    c.x=m.x-n.x;
    c.y=m.y-n.y;
    return c;
}
point operator +(point m,point n)
{
    point c;
    c.x=m.x+n.x;
    c.y=m.y+n.y;
    return c;
}
point operator * (point c,int t)
{
    point m;
    m.x=c.x*t;
    m.y=c.y*t;
    return m;
}
double operator /(point m,point n)
{
	return m.x *n.y-m.y*n.x;
}
bool cross(line n,line m)
{
	if(((n.a-m.a)/(m.b-m.a))*((n.b-m.a)/(m.b-m.a))<=0
       && ((m.a-n.a)/(n.b-n.a))*((m.b-n.a)/(n.b-n.a))<=0)
        return true;
    else return false;
}
point jiaop(line m,line n)
{
    point o;
    double t=fabs((n.a-m.a)/(n.b-m.a))/fabs((m.b-m.a)/(n.b-n.a));
    o=m.a;
    o.x+=(m.b.x-m.a.x)*t;
    o.y+=(m.b.y-m.a.y)*t;
    return o;
}
原文地址:https://www.cnblogs.com/wzl19981116/p/9433418.html