1、点积
a·b的几何意义为a在b上的投影长度乘以b的模, a·b=|a||b|cosθ,其中θ为a,b之间的夹角
vector operator + (vector a,vector b) {return vector (a.x+b.x,a.y+b.y); }
vector operator - (vector a,vector b) {return vector (a.x-b.x,a.y-b.y);}
vector operator * (vector a,double p) {return vector (a.x*p,a.y*p);}
vector operator / (vector a.double p) {return vector (a.x/p,a.y/p);}
(1)判断两个向量是否垂直 a⊥b <=> a·b=0
(2)求两个向量的夹角,点积<0为钝角,点积>0为锐角
double dot(vector a,vector b)
{
return a.x*b.x+a.y*b.y;
}
double Angle(vector a,vector b)
{
return acos(dot(a,b)/len(a)/len(b));
}
求模长
double len(vector a)
{
return sqrt(dot(a,a));
}
vector normal(vector a)
{
double l=len(a);
return vector (-a.y/l,a.x/l);