在数学上,直线上的点有无穷多个。担当在计算机光栅显示器屏幕上表示这条直线时需要做一些处理。
为了在光栅显示器上用这些离散的像素点逼近这条直线,需要知道这些像素点的x,y坐标。
求出过p0,p1的直线段方程:y=kx+b; k=(y1-y0)/(x1-x0)(x1 ≠ x0)
假设x已知,即从x的起点x0开始,沿x方向前进一个像素(步长=1),可以计算出相应的y值。因为像素的坐标时整数,所以y值还要进行取整处理
如:p(1.7,0.8)取整为p(1,0)而1.7和0.8分别离2和1较近,所以可以先将坐标+0.5再取整
直线时最基本的图形,一个动画或真实感图形往往需要调用成千上万次画线程序,因此直线算法的好坏将直接影响图形的质量和显示速度。
数值微分法DDA(Digital DIfferential Analyer):
引进图形学中一个很重要的思想——增量思想