GAMES101(1-4):介绍和基础-学习笔记

GAME101笔记汇总

1.Overview of Computer Graphics

对课程内容进行大致介绍。同时对图形学进行介绍。

大牛的成就

介绍一下图形学是什么,以及为什么学图形学

之后介绍了课程包含的四大内容:

光栅化

几何

光线追踪

动画和仿真

2.Review of Linear Algebra

这节课主要回顾了一下线性代数相关的基础知识,包括向量、向量运算、矩阵、矩阵运算等等。基本在本科覆盖范围内,因此叫 Review

3.Transformation

3.1 Basic of Transformation

首先用几个例子(摄像机在空间中的运动、机器人运动、视角变换)介绍一下为什么要用 Transformation

之后介绍几种二维上的基本变换

缩放变换

镜像变换

切变

旋转

平移变换,但通常在齐次坐标下进行。

合在一起成为仿射变换

逆变换即逆矩阵

基本变换组合为符合变换

再升级看三维下的坐标变换

3D 的缩放、镜像、切变基本和 2D 可直接类比。但是旋转会有一些麻烦。这是一种解决方案,将任意旋转分解为绕坐标轴旋转。

并且这里需要注意坐标系,课程中使用的是右手坐标系,部分API和软件会使用左手坐标系

绕任意轴旋转的方程

接下来考虑视图或摄像机的变换

3.2 Camera Transformation

三维摄像机有 7 个维度

  • 位置:3维
  • 朝向:3维
  • 画面旋转:1维

通常用三个向量进行对应

  • 位置向量
  • 朝向向量
  • 上方向量(由于一定和朝向正交,所以会冗余2维)

正向考虑 摄像机变换 的矩阵是比较麻烦的一件事情

但反向考虑则比较容易,所以可以通过反向考虑,配合矩阵求逆得到结果。

4.Transformation

4.1 Projection Transformation

投影变换本身是一个降维变换,图形学中主要针对于将三维投影至二维

3D 至 2D 的投影主要有两种:平行投影和透视投影

平行投影的操作比较简单,直接丢掉坐标中的 Z 分量即可。

但通常需要 canonical ,即首先将视图空间中心平移至 原点,再缩放为标准正方体。

整理一下可知这一系列操作对应的矩阵。

透视投影本质上是将空间投影至一个点,但在过程中用一个平面(如胶片)截下。

而对于透视变换,可以考虑将其先变换为平行,再用平行投影。

这个矩阵并不直观,但是可以通过设立条件对矩阵进行推导

  • 胶片所在平面不发生变化
  • 而远处的平面大小缩放至和胶片一样大,且中心对齐,但 Z 值不变

以此即可确定变换矩阵

Leave a Comment