03变换的应用
变换的应用
- 位置移动
- 旋转
- 缩放
- 光栅化成像
二维变换
可以参考:3Blue1Brown线性代数的本质|03 矩阵与线性变换
重点是假设基向量\hat{i}=\begin{bmatrix}1\\ 0\end{bmatrix},~\hat{j}=\begin{bmatrix}0 \\ 1\end{bmatrix}随着一起变换,记录变换后基向量的位置信息。
缩放
翻转
剪切
旋转
默认原点、逆时针旋转

总结:线性变换=矩阵
齐次坐标
引入齐次坐标原因
引入原因:用矩阵形式描述平移(非线性变换)
二维齐次坐标
二维齐次坐标的表示——增加第三维:
- 点:\begin{bmatrix}x\\ y\\ 1\end{bmatrix}
- \begin{bmatrix}x\\ y\\ w\end{bmatrix}表示点 \begin{bmatrix}\frac{x}{w}\\ \frac{y}{w}\\ 1\end{bmatrix}
- 向量:\begin{bmatrix}x\\ y\\ 0\end{bmatrix}
点和向量第三维不同的原因——向量具有平移不变性:
- 向量+向量=向量 (0+0=0)
- 点-点=向量(1-1=0)
- 点+向量=点(1+0=1)
- 点+点=中点(1+1=2 表示点(\frac{x}{2}, \frac{y}{2}, 1)^{T})
二维仿射变换
仿射变换=线性变换+平移(注意顺序)

逆变换
逆变换——逆矩阵

组合变换
- 复杂变换通过一些列简单变换得到
- 变换顺序很重要——矩阵没有交换律
- 向量使用列向量,矩阵统一左乘
- \mathbf{A_{n}...A_{2}A_{1}}\begin{bmatrix}x\\ y\\ z\end{bmatrix}
- 复合变换矩阵——预处理算出前n项矩阵,得到一个3\times 3矩阵
例:
旋转中心不在原点:中心移动到原点->旋转->中心移动到原位置 T(c)\cdot R(\alpha)\cdot T(-c)
三维变换
Ref:3Blue1Brown线性代数的本质|03 矩阵与线性变换
重点是假设基向量\hat{i}=\begin{bmatrix}1\\ 0\\ 0\end{bmatrix},~\hat{j}=\begin{bmatrix}0 \\ 1\\ 0\end{bmatrix},~\hat{k}=\begin{bmatrix}0 \\ 0\\ 1\end{bmatrix}随着一起变换,记录变换后基向量的位置信息。
三维齐次坐标
三维仿射变换
顺序(同二维):**先线性变换再平移**
缩放和平移
旋转
绕坐标轴
为什么y不同——x-y-z循环:
x:$ y\times z $
z:$ x $\times$ y $
y:$ z $\times$ x $
欧拉角
罗德里格斯旋转公式
- n是旋转轴,α是旋转角度
- 默认轴n过原点——不过原点就移到原点再变换,再移回去
推导:
https://sites.cs.ucsb.edu/~lingqi/teaching/resources/GAMES101_Lecture_04_supp.pdf
https://zhuanlan.zhihu.com/p/336453946
四元数*
本课程不讲