引言:
计算机图形学中首先要解决的问题是基本图形的生成显示,由于整个屏幕是由离散的像素集组成。所以,在屏幕上现实生成图形一般分为两步:
一、确定最佳接近图形的像素集;
二、用指定的颜色或者其他属性写像素。
以下将介绍三种生成单像素宽度的算法,分别是:数值微分法(Digital Differential Analyzer,DDA)、中点画线法和Brensenham算法
数值微分法:
DDA算法的思想,是用数值方法解微分方程,即通过对x和y各增加一个小增量,计算下一步的x、y值。
1.0<k<1的DDA算法
已知线段端点P0(x0,y0),P1(x1,y1) ,直线的斜率k=dy/dx=(y1-y0)/(x1-x0);
从直线的起点P0向终点P1逼近,假设dy>0,dx>0;x从x0开始向x1画线,步长为1个单位(像素&#x