2022-05-22--计算机图形学学习笔记

152 阅读4分钟

lecture 01:overview

计算机图形学≠计算机视觉,视觉需要猜测,图形学需要模拟 image.png

image.png

lecture 02:线代基础

点乘:得到的结果是一个数,表示a在b上的投影长度 image.png

image.png

应用

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

叉乘 cross product

  • 结果是一个向量,垂直于两个向量

image.png

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

image.png

如图,a×b叉乘结果是正的,说明b在a的左边 p点在每条边的左边(或者右边)

  • 正交坐标系orthonormal coordinate frames image.png ##lecture 03:变换-1 切片变换 image.png

旋转变换 image.png

image.png

齐次坐标 image.png 先线性变换再平移

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

image.png

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

image.png

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

image.png

lecture 04:变换-2

旋转矩阵是正交矩阵 image.png

课程内容: image.png

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

image.png

image.png

视图变换 View transformation image.png

image.png

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

image.png

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

投影变换

正交投影 image.png 数学的矩阵表示 立方体t代表top,b是bottom,lr是左和右,nf分别是near和far

image.png

透视投影 image.png

image.png image.png

其中挤压矩阵的推导在视频的最后一部分,这里没贴出来。

Lecture 5:光栅化 Rasterization

引入:经过上一节课的MVP,把物体放在了一个1x1x1的正方体里,之后该做什么呢?——>画在屏幕上

image.png

一些定义

image.png

image.png

image.png

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

image.png

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

image.png

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

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

最终得到:

![image.png](upload-images.jianshu.io/upload_imag… orient/strip%7CimageView2/2/w/1240)

Lecture 6:反走样(反锯齿)与深度缓冲

采样会出现瑕疵 image.png image.png

image.png

发生的根本原因:采样速率跟不上物体的运动速率

解决方法:模糊滤波 image.png

先模糊,再采样,填充像素颜色填充的是模糊后的颜色(有深有浅) 实际效果: image.png 但是如果先采样后模糊就不行 image.png

为什么呢? image.png

image.png

滤波:去掉某个频率段

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

image.png

image.png

image.png

image.png 卷积定理

怎么进行模糊操作?

原理: image.png

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

image.png

##解决的办法——反走样的策略 image.png

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

image.png

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

image.png

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

image.png

image.png 这种在每个像素内增加采样点的方法叫做MSAA(Multi-Sample Anti-Aliasing) *知乎 对于MSAA的解释

为了使用MSAA,增大了计算量 image.png

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