向量归一化

什么是向量归一化?

向量归一化就是将一个向量的长度变为1,同时保持它的方向不变

想象一下:不管一支箭有多长,它指向的方向是一样的。归一化就是把所有的箭都调整成相同的长度(1),但仍然指向原来的方向。

x y O v = (3,4) u = v/|v| = (0.6,0.8) |v| = 5 |u| = 1 单位圆

为什么需要归一化?

如何计算归一化向量?

假设有向量 \(\vec{v} = (x, y, z)\),归一化步骤:

1. 计算向量长度:\(|\vec{v}| = \sqrt{x^2 + y^2 + z^2}\)

2. 每个分量除以长度:\(\vec{u} = \frac{\vec{v}}{|\vec{v}|} = (\frac{x}{|\vec{v}|}, \frac{y}{|\vec{v}|}, \frac{z}{|\vec{v}|})\)

二维例子

有一个向量 \(\vec{v} = (3, 4)\)

1. 计算长度:\(|\vec{v}| = \sqrt{3^2 + 4^2} = \sqrt{9 + 16} = \sqrt{25} = 5\)

2. 归一化:\(\vec{u} = (\frac{3}{5}, \frac{4}{5}) = (0.6, 0.8)\)

验证:\(|\vec{u}| = \sqrt{0.6^2 + 0.8^2} = \sqrt{0.36 + 0.64} = \sqrt{1} = 1\) ✓

形象理解

想象你站在原点,用手指向某个方向:

在实际中的应用

游戏开发

控制角色移动方向,无论玩家按键力度如何

计算机图形学

计算光照效果,确定表面法线方向

机器学习

特征归一化,提高算法性能