Games101-Lecture 04 Transformation Cont

重点归纳:

  1. 3D 变换(以旋转为重点):
    • 绕 x, y, z 轴旋转矩阵的差别, 循环对称性(列向量顺序问题)
    • 旋转的分解以及欧拉角, Rodrigues’ Rotation Formula(绕过原点的轴的旋转)
    • 四元数, 主要为了旋转间的差值(课程无), 因为旋转矩阵不太适合作差值, 三角函数不是线性的, (15 + 25)/2 != 20
  2. Viewing 变换:
    • View(视图)/Camera 变换
    • 3D 到 2D 的投影变换(Orthographic/Perspective, 正交/透视)
  3. View 变换
    • 标准相机位置的定义
    • 相机和模型的一起变换
  4. 投影变换
    • 正交投影, 无近大远小
    • 简单的正交投影方法和常用的正交投影方法
    • 透视投影, 平行线会相交, 可以分解成”挤压”变换和正交投影变换
    • “挤压”变换的推导

Games101-Lecture 03 Transformation

重点归纳:

  1. 2D 变换:
    • 线性变换(Linear):缩放(scale)、切变(shear)、旋转(rotatrion)、镜像(Reflection)
    • 非线性变换:平移(translation)
    • 仿射变换(Affine): 线性变换 + 平移
  2. 齐次坐标
    • 用线性矩阵来描述上述所有的变换
    • 点与向量的表示
  3. 变换的组合与分解
    • 变换的先后顺序
    • 绕任意点的旋转

Parallel101-1.学C++从CMake学起
Games101:Lecture 02 Review of Linear Algebra

Games101:Lecture 02 Review of Linear Algebra

Games101 Lecture 01 是一些图形学的基本介绍, 我就不记录了, 从 Lecture 02 开始

重点归纳:

  1. 向量点乘可以用于计算向量间的余弦夹角, 从而得知向量互相的接近程度
  2. 向量点乘可以用于计算向量的投影, 可以用于向量的分解, 将向量分解成两个垂直的向量
  3. 向量点乘可以用于计算向量的方向性, 判断两个向量是同向还是异向, 以及它们的接近程度
  4. 向量叉乘的结果是一个向量, 由右手螺旋定则决定方向
  5. 向量叉乘可以用于判断向量的左右关系, 判断点在三角形的内部还是外部
  6. 矩阵在图形学中的应用: 变换

阅读材料:Fundamentals of Computer Graphics(3rd or 4th ), 第二章 (Miscellaneous Math)、第五章(Linear Algebra)


C++面向对象程序设计复习笔记(下)
C++面向对象程序设计复习笔记(上)
常见的排序算法