大学时学线代痛苦万分,现在我学的津津有味
概念
走样(Aliasing)
在计算机图形学中,走样是指在将连续的现实世界信号(如曲线、边缘或纹理)转换为离散的数字表示(如像素网格)时,由于采样率不足而产生的失真现象。这是一种采样伪影(artifact),常见于渲染图像、视频或3D模型时。
为什么会发生走样?
- 采样定理(Nyquist-Shannon定理) :如果采样频率低于信号最高频率的两倍,就会丢失高频信息,导致伪影。
- 常见表现:
-
- 锯齿状边缘(Jaggies) :直线或曲线在像素网格上显示为阶梯状。
- 莫尔纹(Moiré patterns) :纹理或图案在缩小或旋转时出现干扰条纹。
- 时间走样:在动画中,快速移动物体可能出现闪烁或跳跃。
- 示例:在低分辨率屏幕上绘制一条斜线,由于像素是方形的,无法精确表示斜线,导致边缘看起来粗糙不平滑。
走样会降低图像的真实感和质量,尤其在游戏、电影渲染或医疗成像中很明显。
反走样(Anti-Aliasing)
反走样是一种技术,用于减少或消除走样带来的伪影,通过在采样和渲染过程中引入额外的计算来平滑图像,使其看起来更接近连续信号。
常见反走样方法:
- 超采样反走样(Supersampling Anti-Aliasing, SSAA) :以高于目标分辨率的倍数渲染图像(如4x或8x),然后下采样到目标分辨率。通过平均多个样本点来平滑边缘。优点:效果最佳;缺点:计算开销大,影响性能。
- 多采样反走样(Multisample Anti-Aliasing, MSAA) :类似于SSAA,但只对边缘像素进行多采样,内部像素保持单一采样。效率更高,常用于游戏引擎(如Unity或Unreal)。
- 快速近似反走样(Fast Approximate Anti-Aliasing, FXAA) :后处理技术,在渲染完成后分析图像边缘并模糊锯齿。计算成本低,但效果不如SSAA精确。
- 时间反走样(Temporal Anti-Aliasing, TAA) :利用前后帧的信息来平滑运动中的走样,常用于实时渲染。
- 其他变体:如SMAA(Subpixel Morphological Anti-Aliasing)、DLAA(Deep Learning Anti-Aliasing,使用AI模型)等,现代GPU(如NVIDIA的DLSS)结合深度学习进一步优化。
应用场景:
- 在图形API如OpenGL、DirectX中,反走样是标准功能。
- 好处:提升视觉质量,提高沉浸感;但需权衡性能,尤其在移动设备或实时应用中。
总之,走样是图形渲染中的常见问题,反走样则是通过各种算法来缓解它,帮助创建更平滑、自然的图像。
问题
1. 向量的转置有什么作用?
- 确保维度匹配:在矩阵乘法或向量运算中,转置可以调整向量的形状,使操作合法。例如,两个列向量的内积可以通过转置实现:,这等价于标量积。
- 计算矩阵相关操作:如在求解线性方程组、计算协方差矩阵、或进行主成分分析(PCA)时,转置常用于构建矩阵。
- 表示转置矩阵的属性:对于矩阵,转置用于定义对称矩阵或正交矩阵向量转置是其基础。
- 在机器学习和数据处理中:转置有助于数据重塑,例如在 NumPy 或 MATLAB 中处理数组维度。
知识点
点乘在图形学上的应用
- 求夹角
- 求一个向量在另一个向量上的投影
- 判断两个向量距离有多近,cos值为负数还是正数,大小
叉积在图形学上的应用
- a x b,叉积为正,a在b的右侧
- 判断一个点是否在三角形内侧
行列式的引进
是从解二元一次方程引进的,约定俗成的规矩。
- 对于, ;
- 代数余子式,确定正负号是代数i+j是偶数为正,i+j为奇数为负,余子式是排除i行j列的新的行列式
特殊行列式
- 对角行列式的值,
行列式的性质
- 转置行列式是按对角线翻转的,不是旋转的
- 交换两行,符号变负号->行列式有两行完全相同,行列式的值是0
- k乘行列式某一行,等于k乘此行列式->某一行所有元素的公因子可以提到行列式符号的外面
- 行列式某一行元素加上另一行对应元素的k倍,行列式的值不变
- 若行列式某一行的元素是两数之和,则行列式可拆成两个行列式的和