直线的生成与显示
一、基本概念
1.1 画直线的引入
- 在计算机产生的图形中,用到大量的直线,画好直线是非常有意义的。
1.2 绘制直线的要求
- 线条应该显得笔直:由连续点组成的直线要显示在离散网格的平面上,一定会有不经过网格的点。在这种情况下,必须选择靠近直线的网格点来逼近这条直线。若选择的好,线就显得较直;否则就会较弯曲。
- 直线端点位置应该准确:画出的线段如果不准确,往往会使两条线之间不能很好的镶接,如下图。
- 直线浓度应该均匀:线段的浓度与单位线段中所显示的点数成正比。要保持线段的浓度均匀端点应该等距分布。要取得均匀的线段浓度,应该保持每单位长度的点数是个常数。
- 显示线段的速度应快:生成直线可用软件和硬件来实现,一般情况下,硬件要比软件实现得快。
二、直线的生成算法
- 直线的扫描转换: 确定最佳逼近于该直线的一组像素,并且按扫描线顺序,对这些像素进行写操作。
- 三个常用算法:数值微分法(DDA)、中点画线法、Bresenham算法。