usuiforhe il y a 3 ans
Parent
commit
40613f2555

BIN
图形学/Image/22.png


BIN
图形学/Image/23.png


BIN
图形学/Image/24.png


BIN
图形学/Image/25.png


BIN
图形学/Image/26.png


BIN
图形学/Image/27.png


BIN
图形学/Image/28.png


BIN
图形学/Image/29.png


BIN
图形学/Image/30.png


BIN
图形学/Image/31.png


BIN
图形学/Image/32.png


BIN
图形学/Image/33.png


BIN
图形学/Image/34.png


BIN
图形学/Image/35.png


BIN
图形学/Image/36.png


BIN
图形学/Image/37.png


BIN
图形学/Image/38.png


+ 193 - 1
图形学/图形学.md

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2021-10-01 11:33:27
- * @LastEditTime: 2022-02-20 21:15:21
+ * @LastEditTime: 2022-02-22 01:02:44
  * @LastEditors: Please set LastEditors
  * @Description: In User Settings Edit
  * @FilePath: D:\MarkdownLog\图形学.md
@@ -910,6 +910,198 @@ for(int x = 0; x < width; ++x){
 
 判断像素是否在三角形中不用判断(0, 0)到(width, height)中所有的像素,只需要判断三角形三个点中最高、最低、最左、最右所围城的矩阵即可,这个矩阵被称为**包围盒**
 
+## 走样与反走样
+
+![](./Image/22.png)
+
+**锯齿**、**走样**、**Aliasing**
+
+**Artifacts**表示一切在计算机图形学中的错误(Error)、瑕疵(Mistakes)
+
+锯齿属于一种`Artifact`,**摩尔纹**也是一种`Artifact`,车轮效应也是`Artifact`
+
+> 车轮效应就是车轮是顺时针旋转的,但是你看车轮确实逆时针旋转,就是人眼的采样跟不上车轮的旋转导致的
+
+在采样之前做**模糊**、**滤波**处理
+
+![](./Image/23.png)
+
+**傅里叶级数展开**:任何周期性函数都写成一系列正弦和余弦以及一个常数项的总和
+
+![](./Image/24.png)
+
+$$
+f(x) = \frac{A}{2} + \frac{2A\cos(tw)}{\pi} - \frac{2A\cos(3tw)}{3\pi} + \frac{2A\cos(5tw)}{5\pi} - \frac{2A\cos(7tw)}{7\pi} + ...
+$$
+
+如上图所示,将很多个不同频率的正弦余弦叠加在一起,拼出一个与目标近似的周期函数,此时运用极限的思想,可以推理出无限个正弦余弦叠加就能拼出目标函数
+
+**傅里叶变换**:给定任意函数可以通过一系列变换变成另一个函数,还可以把变换后的函数通过逆变换再变回去
+
+- 傅里叶变换: $F(w) = \int_{-\infty}^{\infty}f(x)e^{-2\pi iwx}dx$
+- 逆傅里叶变换:$f(x) = \int_{-\infty}^{\infty}F(w)e^{2\pi iwx}dw$
+
+![](./Image/25.png)
+
+这里给出不同的五种函数从$f_1(x) \Rightarrow f_5(x)$,从上到下频率逐渐增加,我们发现按照虚线对函数进行采样,采样得到的点(途中黑色的点)连起来逐渐不能恢复曲线原来的磨样(黑点之间的链接虚线与原曲线的差距越来越大)
+
+通过上图我们可以发现,当采样的频率跟不上曲线变换的频率的时候,就无法还原出原始信号
+
+![](./Image/26.png)
+
+> 竖线为采样线,白点为采集到的点,蓝色和黑色线表示两种函数
+
+同样的采样方法,采样两种不同的频率的函数,我们无法区分,我们称之为**走样**
+
+**滤波**:删除某些特定频率。那么对应的信号应该如何变换
+
+傅里叶变换可以把图片从时域信号变为频域信号
+
+![](./Image/27.png)
+
+> 图左为时域信号,图右为频域信号
+
+频域空间图:中心定义为最低频的区域,周围定义成高频区域,不同的频域的地方有多少信息通过亮度来表示
+
+根据上述图片来理解就是:亮点主要集中在中心,说明原图片低频信息多,高频信息少(不是没有)
+
+![](./Image/28.png)
+
+同一张图,如果将**频域空间**中间的低频信号删除(白色改成黑色),再逆傅里叶变换回去,可以发现图像的边界特别明显
+
+> 上述操作就是 **高通滤波**(把低频的删除,只留下高频)
+
+边界,可以理解成上下或左右差距很大的地方。那么差距大就可以理解为变化频率高,即**高频信息**,那么通过**高频滤波**,自然而然就只剩下差距大的地方的了
+
+![](./Image/29.png)
+
+同一张图,如果将**频域空间**的所有高频信息都删除(除中心点附近特定半径内,都设为黑色),再傅里叶变换会u去,可以得到一张很模糊的图片
+
+> 上述操作就是**低通滤波**(低频率通过 高频率去掉)
+
+![](./Image/29.png)
+
+> 特定内容在,**数字图像**处理中学习
+
+### 滤波
+
+**滤波** = 去掉特定频率的信息 = **平均** = **卷积**
+
+**Filtering** = **Convolution** = **Averaging**
+
+![](./Image/31.png)
+
+> 简单卷积的理解  
+> Filter:滤波器、Siganl:信号
+
+在移动Filter窗口的过程中,将Signal的三个数和Filter的三个数做一个点乘,再将计算结果写回窗口的中心值(说白了就是一种**加权平均**)
+
+也就是说,**卷积**作用在一个信号上,用某种**滤波器**对**信号**进行**卷积**操作,并且得到一个结果
+
+> 并**不是真实数学上的定义**,仅仅是图形学上的简化定义
+
+- 卷积的定理
+  - 时域上如果对两个信号进行卷积,对应两个信号各自的频域上,两个信号频域的乘积
+  - 时域上如果是乘积,那么频域上就是卷积
+  
+> 可以拿到一个图,用某种滤波器去做卷积操作  
+> 也可以得到图片的傅里叶变换的频域,再把卷积的滤波器变换到频域上,再把两者相乘,得到的频域的结果,最后将结果逆傅里叶变化到时域上
+
+![](./Image/32.png)
+
+> 均值滤波
+
+- 上面图片可以分上下两块理解
+  - 对图片的每个像素都等于自己和周围8个像素的平均值(对时域图做卷积操作)
+  - 对傅里叶变化的频域与滤波器的频域相乘(对频域图的乘法操作)
+
+可以发现上述两种操作,得到的结果是相同的
+
+### 采样
+
+**Sampling** = **Repeating Frequency Contents**
+
+**采样**就是重复频域上的内容
+
+![](./Image/33.png)
+
+- 图(a) : $X_a(t)$为原函数图像
+- 图(c) : $P_\delta(t)$为冲击函数
+- 图(e) : $S(t)$为原函数与冲击函数乘积的结果,就是$X_a(t)$函数上离散的点
+- 图(b) : $X_a(t)$函数傅里叶变换之后的函数
+- 图(d) : $P_\delta(t)$冲击函数傅里叶变换之后的新的冲击函数
+- 图(f) : 图(b)与图(d)的卷积的结果
+
+图(c)的冲击函数,就是只有在竖线上才有值,也就是说图(a)与图(c)的乘积就是在图(a)上周期行的取一些点,就跟之前的取样一样的
+
+**采样**:在频率上的理解就是**重复**一个原始信号的平铺
+
+![](./Image/34.png)
+
+上图中,上面是合理的采样周期,原始信号的平铺是井然有序、严丝合缝的;当采样率不足或采样不够快,就会导致原始信号的间距越小  
+
+那么,我们可以称在频域中,频域的平铺在搬移的情况下发生了混合(混叠),就是产生**走样**的原因
+
+> 时域中采样越稀疏,在会让频域中的原始数据越密集
+
+### 反走样
+
+#### 增加采样率(减少频域上平铺的混合),增加屏幕分别率
+
+对于同一台设备,不具有实用性,并不能要求使用者更换显示器
+
+#### 先做模糊,再做采样
+
+通过**低通滤波**,去掉高频信息,再采样
+
+![](./Image/36.png)
+
+通过去掉高频信号,让原本混叠的部分,不再混叠,从而减少了走样
+
+如何模糊:使用一定大小的低通滤波器对每个像素的覆盖面积做一个卷积
+
+多重采样抗锯齿
+
+Original是每个像素可能出现的情况,被覆盖小部分、被覆盖一半、被覆盖大部分、被完全覆盖
+
+Fileterd是每个像素通过低通滤波器卷积后的结果
+
+-------
+
+那么如何计算三角形在每个像素中占的比例多少呢? 不容易、计算量大
+
+#### Antialiasing By Supersampling(MSAA)多重采样抗锯齿
+
+这是近似算法,严格意义上不能解决走样问题
+
+![](./Image/37.png)
+
+将一个像素,分成若干个小的像素(图中是将一个像素分成4*4,黑色的点表示各个小像素的中心点),然后再判断各个小像素的中心点是否在三角形中,再把判断结果平均一下,就能得到当前像素百分之多少在三角形中的**近似值**
+
+![](./Image/38.png)
+
+MSAA解决的对信号的模糊操作,只不过MSAA最后的出来的值也可以用作**采样**
+
+- 为了使用MSAA: 增加了计算量(每个像素内又多算了很多次):工业上会通过更加有效的图案来分布不同的点,而不是这里的均匀分布;也有计算结果复用
+
+#### FXAA(Fast Approximate AA)
+
+快速近似抗锯齿
+
+#### TAA(Temporal AA)
+
+通过上一帧的信息,感知到的信息,来推测
+
+### Super Resolution / super sampling
+
+超分辨率/超采样
+
+将512\*512的图片拉伸成1024\*1024的图片时,会出现非常明显的锯齿  
+
+解决方法就是DLSS(Deep Learning Super Sampling),就是通过深度学习去猜测缺失部分的信息内容,并且补足
+
+## 深度缓冲
+
 
 
 # 几何