游戏开发中的数学和物理算法(13):点积和叉积

代数中的乘法应称为数乘,比如2×3=6,2·3=6。但是在几何中2·3为点积,2×3为叉积

1.点积

A·B=|A| |B| cosq

2D:定义矢量A[a1,a2],矢量B[b1,b2] ;那么点积A·B=a1b1+a2b2

3D:定义矢量A[a1,a2,a3],矢量B[b1,b2,b3] ;那么点积A·B=a1b1+a2b2+a3b3

性质:
如果A·B = 0, 那么A┴B。
A·B = B· A。
如果 A·B < 0 (负), 那么q > 90°
如果 A·B > 0 (正), 那么q < 90°

举例:

C · D=5(6) + 3(–2) = 30 – 6 = 24

2.叉积

矢量A = [a1 a2 a3] 和矢量 B = [b1 b2 b3]。

A x B = [(a2b3a3b2) (a3b1a1b3) (a1b2a2b1)]

性质:
叉积是矢量(有大小和方向)。
A x B 不等于 B x A。
A × B=0说明A和B平行。
|A×B|=|A||B|sinq

posted @ 2009-01-16 14:58  HelloCG  阅读(1604)  评论(0编辑  收藏  举报