- 7
- 0
- 约5.33千字
- 约 16页
- 2017-09-20 发布于河北
- 举报
2.1直线扫描转换DDA算法.pdf
计算机图形学
第二章:光栅图形学算法
随着光栅显示器的出现,为了在计算机上处理、显
示图形,需要发展一套与之相适应的算法:
光栅图形学算法
光栅图形算法多数属于计算机图形的底层算法,很多
图形学的基本概念和思想都在这一章
光栅图形学算法的研究内容
直线段的扫描转换算法
多边形的扫描转换与区域填充算法
裁剪算法
反走样算法
消隐算法
一、直线段的扫描转换算法
在数学上,直线上的点有无穷多个。但当在计算机
光栅显示器屏幕上表示这条直线时需要做一些处理。
P
1
P
0
P (x ,y )
1 1 1
为了在光栅显示器上用这些
离散的像素点逼近这条直
线,需要知道这些像素点的
x,y坐标。
P (x ,y )
求出过P ,P 的直线段方程: 0 0 0
0 1
y kx b
y ( y 1 0 )
k ( x1 )x0
x ( x 1 0 )
y ( y 1 0 )
y kx b k ( x1 )x0
x ( x 1 0 )
假设x已知,即从x的起点x 开始 P (x ,y )
0 1 1 1
,沿x方向前进一个像素(步长
= 1),可以计算出相应的y值。
P (x ,y )
0 0 0
因为像素的坐标是整数,所以y值
还要进行取整处理
如何把数学上的一个点扫描转换一个屏幕像素点?
取整
如:p (1.7,0.8) p (1,0)
p (1.7,0.8) +0.5 p (2.2,1.3)
取整
p (2.2,1.3) p (2,1)
y kx b
直线是最基本的图形,一个动画或真实感图形往往
需要调用成千上万次画线程序,因此直线算法的好
坏与效率将直接影响图形的质量和显示速度。
回顾一下刚才的算法:
y kx b
为了提高效率,把计算量减下来,关键问题
就是如何把乘法取消?
二、直线绘制的三个著
原创力文档

文档评论(0)