什么是叉乘

百度百科如下
向量积,数学中又称外积、叉积,物理中称矢积、叉乘,是一种在向量空间中向量的二元运算。与点积不同,它的运算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量和垂直。

我们可以使用它来干什么?

在题目中,我们一般是用于计算几何中。
非常重要的一点,我们可以根据三个点的平面坐标,得到两个点相对第三个点的相对位置

例如这个图,我们可以根据返回叉乘来判断点的情况

1.如果叉乘<0,那么点1绕点0顺时针到点2
2.如果叉乘>0,那么点1绕点0逆时针到点2
3.如果叉乘=0,那么三点共线
求叉乘代码如下

double check(node p1, node p2, node p0) {
  double x1, y1, x2, y2;
  x1 = p1.x - p0.x, y1 = p1.y - p0.y;
  x2 = p2.x - p0.x, y2 = p2.y - p0.y;
  return x1 * y2 - x2 * y1;
}
最后修改:2021 年 04 月 22 日 07 : 10 PM