1 什么是线性变换
输入一个向量,输出另外一个向量,且符合以下要求
- 线变完还是线,不能弯曲(包括对角线)」保持网格线平行且等距
- 原点位置不变
为何叫作变换而不是函数:因为可以将其看成一种运动
这里讲的是线性变换,实际有很多变换,复杂有趣,例如傅里叶变换,拉普拉斯变化
*思考:变换的意义何在呢?*拉普拉斯变换等可以将乘法变成加法,线性变换是用来看运动?
2 矩阵乘法如何理解
想想这样一件事情,如果我知道该空间下的某个坐标,我想知道经过变换之后,它落在另一个空间的何处,应该怎么来做呢?矩阵乘法实现了这样的事情。
具体怎么做呢,我们通过下面这个例子来看
假设将原先空间中的点(也可以看成从原点出发的向量)都逆时针旋转
α
\alpha
α度,且
x
x
x轴伸缩
b
b
b倍,
y
y
y轴伸缩
a
a
a倍,原先空间中的点
(
x
,
y
)
(x,y)
(x,y),旋转之后坐标变成
(
x
1
,
y
1
)
(x_1,y_1)
(x1,y1),请问怎么计算
(
x
1
,
y
1
)
(x_1,y_1)
(x1,y1)呢?
在3b1b的视频中,给出了解决该问题的方法,就是利用基底,但是没有推导为何基地就可以,我们在这里进行一下简单的推导。
设原先的基底为
i
(
1
,
0
)
,
j
(
0
,
1
)
i(1,0),j(0,1)
i(1,0),j(0,1),这个基底经过变换之后为
i
1
(
b
∗
c
o
s
α
,
b
∗
s
i
n
α
)
,
j
1
(
−
a
∗
s
i
n
α
,
a
∗
c
o
s
α
)
i_1(b*cosα,b*sinα),j_1(-a*sinα,a*cosα)
i1(b∗cosα,b∗sinα),j1(−a∗sinα,a∗cosα),
x
1
x_1
x1的坐标是变换之后的
x
∗
i
1
+
y
∗
j
1
x*i_1+y*j_1
x∗i1+y∗j1在
x
x
x轴的投影,
y
1
y_1
y1的坐标是变换之后的
x
∗
i
1
+
y
∗
j
1
x*i_1+y*j_1
x∗i1+y∗j1在
y
y
y轴的投影
x
1
=
x
∗
i
1
x
+
y
∗
j
1
x
=
x
∗
b
∗
c
o
s
α
+
y
∗
−
a
∗
s
i
n
α
x_1 = x*i_1x+y*j_1x= x*b*cosα+y*-a*sinα
x1=x∗i1x+y∗j1x=x∗b∗cosα+y∗−a∗sinα
y
1
=
x
∗
i
1
y
+
y
∗
j
1
y
=
x
∗
b
∗
s
i
n
α
+
y
∗
a
∗
c
o
s
α
y_1 = x*i_1y+y*j_1y= x*b*sinα+y*a*cosα
y1=x∗i1y+y∗j1y=x∗b∗sinα+y∗a∗cosα
写成矩阵的形式
例如:长度不变,逆时针旋转90度,则对应的变换矩阵为
总结:所以以后空间的变换,我们只要思考变换后基底落在何处,将基底依次按列写成矩阵,就可以直接得到我们需要的变换矩阵了
3.复合变换与矩阵连乘
我们将每次矩阵的左乘看成一个变换,那么要依次进行多次变换就依次左乘,但是我们可以先将这些变换的最终结果先算出来,作为一个总的变换矩阵。
4. 奇思妙想
- 关于非满秩矩阵的理解:因为矩阵非满秩,说明其中的向量存在线性相关,也就是面可能变成了线之类的不好的事情发生,算还是能算,只是相当于降维了,原空间多个点可能映射到一个点
- 关于矩阵翻转的想法:例如二维空间下的左手坐标系,变成了右手坐标系,如果放在二维空间,很难想明白,所以,我们增加一个z轴,那就可以自然而然地将这个看成z轴绕着y轴旋转了180度,这个是不是就是齐次坐标的意义??