- 点积最后的结果是一个数,满足交换律,可用于算向量的长度,两个向量之间的夹角
- 叉积最后的结果是一个向量,不满足交换律,可用于计算向量围成图形的面积
///点积 double Dot(Vector v1,Vector v2) { return v1.x*v2.x+v1.y*v2.y; } double Length(Vector v) { return sqrt(Dot(v,v)); } double Angle(Vector v1,Vector v2) { return acos(Dot(v1,v2)/Length(v1)/Length(v2)); } ///叉积 double Cross(Vector v1,Vector v2) { return v1.x*v2.y-v1.y*v2.x; } double Area(Vector v1,Vector v2,Vector v3) { return Cross(v1-v2,v3-v2); } ///旋转 Vector Rotate(Vector v1,double a) ///可用正余弦函数得出 { return Vector(v1.x*cos(a)-v1.y*sin(a),v1.x*sin(a)+v1.y*cos(a)); } ///求单位法向量 Vector Normal(Vector v) { double L=Length(v); return Vector(-v.y/L,v.x/L); }