计算机图形学--基本光栅图形生成算法
发布时间:2024-11-21
发布时间:2024-11-21
计算机图形学--基本光栅图形生成算法
第4章基本光栅图形生成算法
计算机图形学--基本光栅图形生成算法
主要内容 光栅图形生成算法是计算机图形学的基础,本章主要包括 直线和圆弧的生成算法、多边形的填充以及其他相关的图形 基本元素的生成算法。 直线和圆弧等是图形的基本元素,生成基本元素算法的效 率对图形系统的效率有直接关系。虽然很多智能绘图机和图 形显示器都有自己生成直线和圆弧的功能,但也有很多情况 下要自己编写一些设备的驱动程序,在图形软件包中用软件 生成直线和圆弧有时也是十分必要的。 多边形的填充算法是面显示的基础,其思想可用于解决计 算机图形学中的消隐、真实感显示等许多问题,本章主要讨 论此类图元的绘制问题。
计算机图形学--基本光栅图形生成算法
主要章节4.14.2 4.3 4.4 4.5 直线生成算法 圆弧生成算法 多边形的填充 区域填充 光栅图形的反走样算法
计算机图形学--基本光栅图形生成算法
4.1 直线生成算法
计算机图形学--基本光栅图形生成算法
几点重要的预备知识 图形的扫描转换或光栅化确定一个像素集合及其颜色,用于显示一个
图形的过程
图形扫描转换的一般步骤1 确定有关像素2 用图形的颜色或其它属性,对像素进行某种 写操作
计算机图形学--基本光栅图形生成算法
直线的扫描转换或光栅化严格定义上的直线是没有宽度的,我们在光栅显示 器上确定最佳逼近于直线的一组像素,并且按照扫 描线顺序,用当前写方式对这些像素进行写操作, 就是直线的光栅化,或叫用显示器绘制直线。
计算机图形学--基本光栅图形生成算法
设计和讨论直线生成算法应注意的要求首先要使所生成的直线具有:① 起码所画直线外观笔直,具有精确的起点和终点
② 显示的亮度沿直线应该保持不变,且与直线的长度和方向无关 ③ 直线生成速度要快
还要满足:④ 端点次序(与次序无关) ⑤ 端点形状(连接时的完美吻合)
计算机图形学--基本光栅图形生成算法
坐标系的建立
y
x
计算机图形学--基本光栅图形生成算法
计算机图形显示设备有多种类型,如随机扫描图形
显示器、光栅扫描图形显示器、绘图仪、打印机等, 且它们的工作原理不尽相同, 但是计算机把其保存的图形数据转换为显示输出设
备上的图形的转换原理却是类似的。 基本方法是:由计算机产生X、y两个正交方向的
“步进”控制信号,以控制显示设备的电子束、绘图 笔、打印头的偏转或移动,并在图形显示设备的设备 坐标系(整数平面直角坐标系)上画点或画线, 即用这种逐点逐线描绘逼近的方法,达到在显示设
备上显示图形的目的。
计算机图形学--基本光栅图形生成算法
直线方程 根据直线的几何特征可确定直线路径的象素位置截距方程 y mx bm y end y 0 x end x 0
端点 ( x0 , y 0 ) ( xend , y end )
b y 0 mx0对任何沿直线给定的x的增量 x ,由上式可得y增量 y
y m x y 的x的增量 x y 同理,对于指定的
m
计算机图形学--基本光栅图形生成算法
在光栅系
统中,通过象素绘制直线,水平和 垂直方向的步长受到象素的间距的限制,必须在 离散位置上对直线取样,在每个取样位置上确定 距直线最近的象素。
图 5-1用一系列的像素点来逼近直线近 直 线 用一系列的象素点来逼
计算机图形学--基本光栅图形生成算法
生成直线(段)的方法 DDA算法 正负算法
Bresenham算法 改进后的Bresenham算法
计算机图形学--基本光栅图形生成算法
约定:像素由其左下角坐标点表示
计算机图形学--基本光栅图形生成算法
4.1.1 生成直线的DDA算法
计算机图形学--基本光栅图形生成算法
图中圆黑点表示用DDA法生成的直线
计算机图形学--基本光栅图形生成算法
P2
P1
一个坐标轴上以单位间隔取样,从而确定另 一个坐标轴上最靠近线路径的对应整数值。