Games101 现代图形学笔记

向量

1. 概念

  • 图形学默认向量是一个列向量

2. 向量点乘 (·)

  • 点乘的结果是一个

  • 满足交换律、结合律、分配律

  • 在图形学中的作用是找到两个向量/方向的夹角,比如:光线夹角,物体表面法线等等

  • 可以将一个向量在另外一个向量上的投影计算出来;

  • 可以看出物体前后位置的信息;

    • 当两向量的夹角 > 0 ,表示方向相反

    • 当两向量的夹角 < 0,表示方向相同

3. 向量叉乘(x)

  • 叉乘的结果是一个向量

  • 右手螺旋定则:除大拇指外的四个手指表示旋转方向,大拇指表示叉乘结果后的方向,如:

    • 求 a x b,就是从 a 旋转到 b 后大拇指的方向朝上;
    • 求 b x a,则大拇指方向朝下;
  • 用于建立三维空间的直角坐标系,比如:

    • 在三维空间中,给定一个 x,y 轴,可以算出 z 轴;

    • 在三维空间中,给定一个 y,z 轴,可以算出 x 轴;

    • 在三维空间中,给定一个 x,z 轴,可以算出 y 轴;

  • 没有交换律,满足结合律、分配律;

  • 判断两向量的左/右:

    • a x b 得出的结果 z 是一个正数,表示 b 在 a 的左侧
    • b x a 得出的结果 z 是一个负数,表示 a 在 b 的右侧
  • 判断点 P 在三角形内/外部:

    • 在内部:P 点一定在都三条边的左边/右边

矩阵

1. 概念

  • 由行,列组成;
  • 矩阵点乘
    • 没有交换律(即不可以位置对调),满足结合律、分配律;
  • 让 x / y 变成负的:
  • 矩阵的转置

变换

1. 二维变换

(1)缩放变换:

(2)反转变换

(3)切变换

(4)旋转:

总结:

  • 上面四种变换均是线性变换

2. 齐次坐标

(1)向量具有不变性,即无论怎么平移,向量都不会发生改变;

(2)一个点减去另外一个点,等于一个向量;

(3)对于一个 2D 的点:

(4)对于一个 2D 的向量:

(5)逆变换:一个矩阵乘以它的逆矩阵,结果为一个单位矩阵;

3. 三维变化

  • 在描述三维空间中,仿射变换的情况下对应矩阵的最后一行永远都是0,0,0…,1

(1)缩放、平移和二维类似;

(2)旋转(绕着某一固定轴旋转):

变换组合

(1)旋转默认以原点为中心,方向为逆时针

(2)变换的顺序很重要;

  • 先平移,后旋转 与 先旋转,后平移的区别:

(3)旋转的逆(往相反的方向旋转相同的角度):

  • 正向旋转,再进行转置
  • 正交矩阵:一个矩阵的逆等于它的转置