「这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战」
作为一名优秀的开发者,对于技术的探求应该是永无止步的,如何让自己更进步,那就只有不停的学习,不停的充电.而这些都都是说起来容易做起来难,坚持才是难的地方 --蛙哈哈
如果我能更新完这一系列,我希望掘金能给我颁发一个劳模奖.
1.1 矩阵变换向量的原理
之前所提到的向量的加法,可以把向量理解为沿着每个轴进行一系列的平移, 向量(1, 2, 3)可以理解为 先平移(1, 0, 0), 再平移(0, 2, 0),再平移(0, 0, 3),这一系列平移可以表示成向量的加法运算,可以通过列向量的形式表示:
⎣⎡123⎦⎤=⎣⎡100⎦⎤+⎣⎡020⎦⎤+⎣⎡003⎦⎤
那么所有的向量都可以这么写:
V=⎣⎡xyz⎦⎤=⎣⎡x00⎦⎤+⎣⎡0y0⎦⎤+⎣⎡00z⎦⎤
然后将每个向量写成数值与单位向量相乘的形式:
V=⎣⎡xyz⎦⎤=x⎣⎡100⎦⎤+y⎣⎡010⎦⎤+z⎣⎡001⎦⎤
观察以上向量可知,每个单位向量其实表示的就是 x y z 轴的正方向,如果把三个轴的正方向用 p q r 表示,那么就可以的到以下公式
V=xp+yq+zr
现在将p q r 三个基向量打包成一个基向量的集合, 以 3 X 3的矩阵进行表示:
⎣⎡pqr⎦⎤=⎣⎡pxqxrxpyqyrypzqzrz⎦⎤
将任意向量 (x, y, z) 左乘上述矩阵:
[xyz]⎣⎡pxqxpxqyqyqypzqzrz⎦⎤=[xpx+yqx+zrxxpy+yqy+zryxpz+yqz+zrz]