我们知道余弦定理 cos(α) = A·B/(A·B),反过来也可以求得A,B向量得夹角
α = arccos(A·B/(A·B))。
但是,由于余弦函数是一个0~Π之间的偶函数,当夹角大于Π时,计算得到的角度仍然为正值,不是正确的夹角,此时可以用以下方法:
向量Vector是一个Point1指向Point2向量,先计算出该向量的X分量与Y分量
double radian = 0;
double deltaX = Point2.X - Point1.X;//X分量
double deltaY = Point2.Y - Point1.Y;//Y分量
double length= Math.Sqrt(deltaX * deltaX + deltaY * deltaY);//该向量的长度
然后利用反三角函数计算夹角,此时需要注意角度的旋转方向
if(deltaY >0)
radian = Math.Acos((deltaX) / length);//计算与单位向量(1,0)的夹角
else
radian = -Math.Acos((deltaX) / length);//当角度超过180时则需要取反
向量是一个有方向的量,它由起点和终点组成。向量的坐标是指向量终点相对于起点在坐标系中的位置。因为坐标系的原点通常被定义为起点,而向量的终点是相对于起点移动的位置,所以向量的坐标通常被表示为终点减去起点。
这种表示方式能够清晰地描述向量的方向和大小,也方便计算向量在不同坐标系下的坐标值。
同时,这种方式也符合几何直观,将向量看作从起点指向终点的有向线段,而坐标则描述了终点在坐标系中的位置。
① 定义法:根据向量数量积的概念,需要已知两个向量的模长和对应的夹角;
② 几何意义:当两个向量共起点,且向量的夹角未知时,可以考虑用数量积的几何意义求解;
③ 坐标表示法:向量的坐标表示主要的优势在于:它可以将复杂的几何问题转换为简单的代数问题,因此当已知的几何图形易于建立直角坐标系时,可以用向量的坐标表示求数量积;
④ 基底法:根据平面向量的基本定理可知,平面内的任意一个向量均可以用两个不共线的向量表示,所以在求解两个向量(至少一个向量未知)的数量积时,可以先将未知向量用已知向量表示,接下来再进行计算就简单多了;
⑤ 极化恒等式:当两个向量共起点,但模长未知时,用极化恒等式来求解两个向量的数量积不妨为一种好的选择。
(1)向量的夹角与两直线夹角的区别:两向量的夹角与两直线的夹角的范围不同,向量夹角范围是[0,π],而两直线夹角的范围为[0,0]
(2)向量夹角的定义:已知两个非零向量a,b,O是平面上的任意一点,作向量OA=a,OB=b,则∠aOb=θ(0≤θ≤π)叫做向量a与b的夹角.
当θ=0时,a与b同向;当θ=π时,a与b反向.
如果a与b的夹角是90,我们说a与b垂直,记作a⊥b.
注意:讨论平面上任意两个非零向量的夹角,必须把它们移到同一起点。