叉积计算器
结果
u × v 的 x 分量
- u × v 的 y 分量
- 6.0000
- u × v 的 z 分量
- -3.0000
- u × v 的模
- 7.3485
叉积计算器收两个三维向量,给出同时垂直于它们的那个向量,按 x、y、z 三个分量印出来,并附上这个结果向量的长度。每个向量写成三个数、用空格或逗号隔开,例如 1 2 3 与 4 5 6,两个框谁在前谁在后都行。三个数不是简化,而是定义本身:叉积是三维里的运算,二维向量没有叉积可算。每个分量都是两个乘积之差。x 分量是第一个向量的第二个分量乘第二个向量的第三个分量,减去它的第三个分量乘第二个向量的第二个分量;y 分量把这套写法沿着循环挪一位;z 分量再挪一位。这个循环次序是唯一需要记牢的东西,弄混它不会算出一个荒唐的答案,只会让某一个分量带上错误的符号。用这个结果之前,有两条性质值得知道。它的方向同时垂直于两个输入,所以它天然就是曲面法向量、或者两条方向所张成平面的法向量。以及次序是有意义的:两个向量一交换,答案的每个分量都变号,而长度不变。这就是右手定则的算术形态,而这一页会让你直接看到它——同一对向量输两次、把两个框对调就行。同一个公式还有另一种读法,往往比向量本身更有用:叉积的长度等于这两个向量张成的平行四边形面积,也就是以它们为两边的三角形面积的两倍。因此叉积的长度为零就表示两个向量平行——它们张不出任何面积——而那也正是会返回三个零的那一档。
若干向量对与它们的叉积
| 向量 u | 向量 v | u × v 的 x 分量 | u × v 的 y 分量 | u × v 的 z 分量 | u × v 的模 |
|---|---|---|---|---|---|
| 1 2 3 | 4 5 6 | -3 | 6 | -3 | 7.3485 |
| 1 0 0 | 0 1 0 | 0 | 0 | 1 | 1 |
| 0 1 0 | 1 0 0 | 0 | 0 | -1 | 1 |
| 0 0 1 | 1 0 0 | 0 | 1 | 0 | 1 |
| 1 2 3 | 2 4 6 | 0 | 0 | 0 | 0 |
| 0 0 0 | 1 2 3 | 0 | 0 | 0 | 0 |
| 3 4 0 | 4 3 0 | 0 | 0 | -7 | 7 |
| 2 -3 1 | 4 5 6 | -23 | -8 | 22 | 32.8177 |
八对,整页的论点摊在这八行里。第一行是页面加载时的那一档,第二行是最朴素的例子:x 方向的单位向量叉乘 y 方向的,得到 z 方向的,长度 1。第三行是第二行把两栏对调,第四行补上循环的第三条——这个运算的循环次序用三行就演示完了。第五行是两个平行的向量,给回三个零、长度为零:平行的向量张不出面积。第六行是零向量,它留在表里是有意的——本页收它,与点积页、夹角页不同,因为这里有真答案可给,而没有要避开的除法。这两行长得一模一样而含义不同,那正是本页替你了断不了的那处歧义。第七行是躺在同一个平面里的一对:答案垂直穿出该平面,只有第三个分量非零,长度 7 就是这两条边的平行四边形面积。第八行是符号混杂的那个不整齐的用例,三个分量都非零——自己动手算一档、想核对符号规律时,拿它来对照。表里每个数都是构建页面时现算的,前两栏里的空格是分量分隔符,不是数字的一部分。
公式
u × v = (u₂v₃ − u₃v₂, u₃v₁ − u₁v₃, u₁v₂ − u₂v₁) |u × v| = |u| × |v| × sin θ = 平行四边形面积
- 向量 u
- 第一个向量:恰好三个数,用空格或逗号隔开,例如 1 2 3。只收三个是硬规定,因为叉积是三维运算——二维的一对会被拒答,而不是补一个零凑形状,补零会静默改掉答案
- 向量 v
- 第二个向量,同样恰好三个数。这里两个向量的次序是有意义的,点积那一页则不然:把它们对调,答案的每个分量都变号
- x 分量
- 答案的第一个分量:第一个向量的第二个分量乘第二个向量的第三个分量,减去它的第三个分量乘第二个向量的第二个分量。叉积的每个分量都是两个乘积之差,符号就是从这里来的
- y 分量
- 同一套写法沿循环挪一位:第一个向量的第三个分量乘第二个向量的第一个分量,减去它的第一个分量乘第二个向量的第三个分量。挪错位置是最常见的错误——它不会给出荒唐的结果,只会让某一个分量的符号反掉
- z 分量
- 再挪一位:第一个向量的第一个分量乘第二个向量的第二个分量,减去它的第二个分量乘第二个向量的第一个分量。三个分量合起来,就是同时垂直于两个输入的那个向量
- 长度
- 结果向量的模:三个分量平方和开根号。它同时等于两个输入向量张成的平行四边形面积,也是以它们为两边的三角形面积的两倍——通常后一种读法更有用
- |u| × |v| × sin θ
- 同一个长度的另一种写法,θ 为两个输入的夹角。它说明这个长度在两个向量垂直时最大、在它们趋于共线时降到零;这既是「叉积为零就是平行」的来历,也是点积(行为恰好相反)与本页互为补集的原因
- 同时垂直于两者
- 让这个输出值得一算的性质:结果与两个输入都成直角。在输出上可以直接验:拿它与任一输入做点积,两边都是零(在四舍五入范围内)
- 四位小数
- 所有输出的显示宽度。输入是整数且不大时,各分量是精确值,手算的用例大多落在这一档;不在这一档时给出的是四舍五入后的数
叉积回答的是与点积不同的问题,两者是互补而不是二选一。点积拿两个向量给出一个数,两个向量越同向它越大;叉积拿两个向量给出一个向量,两个向量越垂直它越长。需要一条同时垂直于两个已知方向的方向时,用这一页:曲面的法向量、旋转所绕的轴、磁场对运动电荷施加力的方向。需要从两条边向量求平行四边形或三角形面积时也用它——答案的长度就是平行四边形面积,一半就是三角形面积。想判断两个向量是否平行时也用它,因为它们平行的充要条件正是答案恰好是三个零。需要的是「带朝向的那条垂线」时更需要它,而这正是两个向量的次序与右手定则起作用的地方:第一个向量是你手指卷离的那个,第二个是卷向的那个,拇指指向答案。两条提醒。结果垂直于两个输入,所以它并不是任何一个输入所指的方向——如果你期待答案落在其中一个方向上,你要的是点积。以及长度为零是一个真答案、不是失败:它说的是这两个向量平行,其中也包括有一个是零向量的情形。
算例
1 2 3 与 4 5 6
- x 分量:2 × 6 − 3 × 5 = 12 − 15 = −3
- y 分量:3 × 4 − 1 × 6 = 12 − 6 = 6
- z 分量:1 × 5 − 2 × 4 = 5 − 8 = −3
- 长度:√(9 + 36 + 9)= √54 = 7.348469
页面的默认输入,也是用来说明这套算术有多朴素的一档:三个「两乘积之差」,没有别的。三个分量都非零,所以拿手算结果跟页面对账时这一档最好用——某个符号写反了不会被某个零掩盖掉。长度 7.3485 是这两个向量张成的平行四边形面积,以它们为两边的三角形面积是它的一半。
1 0 0 与 0 1 0
- x 分量:0 × 0 − 0 × 1 = 0
- y 分量:0 × 0 − 1 × 0 = 0
- z 分量:1 × 1 − 0 × 0 = 1
- 长度:√(0 + 0 + 1)= 1
前两条坐标轴上的单位向量,叉积回到第三条轴上。这一档说明了本页赖以成立的循环次序:x 叉乘 y 得到 z;长度是 1,说明两个输入本来就垂直,那个平行四边形是单位正方形。值得动手把三个分量各写一次的,就是这一档——该消掉的项在这里全都消掉了。
0 1 0 与 1 0 0
- x 分量:1 × 0 − 0 × 0 = 0
- y 分量:0 × 1 − 0 × 0 = 0
- z 分量:0 × 0 − 1 × 1 = −1
- 长度:√(0 + 0 + 1)= 1
上一档把两个框对调,全部差别就是第三个分量的符号。这就是这个运算与次序有关的那条性质,而这一页不用任何代数就能演示它:同一对数输两次、对调两个框,看着一个分量变号。长度仍然是 1,这是同一句话的另一半——对调两个向量会调转答案的方向,但不会改变它的大小。
1 2 3 与 2 4 6
- x 分量:2 × 6 − 3 × 4 = 12 − 12 = 0
- y 分量:3 × 2 − 1 × 6 = 6 − 6 = 0
- z 分量:1 × 4 − 2 × 2 = 4 − 4 = 0
- 长度:√(0 + 0 + 0)= 0
两个向量指向同一条直线——第二个正好是第一个的两倍——答案是三个零。这就是平行那一档,也是最该认得的一档,因为叉积的长度是两个向量张成的面积,而平行的向量张不出面积。拿回三个零是正确答案而不是失败:它说的是这两个方向是同一条直线,而那条直线并不存在一个「曲面法向量」意义上的垂线。
3 4 0 与 4 3 0
- x 分量:4 × 0 − 0 × 3 = 0
- y 分量:0 × 4 − 3 × 0 = 0
- z 分量:3 × 3 − 4 × 4 = 9 − 16 = −7
- 长度:√(0 + 0 + 49)= 7
两个向量都躺在同一个平面上,所以垂线就是垂直穿出那个平面的方向,前两个分量都是零。长度 7 是以它们为两边的平行四边形面积,而同样的两边构成的三角形面积是 3.5。第三个分量的符号告诉你答案指向平面的哪一侧,这里是负的,因为从另一侧看过去、第一个向量是逆时针转到第二个的。这两个向量的模都是 5,点积是 24,而 7、24、25 是一组勾股数——换句话说,这里的长度与点积正好是一个直角三角形的两条直角边,斜边是两个模的乘积。
局限
两个向量都必须恰好三个分量,写成两个或四个的会被拒答,不会补齐。二维没有叉积:这个运算按定义就是三维的,而悄悄补一个零让二维的一对凑上去,会给出一个跟这两个向量所在的平面毫无关系的方向。分量按普通数字解析:逗号加空格是分量分隔,逗号后面不带空格时按小数点读(1,5 就是一点五),而千位分组会被直接拒收、不去猜——写 1500,不要写 1,500。四位小数是显示宽度而不是精度承诺。零向量在本页是收的,与点积页、夹角页不同,这个差别是有意的:叉积与零向量的结果确实是零向量,因为零向量跟任何向量都张不出面积,所以这里有真答案可给,而不是有一个计算要拒。因此拿回三个零本身是有歧义的,页面替你了断不了——它表示两个向量平行,也表示其中有一个是零向量,只有你知道是哪一种。两种都是正确输出。本页不处理单位:分量是纯数,答案的长度也是纯数,尽管那个长度确实带着输入被平方后的单位。页面也不会去核对结果是否符合你右手的方向:如果你要把输出当法向量或旋转轴用,决定你拿到两条垂线中哪一条的,是你输入两个向量时的先后次序。
常见问题
- 为什么不能输二维向量?
- 因为平面里两个向量没有叉积。这个运算定义在三维:答案要同时垂直于两个输入,而在一个平面里没有多余的方向给它指。把二维的一对补一个零硬凑成三维,得到的答案与那个平面毫无关系,所以这一页宁可拒答。
- 答案在几何上是什么意思?
- 它是同时垂直于两个输入的那个向量,而它的长度等于两个输入张成的平行四边形面积;这个长度的一半,就是以它们为两边的三角形面积。正是这种双重读法,让同一个计算既出现在「要一个曲面法向量」的场合,也出现在「要一个面积」的场合。
- 我拿到三个零,是哪里出错了吗?
- 没有——叉积为零是一个真答案。它表示两个向量平行、张不出面积;其中一个向量是零向量时同样如此。两种都是正确结果而不是失败,而页面没有办法告诉你是哪一种,因为两者给的都是同样的三个零。
- 两个向量的先后次序有影响吗?
- 有,而且这是本页与点积页差别最明显的一处。对调两个向量会调转答案的方向:每个分量都变号,而长度完全不变。同一对数输两次、把两个框对调,你就能看着它发生。至于两条垂线里你想要哪一条,由右手定则决定。
- 三个分量的次序是什么?
- 先是 x 分量,再 y,再 z,答案按你输入时的向量写法印出来。每个分量都是两个乘积之差,而写法沿循环每挪一位就得到下一个:y 分量把 x 那一套的分量循环一次,z 分量再循环一次。
- 它跟点积有什么区别?
- 点积拿两个向量给出一个数,两个向量越同向它越大;叉积给出一个向量,两个向量越垂直它越长,两者互为补集。如果你要的是一个数——夹角、投影、相似程度——你要的是点积;如果你要的是一条同时垂直于两者的方向,你要的是这一页。
参考资料
- Cross product(叉积)——本页计算的运算,含逐分量的定义,以及本页依赖的两条性质:结果同时垂直于两个输入、交换两个因子的次序会改变符号 — Wolfram MathWorld(美国)
- Determinant(行列式)——那个「求值结果恰好就是叉积各分量公式」的数组;正因为如此同一个循环次序在两边都出现,也是本页指向矩阵计算器的原因 — Wolfram MathWorld(美国)
- Parallelogram(平行四边形)——叉积的长度给出的正是它的面积,也是两个向量平行时答案恰好是三个零的原因 — Wolfram MathWorld(美国)
- 教育部关于印发义务教育课程方案和课程标准(2022 年版)的通知——该通知的附件清单第 5 项是《义务教育数学课程标准(2022 年版)》;空间向量及其运算不属于义务教育学段,课标的原文与学段划分以该附件为准 — 中华人民共和国教育部