SVD与特征向量

线性变换的特征向量在变化的过程中方向不变,这个向量在变换下缩放的比例被称之为特征值。

实战对抗

我们使用3D Model Editor 进行这样的线性变换:

关于如何使用web app 3D Model Editor 做线性变换可以参考博文:3D Model Editor – Linear Transform Tester.

我们先将锥体绕着Z轴逆时针旋转45度,然后在X轴方向上缩放物体2倍,最后再旋转回来。

最终我们得到了如下矩阵:

接下来我们对这个矩阵进行SVD分解,得到如下结果:

我们可以使用在线工具 Matrix Decomposition 完成上面的任务。

在计算机图形学中,我们使用矩阵表示线性变换的等式为这样的形式:

SVD的结果我们简化为:

所以我们可以计算出特征向量是:

X' = V^T X = \begin{pmatrix} 0.707107 & -0.707107 & 0 \\\\ 0.707107 & 0.707107 & 0 \\\\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} 1 \\\\ 0 \\\\ 0 \end{pmatrix} = \begin{pmatrix} 0.707107 \\\\ 0.707107 \\\\ 0 \end{pmatrix}

检测与验证

验证一下,我们再次使用 工具 3D Model Editor 展示出这个向量,看看它和变换后的锥体是否能在缩放轴重合:

打开show vector的模块,输入向量 (0.707107, 0.707107, 0),用空格为分隔符。然后点击draw 按钮。它就画出向量了。

drawVector.PNG

嗯。。。完美!

你可能感兴趣的:(SVD与特征向量)