课程地址
课程录像:GAMES101-现代计算机图形学入门-闫令琪
课程主页:GAMES101: 现代计算机图形学入门
本节PPT:GAMES101_Lecture_02
作业地址:往期作业汇总帖
1. 摘要
- 向量(点乘、叉乘...)
- 矩阵(矩阵与矩阵相乘、矩阵与向量相乘...)
2. 向量
- 概念:表示一个方向和长度的量。
- 用笛卡尔坐标系表示:有两个相互垂直的单位向量 x 和 y,任一个向量 a 都可以表示为从原点开始的由m个 x 向量与n个 y 向量相加而成,这个(m,n)就表示向量 a。
- 在图形学中向量通常用列矩阵来表示(在后面的学习中,就会知道这是为了方便与矩阵进行运算)。

- 点乘
-
定义:∥x∥×∥y∥×cosθ
-
作用:得到两个向量之间的夹角(尤其是对两个单位向量来说,点乘就是夹角余弦值)、将向量拆分成两个相关垂直的向量、两个向量在方向上有多接近。
-
矩阵表示:将两个向量分别用列矩阵表示再相乘即可得到点乘值。

- 叉乘
- 定义:一个与向量a和向量b都垂直的向量c,可以通过右手定则得到该向量的方向(将四个手指从a向b弯曲,拇指的朝向就是向量c的方向)
- 左手系和右手系区分:
- 右手系:x×y=z
- 左手系:x×y=−z
- 作用:
-
判定左和右:在右手空间直角坐标系下,有两个在xy平面上的向量a和b。a叉乘b的方向是 z,则 a 在 b 的右边;是−z,则 a 在 b 的左边。
-
判定内和外:分别计算AP和AB、BP和BC、CP和CA的叉乘,若三个结果的方向都一致,则P点在三角形ABC内,否则在三角形外。
-
将任意一个向量分解到一个自定义的空间直角坐标系:假设有三个相互垂直的单位向量 u、v、w(任意两个向量的点乘为0,且u×v=w),那么任意一个向量 p,都可以表示为(p⋅u)u+(p⋅v)v+(p⋅w)w,即向量p 在 uvw 坐标系中的坐标为(p⋅u,p⋅v,p⋅w)。
- 矩阵表示:


3. 矩阵
- 概念:按照行列进行排布的数字集合。
- 矩阵相乘
- 运算条件:矩阵A与矩阵B相乘,那么A的列数一定等于B的行数
- 运算结果:m×n矩阵与n×p矩阵的乘积为m×p矩阵,其中元素(i,j)的值为第一个矩阵的第 i 行与第二个矩阵的第 j 行的点积。

- 矩阵性质
- 不满足交换律:AB=BA。
- 满足结合律和分配律。
- 主要性质:可以改变运算先后,但不能改变左右运算顺序。

- 矩阵转置
- 定义:行列互换,(i,j) 变为 (j,i)。
- 性质:(AB)T=BTAT。

- 单位矩阵
- 定义:只有对角线上的值为1,其他值为0的矩阵。
- 矩阵的逆:一个矩阵与矩阵A的乘积为单位矩阵,那么这个矩阵就是A的逆,记为A−1。
- 逆的性质:(AB)−1=B−1A−1。

- 用矩阵计算点乘和叉乘(向量由列矩阵表示)
- 点乘:a⋅b=aTb。
- 叉乘:a×b=A∗b。注:A∗是由 a 按照一定规律转换而成的矩阵。
