GAMES101现代计算机图形学入门-第一节-图形学导论

  • Post author:
  • Post category:其他



最近在为之后找工作面试做准备,所以把大二学习的计算机图形学又拿出来重新学起来了,也推荐大家一起看闫大神的课!!!



然后笔记是在

lengyueling大佬的版本

上进行的修改,总体还是大佬的模板。



希望大家一起在图形学的路上越走越远!


GAMES101-现代计算机图形学入门-闫令琪




图形学应用场景

  • 电子游戏:

  • PBR:之狼

  • 卡通渲染:无主之地

  • 电影:黑客帝国

  • 动画:疯狂动物城、冰雪奇缘

  • 设计:概念图

  • 可视化:虚拟现实

  • 数码插画:模拟仿真

  • GUI图形用户接口

  • 字体设计:矢量图


全局光照做的好不好影响游戏美术品质,同时体现在场景的亮度




图形学的技术挑战

光栅化(rasterization):

将三维空间中的几何形体显示在屏幕上

实时:30fps 否则被称为离线

曲线和网格(Curves and Meshes) :各种细分方法

光线追踪(ray tracing):动画电影广泛使用,但是速度较慢**(重点)**

目前使用游戏使用的是实时光线追踪

仿真和模拟(animation/simutatoin)

OpenGL、dx是图形学API不是图形学




计算机图形学与计算机视觉

  • 图形学不是计算机视觉。
  • 计算机视觉:猜测、预测、分析处理
  • 计算机视觉是理解这个世界(图像识别),计算机图形学是创造这个世界(CG)




线性代数复习

图形学默认使用列向量,课程默认为右手系(DirectX为左手系)




点乘在图形学的应用

AB=|A||B|cosθ

  • 点乘主要应用于求两个单位向量的夹角,
  • 判定前后:A·B>0,代表B与A的夹角小于90度(同向),<0则大于90度小于180度(反向)
  • 观察两个向量之间是同向、垂直还是反向,可以观察两个向量的接近,若两个向量的点乘接近1则离得很近,若接近0则离得很远
  • 利用投影可将一个向量分解成两个(多个)向量和




叉乘在图形学的应用

  • AxB=-BxA
  • 叉乘的数值上=|A||B|sinθ
  • 判定左右(内外)
  • 若AxB为正则点A在点B在A左侧,若点P在点A、B、C内,则ABxAP,BCxBP,CAxCP结果相同则P在ABC内(判断点在三角形内部,后文会提及)
  • 若任意一个结果不同则P在ABC外
  • 定义坐标系
  • 要求:单位向量、互相垂直(点乘为0且叉乘结果为另外一轴)
  • 可以获得任意一个向量分解为多个投影




矩阵知识点

  • (MxN)(NxP)=(MxP),M行N列的矩阵与N行P列的矩阵相乘会得到M行P列的矩阵
  • 矩阵

    没有

    交换律,只有结合律
  • 转置:(AB)T=BT AT,AB的转置等于B的转置乘A的转置
  • 单位矩阵I(对角阵I):可以算出矩阵A-1(A逆),可以用于返回变换前的结果。(知识点:矩阵乘矩阵的逆矩阵等于单位矩阵
  • 向量的点乘、叉乘都可以转换为矩阵相乘
  • 点乘:A·B=ATB
  • 叉乘:AxB=A*B

A*是对偶矩阵




概率论复习(用于路径追踪)

X:随机变量

pi一定是非负的,所有pi相加等于1

EX:数学期望

X~P(X):概率密度函数,概率的连续分布情况




变换




2D 变换




缩放

  • X’=Sx
  • Y=Sy




X轴翻转

  • X’=-X
  • Y’=Y


R-θ=RθT




齐次坐标

为了解决平移产生必须要用加法的问题,加入齐次坐标。

  • 矩阵没有交换律:同时需要平移和线性变换的时候,需要先线性变换再平移
  • 仿射变换=线性变换+平移


仿射变换

,又称

仿射映射

,是指在

几何

中,一个

向量空间

进行一次

线性变换

并接上一个

平移

,变换为另一个向量空间。

仿射变换是在几何上定义为两个

向量空间

之间的一个仿射变换或者仿射

映射

(来自拉丁语,affine,“和…相关”)由一个非奇异的线性变换(运用一次函数进行的变换)接上一个平移变换组成。




3D 变换




齐次坐标

3D点:(x,y,z,1)T

3D向量:(x,y,z,0)T




旋转向量与欧拉角

RXYZ(α,β,γ)=RX(α)Ry(β)Rz(γ)




利用右手螺旋定则

在三维坐标系中:

XxY=Z XxZ=-Y YxZ=X

因此RY(α)中为X或Y的转置

同时,去掉分别代表XYZ运算的行列即可变换为最基本的旋转式




罗德里格旋转公式

这是一种可以表示任意旋转后的向量

四元数解决了两个旋转角度中插值的问题,本课中不具体讲解



版权声明:本文为The_Dan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。