
00:00:00
外卖卷:非常划算 扫码领劵 省点小钱钱

点乘被用于向量和一维矩阵的计算,叉乘的计算结果c是一个新的向量。

c与这两个向量组成的坐标平面垂直,c向量长度在两个向量平行时为零。c 向量的方向来判断 b 向量是在 a 的左边还是右边。
P 和一个三角形,通过遍历三角形所有边并叉乘点 P 的相对位置,还可以得出点P是在三角形的内侧还是外侧。这两种方法都可以,第一种更好记一些。


$$ \begin{equation}\begin{split} c_x = a_yb_z - a_zb_y \ c_y = a_zb_x - a_xb_z \ c_z = a_xb_y - a_yb_x \ \end{split}\end{equation} $$
export function crossProduct(vA: number[], vB: number[]) {
const product = (t = 0, v = 0) => t * v
const itemCrossProduct = (mA: number[], mB: number[]) => {
return mA.reduce(product) - mB.reduce(product)
}
return [
itemCrossProduct([vA[1], vB[2]], [vA[2], vB[1]]),
itemCrossProduct([vA[2], vB[0]], [vA[0], vB[2]]),
itemCrossProduct([vA[0], vB[1]], [vA[1], vB[0]]),
]
}
评论