13
0

03变换的应用

2026-08-27
2026-08-27

变换的应用

  • 位置移动
  • 旋转
  • 缩放
  • 光栅化成像

二维变换

可以参考: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

四元数*

本课程不讲

评论