跳到主要内容
CalcMax

单位向量计算器

结果

0.6000

单位向量的 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 450.60.80
1 01100
1 11.41420.70710.70710
0 55010
-3 45-0.60.80
2 3 670.28570.42860.8571
1 1 11.73210.57740.57740.5774
3 4 -57.07110.42430.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,因为同一个方向写成三个坐标就是这个样子。零向量是唯一被拒的输入,因为它没有方向可以归一化。

算例

  1. 3 4

    1. 模:√(9 + 16)= √25 = 5
    2. x 分量:3 ÷ 5 = 0.6
    3. y 分量:4 ÷ 5 = 0.8
    4. z 分量:0 ÷ 5 = 0,二维向量躺在那个平面里

    页面的默认输入,也是最干净的一档:3-4-5 让模成为一个整数,于是两个分量都是精确值。这一档说明了第四个输出是干什么的——面板上的 5 就是 3 与 4 各自除的那个数,看着它读 0.6 与 0.8 就是这道题的全部。验算可以平方相加:0.36 + 0.64 = 1。

  2. 2 3 6

    1. 模:√(4 + 9 + 36)= √49 = 7
    2. x 分量:2 ÷ 7 = 0.285714
    3. y 分量:3 ÷ 7 = 0.428571
    4. z 分量:6 ÷ 7 = 0.857143

    三维的一档,模同样正好是整数 7,而三个分量一个都不精确:全是除不尽、取到四位小数的循环小数。这个组合是常态而不是巧合——模是整数相当常见,而单位向量的分量还是整数就不常见了。方向与 2 3 6 一致,只是把长度除了出去。

  3. -3 4

    1. 模:√(9 + 16)= √25 = 5,与 3 4 相同
    2. x 分量:−3 ÷ 5 = −0.6
    3. y 分量:4 ÷ 5 = 0.8
    4. z 分量:0 ÷ 5 = 0

    第一个例子把第一个分量取了负,而单位向量把符号留住了:−0.6 与 0.8。除以一个正的长度不可能把向量调头,这一行就是这件事看得见的地方。指向左上方的向量是完全正常的输入,它的单位向量也指向左上方。模两种写法都是 5,因为把一个分量取负不会改变它。

  4. 0 5

    1. 模:√(0 + 25)= 5
    2. x 分量:0 ÷ 5 = 0
    3. y 分量:5 ÷ 5 = 1
    4. z 分量:0 ÷ 5 = 0

    一个本来就落在坐标轴上的向量,所以它的单位向量就是那条轴的方向本身:0、1、0。这里要看的是第四个输出那一行——它写的是 5,不是 1。一个长度为 5、笔直向上的向量,其单位向量长度为 1,而面板印的是被除出去的那个长度,不是算出来的那个常数 1。

  5. 1 1 1

    1. 模:√(1 + 1 + 1)= √3 = 1.732051
    2. 每个分量: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 进去,会不声不响地把答案放大五倍。另一个用途是比较两个在不同量级上量出来的方向:两个都归一化,大小就不再干扰。

参考资料

相关计算器