Transformation

Linear Algebra

  • 点乘(投影,判断两个向量方向相同、距离远近)
  • 叉乘 (判断点p是否在三角形▲ABC内,AB、BC、CA分别和AP、BP、CP叉乘,都在同一边则在三角形内)

Modeling

  • translation
  • rotation
  • scale
  • 仿射变换 = 线性变化 + 平移(先做线性变化再做平移)

二维变换

对二维矩阵加一维以便计算平移,是0则表示向量,是1则表示点,(1,0,1)和(2,0,2)是同一个点

平移后旋转 != 旋转后平移 即 矩阵不满足交换律

多个变换可合并成一个矩阵,一个矩阵也可以拆成多个变换

三维变换

Viewing

视图变换 view transformation

相机通过3个值确定

  • 向上的方向
  • 坐标
  • 看向的位置

相机和场景一起移动,直到相机在一个特定的位置(通常为原点,Y为竖直方向,相机看向-Z)

此操作中的旋转从随即方向到坐标轴方向的转换矩阵A比较难求,但从坐标轴到某随即方向的矩阵B好求,这个矩阵是正交矩阵且是A的逆矩阵,则A为B的转置

投影变换 projection transformation

正交投影 Orthographic projection

  • 平移
  • 缩放到cube[-1,1]上

透视投影 Perspective projection

满足进大远小,先做透视变换,再做正交变换

x,y的变换通过相似三角形可以得出

对于近平面n和远平面f,Z轴是不变的。但是在中间的点Z是变化的,因此对于Z的变换先假设未知,然后通过n,f的特例解方程