- 积分
- 654
- 最后登录
- 1970-1-1
- 阅读权限
- 30
- 积分
- 654
- 回帖
- 0
- 精华
|
发表于 2019-1-28 17:17:57
|
显示全部楼层
向量的运算,有两个“乘法”,点乘(dot product)和叉乘(cross product)。
点乘,也叫向量的内积、数量积或点积。顾名思义,求下来的结果是一个标量(实数)。
向量a·向量b=|a||b|cos<a,b> (其中<a,b>表示a,b的夹角),几何上是ab所构成的平行四边形对角线的长度。点乘结果是一个向量和它在另一个向量上投影的长度的乘积。在点积运算中,第一个向量投影到第二个向量上(这里,向量的顺序是不重要的,点积运算是可交换的),然后通过除以它们的标量长度来“标准化”。这样,这个分数一定是小于等于1的,可以简单地转化成一个角度值。
在物理学中,已知力与位移求功,实际上就是求向量F力与向量s位移的内积,即要用点乘。
将向量用坐标表示(三维向量),
若向量a=(a1,b1,c1),向量b=(a2,b2,c2),
则
向量a·向量b=a1a2+b1b2+c1c2。
点乘的结果就是两个向量的模相乘,然后再与这两个向量的夹角的余弦值相乘。或者说是两个向量的各个分量分别相乘的结果的和。点乘的结果就是一个数,这个数对分析这两个向量的特点很有帮助。如果点乘的结果为0,那么这两个向量互相垂直;如果结果大于0,那么这两个向量的夹角小于90度;如果结果小于0,那么这两个向量的夹角大于90度。
假设向量u(ux, uy)和v(vx, vy),u和v之间的夹角为α,从三角形的边角关系等式出发,可作出如下简单推导:
|u - v||u - v| = |u||u| + |v||v| - 2|u||v|cosα
(ux - vx)2 + (uy - vy)2 = ux2 + uy2 +vx2+vy2- 2|u||v|cosα
-2uxvx - 2uyvy = -2|u||v|cosα
cosα = (uxvx + uyvy) / (|u||v|)
这样,就可以根据向量u和v的坐标值计算出它们之间的夹角。
定义u和v的点积运算: u . v = (uxvx + uyvy),
上面的cosα可简写成: cosα = u . v / (|u||v|)
当u . v = 0时(即uxvx + uyvy = 0),向量u和v垂直;当u . v > 0时,u和v之间的夹角为锐角;当u . v < 0时,u和v之间的夹角为钝角。
可以将运算从2维推广到3维。
叉乘,也叫向量的外积、向量积、矢积或叉积。顾名思义,求下来的结果是一个矢量(向量),记这个向量为c。
|向量c|=|向量a×向量b|=|a||b|sin<a,b> ,几何上是ab所构成的平行四边形的面积。叉乘向量积是一个和已有两个向量都垂直的向量。叉积可以解释成这两个叉乘向量a,b共起点时,所构成平行四边形的面积。
向量c的方向与a,b所在的平面垂直,且方向要用“右手法则”判断(即a、b及叉乘积矢量构成右螺旋的关系。用右手的四指先表示向量a的方向,然后手指朝着手心的方向摆动到向量b的方向,大拇指所指的方向就是向量c的方向)。 当a和b平行的时候,结果为0向量。
因此
向量的外积不遵守乘法交换率,因为向量a×向量b= - 向量b×向量a
在物理学中,已知力与力臂求力矩,就是向量的外积,即叉乘。
将向量用坐标表示(三维向量),
若向量a=(a1,b1,c1),向量b=(a2,b2,c2),
则
向量a×向量b=
| i j k |
|a1 b1 c1|
|a2 b2 c2|
=(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)
(i、j、k分别为空间中相互垂直的三条坐标轴的单位向量)。
叉乘的意义就是通过两个向量来确定一个新的向量,这个新的向量与前两个向量都垂直。
假设存在向量u(ux, uy, uz), v(vx, vy, vz), 求同时垂直于向量u, v的向量w(wx, wy, wz).
因为w与u垂直,同时w与v垂直,所以w . u = 0, w . v = 0; 即
uxwx + uywy + uzwz = 0;
vxwx + vywy + vzwz = 0;
分别削去方程组的wy和wx变量的系数,得到如下两个等价方程式:
(uxvy - uyvx)wx = (uyvz - uzvy)wz
(uxvy - uyvx)wy = (uzvx - uxvz)wz
于是向量w的一般解形式为:
w = (wx, wy, wz) = ((uyvz - uzvy)wz / (uxvy - uyvx), (uzvx - uxvz)wz / (uxvy - uyvx), wz)
= (wz / (uxvy - uyvx) * (uyvz - uzvy, uzvx - uxvz, uxvy - uyvx))
因为:
ux(uyvz - uzvy) + uy(uzvx - uxvz) + uz(uxvy - uyvx)
= uxuyvz - uxuzvy + uyuzvx - uyuxvz + uzuxvy - uzuyvx
= (uxuyvz - uyuxvz) + (uyuzvx - uzuyvx) + (uzuxvy - uxuzvy)
= 0 + 0 + 0 = 0
vx(uyvz - uzvy) + vy(uzvx - uxvz) + vz(uxvy - uyvx)
= vxuyvz - vxuzvy + vyuzvx - vyuxvz + vzuxvy - vzuyvx
= (vxuyvz - vzuyvx) + (vyuzvx - vxuzvy) + (vzuxvy - vyuxvz)
= 0 + 0 + 0 = 0
由此可知,向量(uyvz - uzvy, uzvx - uxvz, uxvy - uyvx)是同时垂直于向量u和v的。
为此,定义向量u = (ux, uy, uz)和向量 v = (vx, vy, vz)的叉积运算为:u x v = (uyvz - uzvy, uzvx - uxvz, uxvy - uyvx)
上面计算的结果可简单概括为:向量u x v垂直于向量u和v。
根据叉积的定义,沿x坐标轴的向量i = (1, 0, 0)和沿y坐标轴的向量j = (0, 1, 0)的叉积为:
i x j = (1, 0, 0) x (0, 1, 0) = (0 * 0 - 0 * 1, 0 * 0 - 1 * 0, 1 * 1 - 0 * 0) = (0, 0, 1) = k
同理可计算j x k:
j x k = (0, 1, 0) x (0, 0, 1) = (1 * 1 - 0 * 0, 0 * 0 - 0 * 1, 0 * 0 - 0 * 0) = (1, 0, 0) = i
以及k x i:
k x i = (0, 0, 1) x (1, 0, 0) = (0 * 0 - 1 * 0, 1 * 1 - 0 * 0, 0 * 0 - 0 * 0) = (0, 1, 0) = j
由叉积的定义,可知:
v x u = (vyuz - vzuy, vzux - vxuz, vxuy - vyux) = - (u x v)
如向量a=(1,2,3),b=(4,5,6),求a叉乘b的计算过程:(1,2,3)×(4,5,6)=(12-15,12-6,5-8)=(-3,6,-3)
|
|