游戏开发中的数学和物理算法(13):点积和叉积
2009-01-16 14:58
381 查看
代数中的乘法应称为数乘,比如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 = [(a2b3 – a3b2) (a3b1 – a1b3) (a1b2 – a2b1)]
性质:
叉积是矢量(有大小和方向)。
A x B 不等于 B x A。
A × B=0说明A和B平行。
|A×B|=|A||B|sinq
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 = [(a2b3 – a3b2) (a3b1 – a1b3) (a1b2 – a2b1)]
性质:
叉积是矢量(有大小和方向)。
A x B 不等于 B x A。
A × B=0说明A和B平行。
|A×B|=|A||B|sinq
相关文章推荐
- 游戏开发中的数学和物理算法(13):点积和叉积
- 游戏开发中的数学和物理算法(13):点积和叉积
- 游戏开发中的数学和物理算法 1
- 游戏开发中的数学和物理算法(12):矢量的加减法
- 游戏开发中的数学和物理算法(18):缩放
- [Game] 游戏开发中的数学和物理算法:点之间的距离
- 游戏开发中的数学和物理算法(5):圆(2D)和球(3D)
- 游戏开发中的数学和物理算法(3):点之间的距离
- 游戏开发中的数学和物理算法(10):矢量 vs 标量
- 游戏开发中的数学和物理算法 2
- 游戏开发中的数学和物理算法(1):定义点
- 游戏开发中的数学和物理算法(4):抛物线
- 游戏开发中的数学和物理算法(10):矢量 vs 标量
- 游戏开发中的数学和物理算法(17):平移
- [Game] 游戏开发中的数学和物理算法:圆和球的碰撞检测
- 游戏开发中的数学和物理算法(1):定义点
- 游戏开发中的数学和物理算法(6):圆和球的碰撞检测
- 游戏开发中的数学和物理算法(6):圆和球的碰撞检测
- 游戏开发中的数学和物理算法(11):极坐标 vs 笛卡尔坐标
- 游戏开发中的数学和物理算法3