对矢量进行归一化需要什么?

时间:2012-04-03 23:26:51

标签: vector normalizing

尝试更多地理解向量。

对矢量进行标准化有什么需要?

如果我有一个向量,则N =(x,y,z)

当你将它标准化时你实际得到了什么 - 我知道你必须划分x / | N | Y / | N | &安培; Z / | N |。我的问题是,为什么我们这样做,我的意思是我们从这个等式中得出什么?

这样做的意义或'内部'目的是什么。

有点数学问题,我道歉,但我在这个主题中并不清楚。

6 个答案:

答案 0 :(得分:46)

对于任何向量V = (x, y, z)|V| = sqrt(x*x + y*y + z*z)给出向量的长度。

当我们对矢量进行标准化时,我们实际计算V/|V| = (x/|V|, y/|V|, z/|V|)

很容易看出规范化的向量长度为​​1.这是因为:

| V/|V| | = sqrt((x/|V|)*(x/|V|) + (y/|V|)*(y/|V|) + (z/|V|)*(z/|V|))
          = sqrt(x*x + y*y + z*z) / |V|
          = |V| / |V|
          = 1

因此,我们可以将归一化向量称为单位向量(即具有单位长度的向量)。

任何向量,在归一化时,只会改变其大小,而不是其方向。此外,指向相同方向的每个矢量被归一化为相同的矢量(因为幅度和方向唯一地定义了矢量)。因此,单位向量对于提供方向非常有用。

但请注意,上述所有讨论均针对3维笛卡尔坐标(x, y, z)。但是我们对笛卡尔坐标的真正含义是什么?

事实证明,要在3D空间中定义矢量,我们需要一些参考方向。这些参考方向被规范地称为 i j k (或i,j,k,它们带有小上限 - 称为“i” cap“,”j cap“和”k cap“)。我们认为V = (x, y, z)的任何向量实际上都可以写为V = xi + yj + zk。 (注意:我不再用帽子来称呼它们,我只称它们为i,j,k)。 i,j和k是X,Y和Z方向上的单位矢量,它们形成一组相互正交的单位矢量。它们是所有笛卡尔坐标几何的基础。

还有其他形式的坐标(例如圆柱坐标和球坐标),虽然它们的坐标不像(x, y, z)那样直接理解,但它们也由一组3个相互正交的单位向量组成,它们形成3个坐标相乘的基础,以产生一个向量。

所以,上面的讨论清楚地说我们需要单位向量来定义其他向量,但为什么要关心呢?

因为有时,只有重要性。那是当你使用“常规”数字(类似4或1/3或3.141592653 - nope,对于你所有的OCD怪胎,我不会把Pi放在那里 - 这将保持终止小数,只因为我是邪恶的化身)。你不会想要陷入一个讨厌的方向,对吗?我的意思是说,我想要面向西方的4公斤西瓜真的有意义吗?当然,除非你是一个疯狂的狂热分子。

其他时候,只有方向很重要。你只是不关心幅度,或者幅度太大而无法理解(像无限的东西,只有没有人真正知道无穷大是什么 - 所有冰雹伟大的无限,因为他有无限的无限...对不起,有点被带走了)。在这种情况下,我们使用向量的归一化。例如,它没有任何意义,说我们有一条面向北4公里的线。说我们有一条面向北方的线更有意义。那么你做什么呢?你摆脱了4公里。你破坏了规模。剩下的就是北方(冬天来了)。经常这样做,你必须给你的名字和符号。你不能只称它为“无视大小”。那太粗鲁了。你是一名数学家,所以你把它称为“规范化”,你给它标注“上限”(可能是因为你想参加一个派对而不是被媒体卡住)。

BTW,因为我提到了笛卡尔坐标,这里是必须的XKCD:XKCD

答案 1 :(得分:4)

这有点像问我们为什么会增加数字。它总是出现。

我们使用的笛卡尔坐标系是一个标准正交基础(由长度为1的矢量组成,它们彼此正交,基础意味着任何矢量都可以由这些矢量的唯一组合表示),当你想要旋转时你的基础(当你环顾四周时出现在视频游戏机制中)你使用矩阵的行和列是正交向量。

一旦你开始在线性代数中使用矩阵,你就会想要正交向量。有太多的例子可以命名它们。

在一天结束时,我们不需要标准化的载体(就像我们不需要汉堡包一样,我们可以活下去没有它们,但是谁会去?),但v / |v|的类似模式经常出现,以至于人们决定给它起一个名字和一个特殊的符号(在矢量上的^意味着它被标准化了)矢量)作为捷径。

归一化向量(也称为单位向量)基本上是生命中的事实。

答案 2 :(得分:1)

你正在使它的长度为1 - 找到指向同一方向的单位向量。

这对于各种用途很有用,例如,如果您使用单位向量的向量的点积,则您可以在单位向量的方向上获得该向量的分量长度。

答案 3 :(得分:1)

法线应该仅用作方向向量。它们用于照明计算,这需要标准化的法向量。

答案 4 :(得分:0)

我看到该帖子非常老,但是我仍然想回答这个问题,因为我没有清楚的答案为什么我们要规范化。向量归一化的原因是找到向量的确切大小以及它在另一个向量上的投影。

示例=向量a在b上的投影是b.cos(theta)

enter image description here

但在点积的情况下,两个向量a和b的点积为a.b.cos(theta)

表示点积是a的b倍的投影。因此,我们将其除以a进行归一化,以找到投影的确切长度,即(b.cos(theta))。 希望清楚。

答案 5 :(得分:-2)

在机器学习和深度学习中,我们需要对矢量进行归一化,因为梯度下降快速收敛