向量的叉乘
叉乘表示¶
代数表示¶
例如向量a
叉乘向量b
,我们代数可以这么描述:
\vec {a} \times \vec {b}
坐标表示¶
例如: 我们用坐标去描述 \vec {a} 向量时,我们可以用 (x,y,z) 进行描述。叉乘通常是围绕着三维空间来说的。
向量叉乘,我们不用两个坐标值相乘来表示。
叉乘的含义¶
叉乘的结果¶
向量叉乘向量,结果为一个向量。
叉乘的几何含义¶
向量a
叉乘向量b
,可以理解为,向量a
和向量b
组成了一个平面,叉乘的结果向量是垂直于这个面的。
叉乘的计算¶
向量a
叉乘向量b
等于向量c
,表示为:
\vec {c} = \vec {a} \times \vec {b}
\vec {a}的坐标值为(x_a, y_a, z_a)。
\vec {b}的坐标值为(x_b, y_b, z_b)。
\vec {c}的坐标值为(x_c, y_c, z_c)。
那么:
x_c = y_a \cdot z_b - z_a \cdot y_b
y_c = z_a \cdot x_b - x_a \cdot z_b
z_c = x_a \cdot y_b - y_a \cdot x_b
代码描述叉乘¶
import numpy as np
from math import pow, sqrt
xa = 3
ya = 2
za = 7
xb = 2
yb = 4
zb = 6
a = np.array([xa, ya, za])
b = np.array([xb, yb, zb])
xc = ya * zb - za * yb
yc = za * xb - xa * zb
zc = xa * yb - ya * xb
print(xc)
print(yc)
print(zc)
# 叉乘
print(np.cross(a, b))