向量的点积:
假设向量u (u x , u y )和v (v x , v y ),u 和v 之间的夹角为α,从三角形的边角关系等式出发,可作出如下简单推导:
|u - v ||u - v | = |u ||u | + |v ||v | - 2|u ||v |cosα
===>
(u x - v x )2 + (u y - v y )2 = u x 2 + u y 2 +v x 2 +v y 2 - 2|u ||v |cosα
===>
-2u x v x - 2u y v y = -2|u ||v |cosα
===>
cosα = (u x v x + u y v y ) / (|u ||v |)
这样,就可以根据向量u 和v 的坐标值计算出它们之间的夹角。
定义u 和v 的点积运算: u . v = (u x v x + u y v y ),
上面的cosα可简写成: cosα = u . v / (|u ||v |)
当u . v = 0时(即u x v x + u y v y = 0),向量u 和v 垂直;当u . v > 0时,u 和v 之间的夹角为锐角;当u . v < 0时,u 和v 之间的夹角为钝角。
可以将运算从2维推广到3维。
向量的叉积:
假设存在向量u(u x , u y , u z ), v(v x , v y , v z ), 求同时垂直于向量u , v 的向量w (w x , w y , w z ).
因为w 与u 垂直,同时w 与v 垂直,所以w . u = 0, w . v = 0; 即
u x w x + u y w y + u z w z = 0;
v x w x + v y w y + v z w z = 0;
分别削去方程组的w y 和w x 变量的系数,得到如下两个等价方程式:
(u x v y - u y v x )w x = (u y v z - u z v y )w z
(u x v y - u y v x )w y = (u z v x - u x v z )w z
于是向量w的一般解形式为:
w = (w x , w y , w z ) = ((u y v z - u z v y )w z / (u x v y - u y v x ), (u z v x - u x v z )w z / (u x v y - u y v x ), w z )
= (w z / (u x v y - u y v x ) * (u y v z - u z v y , u z v x - u x v z , u x v y - u y v x ))
因为:
u x (u y v z - u z v y ) + u y (u z v x - u x v z ) + u z (u x v y - u y v x )
= u x u y v z - u x u z v y + u y u z v x - u y u x v z + u z u x v y - u z u y v x
= (u x u y v z - u y u x v z ) + (u y u z v x - u z u y v x ) + (u z u x v y - u x u z v y )
= 0 + 0 + 0 = 0
v x (u y v z - u z v y ) + v y (u z v x - u x v z ) + v z (u x v y - u y v x )
= v x u y v z - v x u z v y + v y u z v x - v y u x v z + v z u x v y - v z u y v x
= (v x u y v z - v z u y v x ) + (v y u z v x - v x u z v y ) + (v z u x v y - v y u x v z )
= 0 + 0 + 0 = 0
由此可知,向量(u y v z - u z v y , u z v x - u x v z , u x v y - u y v x )是同时垂直于向量u 和v 的。
为此,定义向量u = (u x , u y , u z )和向量 v = (v x , v y , v z )的叉积运算为:u x v = (u y v z - u z v y , u z v x - u x v z , u x v y - u y v x )
上面计算的结果可简单概括为:向量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 = (v y u z - v z u y , v z u x - v x u z , v x u y - v y u x ) = - (u x v )