单位向量计算器
结果
单位向量的 x 分量
- 单位向量的 y 分量
- 0.8000
- 单位向量的 z 分量
- 0.0000
- 向量的模
- 5.0000
单位向量计算器把一个向量变成与它「同方向」、长度为 1 的那个向量,并印出它除的那个长度。分量用空格或逗号隔开——二维写 3 4,三维写 2 3 6——其余交给页面。只收两个或三个分量:面板上只有三行分量,而一个数其实是一个带符号的量、不是方向。算术就是一次除法。先求这个向量的模,也就是各分量平方和开根号,再把每个分量都除以它。这样得到的结果按构造就有长度 1,方向与原向量完全在同一条直线上,叫做这个方向的单位向量。它的用处是把方向与大小分开。只有长度不同的两个向量,单位向量是一样的,所以在大小不可比的时候,它就是比较方向最自然的办法——风速与罗盘方位比、实测坡度与基准坡度比,都是这样。它也是把方向送进「假定输入已经归一化」的公式的办法,而几何与图形学里的公式大多如此。用这个输出之前有两点值得知道。符号跟着输入走:3 4 的单位向量是 0.6 与 0.8,而 -3 4 的单位向量是 -0.6 与 0.8。除以一个正的长度不可能把方向调头,而指向左或指向下的向量是完全正常的输入。以及旁边印出来的长度是你填进去那个向量的长度,不是答案的长度——答案的长度按定义就是 1,印出来等于什么都没说。而印出输入的长度,这次除法就看得见了:面板上的数,就是框里的数除以那个长度得来的。唯一会被拒答的输入是零向量,它的模是零,既没有东西可除,更要紧的是没有方向可留。
若干向量与它们的单位向量
| 向量 | 原向量的模 | 单位向量的 x 分量 | 单位向量的 y 分量 | 单位向量的 z 分量 |
|---|---|---|---|---|
| 3 4 | 5 | 0.6 | 0.8 | 0 |
| 1 0 | 1 | 1 | 0 | 0 |
| 1 1 | 1.4142 | 0.7071 | 0.7071 | 0 |
| 0 5 | 5 | 0 | 1 | 0 |
| -3 4 | 5 | -0.6 | 0.8 | 0 |
| 2 3 6 | 7 | 0.2857 | 0.4286 | 0.8571 |
| 1 1 1 | 1.7321 | 0.5774 | 0.5774 | 0.5774 |
| 3 4 -5 | 7.0711 | 0.4243 | 0.5657 | -0.7071 |
八个向量与它们的单位向量,而第二栏是让这张表值得一读的那一栏:它装的是除数,不是最后算出来的那个常数 1。第一行是页面加载时的那一档,两边都精确——3-4-5 给出模 5,两个小数分量也都是精确值。第二行与第四行本来就落在坐标轴上,单位向量就是那条轴的方向;其中第四行的模是 5 而不是 1,是看清「这一栏是输入的模」最清楚的一处。第三行是平面里等分量的那一档,两个分量都是 0.7071,模是 √2。第五行是第一行把一个数取了负,单位向量的符号跟着走:−0.6 与 0.8。归一化不会把向量调头,这一行就是证据。第六行与第七行是三维:一个模是整数 7 而分量一个都不精确,一个模是 √3 而三个分量相等。第八行的第三个分量是负的,给出表里唯一一个 z 为负的单位向量。表里没有零向量那一行,这是有意的:它没有方向,页面拒答。表里每个数都是构建页面时现算的,第一栏里的空格是分隔符,不是数字的一部分。
公式
û = u ÷ |u| |u| = √(u₁² + u₂² + … + uₙ²) |û| = 1
- 向量 u
- 要归一化的向量:两个或三个数,用空格或逗号隔开,例如 3 4。两个分量是平面里的向量,三个是空间里的;没有「维度」这个输入项要你填,数几个数就说明是哪种
- |u|
- 输入向量的模:各分量平方和开根号。它是所有分量要除的那个数,也是面板上的第四个输出——印的是「你填的那个向量」的长度,不是单位向量的长度,后者的长度永远是 1
- û
- 单位向量:输入的每个分量除以它的模。它与输入完全在同一条直线上、长度为 1,所以两者差的是大小而不是方向。头上那顶帽子是它的标准写法
- x 分量
- 答案的第一个分量:输入的第一个分量除以模。它的符号就是输入的符号——除以一个正的长度不可能翻转方向,所以指向左边的向量,单位向量也指向左边
- y 分量
- 第二个分量,同样是除以模。它与 x 分量一起把平面里的方向定死,与原向量有多长无关
- z 分量
- 第三个分量,同样除以模,输入是二维时它等于 0。那个 0 不是补位:二维向量躺在那个平面里,同一个方向写成三个坐标时第三个分量就是 0
- |û| = 1
- 答案按构造就具备的性质,也是它不作为第五行印出来的理由。单位向量的长度在任何情况下都是 1,面板上摆一行永远写着 1.0000 的常数,是把常数打扮成了结果
- 四位小数
- 所有输出的显示宽度。只有当输入的模是整数或很短的根式时才精确——3 4 给出 5,而三分之一与一般的根式都除不尽
当你想要的是方向本身、而不带大小时,用这一页。最清楚的场合是比较两个量级差得很远的方向:只有长度不同的两个向量单位向量相同,所以归一化把你不问的那一部分剥掉了。另一个常见场合是给「假定向量长度为 1」的公式准备输入——反射、投影、光照计算都如此,而喂给它们一个长度为 5 的向量,会不声不响地把答案放大五倍。旁边印出来的长度让这次除法可以核对:3 4 给出 0.6 与 0.8,你能看到 5 从两个数里各除了一次。有两点值得记住。输出带着输入的符号,所以指向左或指向下的向量,单位向量也指向左或指向下——归一化改变的是向量有多长,仅此而已。以及输出的长度不论你填什么都是 1,所以页面印的是输入的长度;那才是有信息的那个数。二维向量完全可以,第三个分量回 0,因为同一个方向写成三个坐标就是这个样子。零向量是唯一被拒的输入,因为它没有方向可以归一化。
算例
3 4
- 模:√(9 + 16)= √25 = 5
- x 分量:3 ÷ 5 = 0.6
- y 分量:4 ÷ 5 = 0.8
- z 分量:0 ÷ 5 = 0,二维向量躺在那个平面里
页面的默认输入,也是最干净的一档:3-4-5 让模成为一个整数,于是两个分量都是精确值。这一档说明了第四个输出是干什么的——面板上的 5 就是 3 与 4 各自除的那个数,看着它读 0.6 与 0.8 就是这道题的全部。验算可以平方相加:0.36 + 0.64 = 1。
2 3 6
- 模:√(4 + 9 + 36)= √49 = 7
- x 分量:2 ÷ 7 = 0.285714
- y 分量:3 ÷ 7 = 0.428571
- z 分量:6 ÷ 7 = 0.857143
三维的一档,模同样正好是整数 7,而三个分量一个都不精确:全是除不尽、取到四位小数的循环小数。这个组合是常态而不是巧合——模是整数相当常见,而单位向量的分量还是整数就不常见了。方向与 2 3 6 一致,只是把长度除了出去。
-3 4
- 模:√(9 + 16)= √25 = 5,与 3 4 相同
- x 分量:−3 ÷ 5 = −0.6
- y 分量:4 ÷ 5 = 0.8
- z 分量:0 ÷ 5 = 0
第一个例子把第一个分量取了负,而单位向量把符号留住了:−0.6 与 0.8。除以一个正的长度不可能把向量调头,这一行就是这件事看得见的地方。指向左上方的向量是完全正常的输入,它的单位向量也指向左上方。模两种写法都是 5,因为把一个分量取负不会改变它。
0 5
- 模:√(0 + 25)= 5
- x 分量:0 ÷ 5 = 0
- y 分量:5 ÷ 5 = 1
- z 分量:0 ÷ 5 = 0
一个本来就落在坐标轴上的向量,所以它的单位向量就是那条轴的方向本身:0、1、0。这里要看的是第四个输出那一行——它写的是 5,不是 1。一个长度为 5、笔直向上的向量,其单位向量长度为 1,而面板印的是被除出去的那个长度,不是算出来的那个常数 1。
1 1 1
- 模:√(1 + 1 + 1)= √3 = 1.732051
- 每个分量:1 ÷ 1.732051 = 0.577350
正方体的体对角线,三个分量相等——这是必然的,输入三个分量本来就相等,而把它们除以同一个数不会破坏这个平局。模是一个根式而不是整数,所以这里没有一个精确值。验算就按页面自己的定义来:0.5774 的平方是 0.3334,三个加起来在四舍五入的范围内是 1。
局限
只收两个或三个分量,别的不收:一个数是一个带符号的量而不是方向,四个以上则放不进面板上那三行分量。二维向量不是被「补」成三维的——它躺在那个平面里,第三行那个 0 就是同一个方向写成三个坐标的样子,所以页面不需要再问你这是哪一种。零向量完全不受理:它的模是零,没有东西可除,更要紧的是它没有方向可供答案保留。分量按普通数字解析:逗号加空格是分量分隔,逗号后面不带空格时按小数点读(1,5 就是一点五),而千位分组会被直接拒收、不去猜——写 1500,不要写 1,500。四位小数是显示宽度而不是精度承诺,分量是用未取整的模算出来的,所以印出来的数平方相加未必正好是 1。面板上印的长度是输入的,不是答案的;答案的长度按定义就是 1,印它等于印一个常数。这一页不知道分量是以什么为单位量出来的——单位向量没有单位,这正是它的意义,而长度带着输入原本的单位。有一处算术上的细节值得写明:每个分量的符号都跟着输入走,所以指向左的向量,单位向量也指向左。如果你期待的是正数,那你期待的是另一个向量。
常见问题
- 什么是单位向量?
- 长度为 1、指向某个给定方向的向量。把一个向量除以它自己的模就得到它,它保留了方向、丢掉了大小。只有长度不同的两个向量,单位向量是同一个,这就是它被用来比较不同量级方向的原因。
- 为什么第四行印的是输入的模,而不是 1?
- 因为单位向量的长度在任何一档上都是 1,一行永远写着 1.0000 是一条常数而不是结果。输入的模是被除出去的那个数,印出来这次除法就看得见:填 3 4、看到 5,也就读出 0.6 与 0.8 分别是那两个数除以 5。
- 可以只填两个分量吗?
- 可以,第三个分量会回 0。那不是补位——二维向量躺在那个平面里,同一个方向写成三个坐标时第三个分量就是 0。面板上本来就是三行分量,所以二维与三维共用同一套排版。
- 为什么答案带着负号?
- 因为除以一个长度不可能把向量调头。模是正数,所以每个分量都保留自己的符号:−3 4 的单位向量是 −0.6 与 0.8。如果你期待答案是正的,那是另一个方向,不是同一个方向归一化的结果。
- 为什么分量全为零的向量会被拒答?
- 因为归一化它意味着除以它的模,而它的模是零。除了除法这层,还有第二个理由:零向量根本没有方向,没有东西可供答案保留。夹角页与点积页同样拒答,而叉积页收它——在那边它确实会算出一个零向量。
- 归一化一个向量是拿来干什么的?
- 把方向与大小分开。反射、投影、光照这几类公式都假定你交给它们的向量长度为 1,而交一个长度为 5 进去,会不声不响地把答案放大五倍。另一个用途是比较两个在不同量级上量出来的方向:两个都归一化,大小就不再干扰。
参考资料
- Unit vector(单位向量)——指向给定方向、长度为 1 的向量,也就是本页返回的东西,以及由它而来的「除以模」这种归一化写法 — Wolfram MathWorld(美国)
- Vector(向量)——被归一化的那个对象,以及它的模等于各分量平方和开根号这一定义 — Wolfram MathWorld(美国)
- Norm(范数)——向量长度的通名,本页用的是它最普通的欧几里得那一档,也就是平方和开根号 — Wolfram MathWorld(美国)
- 教育部关于印发义务教育课程方案和课程标准(2022 年版)的通知——该通知的附件清单第 5 项是《义务教育数学课程标准(2022 年版)》;平面向量及其线性运算不属于义务教育学段,课标的原文与学段划分以该附件为准 — 中华人民共和国教育部