本节课主要是数学基础知识。

概述

  • 光栅化(OpenGL…)Rasterization
    • 光栅化:三维空间的几何形体显示在屏幕上。
    • 实时:每秒钟至少能够生成30帧(fpx)。达不到的叫离线。
  • 曲线和曲面(几何)Curves and Meshes
  • 光线追踪 Ray Tracing
    • trade off:为了达到某一目标必须牺牲其他的目标
    • 慢,效果好
    • 实时光线追踪
  • 动画与模拟 Animation/Simulation

计算机视觉:视觉包含一切需要猜测的,需要分析理解。
计算机视觉与计算机图形学的区别:
GAMES101-Lecture 01&02

向量与线性代数

向量vector

AB=BA\vec{AB}=B-AA指向B
属性:方向,长度
单位向量(表示方向)长度为一,与原始向量同方向
GAMES101-Lecture 01&02
向量基本操作:

  • 加和:减法和加法互逆
    GAMES101-Lecture 01&02
    GAMES101-Lecture 01&02
    默认写法为A
    GAMES101-Lecture 01&02
    GAMES101-Lecture 01&02
    GAMES101-Lecture 01&02
  • 点乘:结果是数量不是向量。在图形学中可以计算夹角θ。(右边公式两个向量是单位向量)满足交换律、结合律、分配率。
    GAMES101-Lecture 01&02
    GAMES101-Lecture 01&02
    GAMES101-Lecture 01&02
    b\vec{b}投影到a\vec{a}上:投影方向与a\vec{a}一致。
    GAMES101-Lecture 01&02
    GAMES101-Lecture 01&02
    计算投影的好处:
    ①可以将一个向量分解为两个向量,其中一个平行于某方向,另一个垂直某方向。
    ②可以通过点乘计算结果来判断两个向量接近程度。结果*(cosθ值)*从1到-1即表示两个向量从重合慢慢远离到达了方向完全相反。
    应用:金属的高光就是因为观察的向量与反射的出射光向量接近。
    ③可以得出前与后的信息。将向量与参考向量点乘,结果为正代表该向量相同;结果为负代表方向相反;结果为0代表方向一致。
    GAMES101-Lecture 01&02
  • 叉乘:结果为向量,与叉积的两个向量都垂直。
    GAMES101-Lecture 01&02
    GAMES101-Lecture 01&02
    可以用来建立三维空间的直角坐标系*(右手坐标系xy=+z\vec{x}\vec{y}=+\vec{z}左手坐标系xy=z\vec{x}\vec{y}=-\vec{z}
    GAMES101-Lecture 01&02
    向量a\vec{a}可以表示为矩阵AA^*进行运算
    GAMES101-Lecture 01&02
    叉积作用:
    ①判定左和右。
    eg.如何判断b\vec{b}a\vec{a}的左侧
    a\vec{a}逆时针旋转到b\vec{b}还是右侧a\vec{a}顺时针旋转到b\vec{b})*?
    答:a×b\vec{a}\times\vec{b}为正代表b\vec{b}a\vec{a}左侧,为负代表右侧
    GAMES101-Lecture 01&02
    ②判定内和外。
    eg.判断p点是否在三角形ABC内部(逆时针排布)。
    答: AB×AP\vec{AB}\times\vec{AP}结果向外,P在AB\vec{AB}左侧;BC×BP\vec{BC}\times\vec{BP}结果向外,P在BC\vec{BC}左侧;CA×CP\vec{CA}\times\vec{CP}结果向外,P在CA\vec{CA}左侧。证明P在三角形内部;只要P在一个边的右侧,证明P在三角形外部。
    结论:如果点P一直在三角形三个边的左边(逆时针排布),或者一直在三角形三个边的右边(顺时针排布),则点P在三角形内部。否则在外部。结果为0(三角形边上)自己决定在内部在外部
    应用:光栅化要判断三角形覆盖哪些像素,对内部像素进行着色。
    GAMES101-Lecture 01&02

建立坐标系

定义坐标系uvw,u,v,w\vec{u},\vec{v},\vec{w}皆为单位向量且互相垂直(点乘为0)。
GAMES101-Lecture 01&02
上面是p\vec{p}分解到三个坐标轴的公式。

矩阵

矩阵乘积
前提要求:第一个矩阵的列数需要与第二个矩阵的行数一致。
GAMES101-Lecture 01&02
矩阵乘积没有交换率,有结合律和分配律。
GAMES101-Lecture 01&02
矩阵和向量乘积
规定:矩阵在左边(x×mx\times m),向量在右边,向量是一个列数为1的矩阵(m×1m\times1)
eg.将二维坐标系的坐标根据y轴做对称操作
GAMES101-Lecture 01&02
转置:行列互换
GAMES101-Lecture 01&02
⭐乘积转置:
GAMES101-Lecture 01&02
单位矩阵:对角阵。
GAMES101-Lecture 01&02
矩阵的逆:
GAMES101-Lecture 01&02
⭐逆的运算
GAMES101-Lecture 01&02

使用矩阵表示向量的点乘、叉乘

点乘就是一个数(1x1矩阵),叉乘为一个向量(mx1矩阵)
GAMES101-Lecture 01&02
AA^*矩阵可用于旋转的推导。

相关文章: