图形学
第三章 二维基本图形光栅化与剪裁
直线段光栅化
数值微分算法(DDA)
Bresenham画线算法
中点画线算法(改进版)
Bresenham画线算法与中点画线算法的关系
1.误差项不同
- Bresenham画线算法误差项:d=dx(s-t)
- 中点画线法误差项:d=2dxF(M)
2.绘制点大部分相同
- 但当中点在线上时Bresenham画线算法取上边,中点画线算法取下边
3.绘制效率相同
区域填充
多边形包含性测试算法
射线法
弧长法
多边形扫描转换算法
X-扫描线算法
活动边表算法
Ymax为纵坐标最大的Y值(最高点的纵坐标) Xmin为纵坐标最小的X值(最低点的横坐标) 1/m为斜率的倒数(1/k)
种子填充算法
反走样
硬件方法:提高分辨率,但实现较为困难,受到成本限制
软件方法:距离加权反走样算法
超采样
高分辨率计算,低分辨率显示(将一个像素点看成多个像素点,提高分辨率)
- 简单超采样
- 重叠超采样
- 基于加权模板的超采样
区域采样
根据图形对象在每个像素点上的覆盖率来确定像素亮度,也被称为前置滤波
裁剪
Cohen-Sutherland算法(编码裁剪算法)

Liang-Barsky算法
Sutherland-Hodgeman多边形裁剪
起点S不输出
第四章 图形几何变换
齐次坐标
二维基本变换
平移变换
旋转变换
缩放变换
反射(对称)变换
错切变换
基准点变换(基于原点)
三维变换
平移变换
比例变换
一般比例变换
全比例变换
轴向比例变换
绕坐标轴旋转变换
注意绕y轴旋转sin值相反
反射(对称)
相对平面对称
相对坐标轴对称
关于原点对称
错切变换
绕任意轴的三维旋转变换
重新认识二维变换
两种理解
1.坐标轴不动,矩阵从右往左读,代码从下往上读
2.坐标轴动,矩阵从左往右读,代码从上往下读
第五章 三维观察
视口变化
、
窗口视区变换
窗口时在世界坐标被定义的,视区是在屏幕坐标被定义的
窗口和图形的变换关系是相反的,视区和图形的变换关系是相同的
1、窗口和视区
【世界坐标系中】要显示的区域称为窗口,窗口定义显示什么。
窗口映射到【显示器(设备)上】的区域称为视区,视区定义在何处显示。
世界坐标系中的一个窗口可以对应于多个视区。
2、观察变换
(1)变焦距效果
当窗口变小时,由于【视区大小不变】,就可以放大图形对象的某一部分,从而观察到在较大的窗口时未显示出的细节。
——>类似于照相机的变焦处理
(2)整体缩放效果
当窗口大小不变而视区大小发生变化时,得到整体放缩效果,这种放缩【不改变】观察对象的内容。
若把一个固定大小的窗口在一幅大图形上移动,视区不变会产生【漫游效果】。
投影
平行投影
正投影
三视图
主视图变换矩阵
俯视图变换矩阵
侧视图变换矩阵
正轴测
斜投影
- 斜等测
- 斜二测
透视投影
- 一点透视
- 二点透视
- 三点透视
第六章 三维造型
Bezier曲线
n次Beizer曲线有n+1个控制点
第七章 真实感图形技术
消隐算法
深度缓冲器算法(Z-Buffer)
画家算法
光照明模型
局部光照模型
环境光
Ie=IaKa
Ia为环境光强,Ka为物体对环境光的反射系数,与环境的明暗度有关
漫反射光
Id=IpKdcos(θ) 0<θ<Π/2
Ip为入射光强,Kd为漫反射系数,θ为向量L和N之间的夹角
Id=IpKd(L·N)
从P指向光源的向量为L,物体表面上点P的法向量为N

镜面反射光
Is=IpKscosn(α), 0<α<Π/2
Is=IpK(R·V)n
Ip为镜面反射光强,Ks为物体表面的镜面反射系数,它与入射光和波长有关,α是视线方向V和反向方向R的夹角,n为反射指数,反映物体表面的广泽程度,一般为1~2000,数值越大,物体表面越光滑。
改进版:Is=IpKs(H·N)n
H为入射光L和视线V的角平分线。