您的位置:首页 > 其它

向量运算-叉积,点积

2018-03-11 14:52 260 查看
点积最后的结果是一个数,满足交换律,可用于算向量的长度,两个向量之间的夹角


叉积最后的结果是一个向量,不满足交换律,可用于计算向量围成图形的面积

///点积
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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  叉积 点积