2025年9月23日
# 知识
# 计算机图形学
# 光栅化(Rasterization)
光栅化的两个步骤:Rasterization and scan conversion(扫描转换)
我们只能在屏幕上画基于分辨率的整数点
# 直线段扫描转换
- 使用方程计算
y = mx + b
x1 + 1 -> y
x2 + 1 -> y
1
2
3
2
3
优化:(Digital Differential Analyzer, DDA)
- 采用增量算法(Incremental algorithm),利用前一步计算结果
- Incrementing X-coordinate by 1
公式待插入
- Illuminate the pixel
# Bresenham Line Drawing
if
令
这里的
,要花那个点单纯由(d_1 - d_2)的符号决定,因此乘上一个正数 为 起 始 点 与 终 止 点 间 的 横 纵 轴 距 离 并不影响
if
明显的递推形式则可通过增量计算
- if
, then - else
三维的bresenham算法是类似的,以增长最快的方向为步进方向,另两个方向控制绘制点的位置.
- 浮点运算转整数运算,加速运算.
直线是表述模型边界的强大元素,如下:
# 计算算法优化思想
# 增量算法(Incremental algorithm)
对应 数值迭代
利用前一步计算结果
注意点:
- 误差会累加
- 可接受的误差:导数乘以偏差小于一个像素点的大小 | 即不产生大的误差
# 技术
# 技术美术
# 运动模糊
定义:场景中发生运动的物体在场景拍摄曝光时所产生的模糊效果
原理: 在曝光过程中,场景中的物体发生了相对于相机观测系下的运动,导致进入光线发生变换,最终表现为拍摄物体的模糊
人眼也有类似的视觉暂留现象,因此人眼实际上是习惯于场景中的运动模糊的,缺乏运动模糊的画面,反而会丧失真实感.
运动模糊的分类:
- 线性:在使用追焦手法拍摄的照片中尤其明显.
- 旋转:
- 缩放:常用于表现隧道飙车、俯冲、时空跃迁。
实现动态模糊的三种方法:
- 累计缓存
- 速度缓存
- 顶点偏移
# 参考资料
编辑 (opens new window)