lecture 01:overview
计算机图形学≠计算机视觉,视觉需要猜测,图形学需要模拟


lecture 02:线代基础
点乘:得到的结果是一个数,表示a在b上的投影长度


应用:
- 判断两个向量的方向
向量的点积与它们夹角的余弦成正比,因此在聚光灯的效果计算中,可以根据点积来得到光照效果,如果点积越大,说明夹角越小,则物体离光照的轴线越近,光照越强。 - 在cesium中的应用:
用一个平面裁剪一个物体时,在顶点着色器中
1.计算平面法向量,并归一化,与平面的交点设为O,归一化后法向量即为OA
2.取物体上一点B,计算向量OB,并归一化,归一化后向量即为OB
3,计算向量OA点乘OB,即为夹角余弦值,若余弦值大于0,即夹角小于90度,直接discard,否则保留,这样就将要裁剪的物体顶点全部discard
叉乘 cross product
- 结果是一个向量,垂直于两个向量

- 右手定则判断结果,如a×b,则右手转的方向为a到b,大拇指向上
- 作用:判断左右,判断内外

如图,a×b叉乘结果是正的,说明b在a的左边
p点在每条边的左边(或者右边)
-
正交坐标系orthonormal coordinate frames
image.png
lecture 03:变换-1
切片变换

旋转变换


齐次坐标

先线性变换再平移
引入目的:为了把平移变换(仿射变换)也能用两个矩阵相乘来表示

其他变换在齐次坐标下的表示:


3D情况下也是一样的原理:


lecture 04:变换-2
旋转矩阵是正交矩阵

课程内容:

三维空间中的旋转:(下面两个都没看懂)


视图变换 View transformation


怎么做?:把etg坐标轴移动到xyz坐标轴,物体也跟着移动

数学表达式:(最后棕色的那个原理是旋转矩阵是正交矩阵)

投影变换
正交投影

数学的矩阵表示
立方体t代表top,b是bottom,lr是左和右,nf分别是near和far

透视投影



其中挤压矩阵的推导在视频的最后一部分,这里没贴出来。
Lecture 5:光栅化 Rasterization
引入:经过上一节课的MVP,把物体放在了一个1x1x1的正方体里,之后该做什么呢?——>画在屏幕上

一些定义




接下来的问题就变成了:如何用像素表示三角形?
采样
考察像素块中心点与三角形的关系


使用的一个非常简单的函数判断,点(x,y)在三角形t里面就是1,否则为0

如何判断点Q在三角形p1p2p3里面呢?

用p2p1叉乘p1Q,根据右手定则,朝上,说明Q在p1p2左边,同理,按方向顺序判断其他三条边,若Q都在三条边的左边或右边,说明Q在三角形里面
最终得到:

Lecture 6:反走样(反锯齿)与深度缓冲
采样会出现瑕疵



发生的根本原因:采样速率跟不上物体的运动速率
解决方法:模糊滤波

先模糊,再采样,填充像素颜色填充的是模糊后的颜色(有深有浅)
实际效果:

但是如果先采样后模糊就不行

为什么呢?


滤波:去掉某个频率段
有关图像频率:
图像的频率被称为空间频率,空间频率是指单位长度内亮度做周期性变化的次数,它反映了图像的像素灰度在空间中的变化情况,从傅里叶频谱上可以看到明暗不一的亮点,反映的就是某点与邻域间的差异程度。 举个例子,一帧图像的背景或者变化缓慢的区域,也就是灰度值分布比较平坦,那么,低频分量就比较强。图像的边缘、细节以及噪声的像素灰度在空间的变化非常剧烈。因此为高频分量。




卷积定理
怎么进行模糊操作?
原理:

用这个卷积核平均了每个像素周围的像素点,达到了模糊的效果

解决的办法——反走样的策略

反走样的原理:(没听懂)

平均像素值来进行反走样
平均像素中被图形覆盖的面积:

具体做法:把每个像素再分成小的像素



这种在每个像素内增加采样点的方法叫做MSAA(Multi-Sample Anti-Aliasing)
*知乎 对于MSAA的解释
为了使用MSAA,增大了计算量

mxaa的原理是基于后处理,对于图像生成后频率比较高的,也就是变化比较大的部分取周边的像素值混合
TAA与时间有关,也就是记住上一帧的图像,与当前一帧的图像对比,做一些运算
网友评论