GAMES101-计算机图形学基础 1-4

入门

课程主页:https://sites.cs.ucsb.edu/~lingqi/teaching/games101.html

计算机图形学分四块:
1、光栅化
GAMES101-计算机图形学基础 1-4_第1张图片

2、几何造型
GAMES101-计算机图形学基础 1-4_第2张图片
3、光线追踪
GAMES101-计算机图形学基础 1-4_第3张图片
4、动画和仿真
GAMES101-计算机图形学基础 1-4_第4张图片
实时计算机图形学(帧率能达到30fps),低于30则为离线。

线性代数基础

默认使用列向量 与 右手坐标系( x ⃗ × y ⃗ = z ⃗ \vec x \times \vec y = \vec z x ×y =z
GAMES101-计算机图形学基础 1-4_第5张图片

向量 与 单位化

GAMES101-计算机图形学基础 1-4_第6张图片

向量加法

GAMES101-计算机图形学基础 1-4_第7张图片
三角形法则是一系列向量首尾相连,就能得到相加后的结果。

向量的点积

GAMES101-计算机图形学基础 1-4_第8张图片
a hat(戴帽子的a)表示的是单位向量,两个单位向量点积就是夹角余弦值。

向量点积的应用

1、求投影向量 与 向量分解
GAMES101-计算机图形学基础 1-4_第9张图片
2、向量的朝向 与 接近
GAMES101-计算机图形学基础 1-4_第10张图片两个向量朝向相反,点积小于0,朝向相同点积大于0,以a为参考则b朝前,c朝后。

两个向量越接近,其单位向量的点积越接近1,这个在观察镜面反射 或者 高光计算中会用。

向量叉乘

以右手螺旋定则判定右手坐标系( x ⃗ × y ⃗ = z ⃗ \vec x \times \vec y = \vec z x ×y =z
GAMES101-计算机图形学基础 1-4_第11张图片GAMES101-计算机图形学基础 1-4_第12张图片GAMES101-计算机图形学基础 1-4_第13张图片向量的叉乘也能写成矩阵形式,dual matrix( A ∗ A* A

向量叉乘的应用

1、用于建立三维直角坐标系

 给定x,y轴,能计算得到z轴

2、判定左右 与 内外
GAMES101-计算机图形学基础 1-4_第14张图片 a ⃗ × b ⃗ > 0 \vec a \times \vec b > 0 a ×b >0,则b在a的左侧(逆时针旋转)
b ⃗ × b ⃗ < 0 \vec b \times \vec b < 0 b ×b <0,则a在b的右侧(顺时针旋转)

如果ABC按逆时针排列,若P同时在向量的AB、BC、CA的左侧,则说明在三角形内部。
如果ABC按顺时针排列,则当P同时在向量的AB、BC、CA的右侧,则说明在三角形内部。

p只要同时在向量的AB、BC、CA的右侧或者左侧,都说明在内部。

做光栅化时,需要判定像素点是否位于三角形内部。如果叉积为 0 ⃗ \vec 0 0 ,说明点在三角形边线上,可自行设定是否属于三角形。

坐标系

可以使用单位向量u,v,w来定义坐标系,或者计算投影坐标。
GAMES101-计算机图形学基础 1-4_第15张图片

矩阵数乘

矩阵乘一个数,把所有元素都乘该数即可
GAMES101-计算机图形学基础 1-4_第16张图片

矩阵乘法

GAMES101-计算机图形学基础 1-4_第17张图片
特殊的,列向量只是一个m×1的矩阵。
矩阵乘法在坐标变换中会经常使用。

矩阵转置

GAMES101-计算机图形学基础 1-4_第18张图片

矩阵的逆

GAMES101-计算机图形学基础 1-4_第19张图片相同的矩阵作用与一个向量,其结果相同。

向量乘法的矩阵形式

GAMES101-计算机图形学基础 1-4_第20张图片
叉乘的矩阵形式在 旋转变换的推导中 会用到。

矩阵变换

线性变换

凡能写成如下形式的都是线性变换,如旋转,错切,放缩等等
GAMES101-计算机图形学基础 1-4_第21张图片

尺度变换

GAMES101-计算机图形学基础 1-4_第22张图片

反射变换

GAMES101-计算机图形学基础 1-4_第23张图片

剪切变换

GAMES101-计算机图形学基础 1-4_第24张图片

旋转变换

GAMES101-计算机图形学基础 1-4_第25张图片

平移变换

GAMES101-计算机图形学基础 1-4_第26张图片

齐次坐标

点和向量的区别在于,平移变换作用在坐标点上,坐标点会受到影响而发生改变;但若作用到向量上,向量不会受到丝毫影响,所以点后面加的是1,而向量加的是0。
GAMES101-计算机图形学基础 1-4_第27张图片
根据点和坐标的性质差别,我们可以得到如下结果:

GAMES101-计算机图形学基础 1-4_第28张图片当然,由于齐次坐标点要除以 w w w,使得最后一个数为1,所以两个点相加的结果,实际上是两个点连线的中点

GAMES101-计算机图形学基础 1-4_第29张图片

仿射变换

仿射变换即:线性变换 + 平移变换 。它可以用齐次坐标变换矩阵表示,使用该矩阵进行变换时,默认对坐标先进行旋转变换,再进行平移变换
GAMES101-计算机图形学基础 1-4_第30张图片

逆变换

GAMES101-计算机图形学基础 1-4_第31张图片对于正交矩阵(如旋转矩阵),矩阵的逆=其转置
GAMES101-计算机图形学基础 1-4_第32张图片

变换的顺序

GAMES101-计算机图形学基础 1-4_第33张图片GAMES101-计算机图形学基础 1-4_第34张图片

变换的合并

GAMES101-计算机图形学基础 1-4_第35张图片
一个复杂的变换可以由一系列简单的基本变换构成。
GAMES101-计算机图形学基础 1-4_第36张图片

3D的坐标变换形式

GAMES101-计算机图形学基础 1-4_第37张图片
GAMES101-计算机图形学基础 1-4_第38张图片

3D变换

你可能感兴趣的:(计算机图形学)