计算机辅助设计与绘图技术(AutoCAD 2014教程)(第三版)
上QQ阅读APP看书,第一时间看更新

1.5 反走样技术

在光栅扫描显示器上显示二维图形时,弧线、非水平或非垂直的直线,都不同程度地呈现锯齿形。原因是它们由一组相同亮度的离散像素组成。在光栅图形中用离散量来显示连续量所带来的这种失真现象,称为走样(Aliasing)。用于消除或减轻这种失真的技术,称为反走样技术(Antialiasing)。

反走样技术有两种,一是提高显示器的分辨率;二是使用不同的灰度来显示边缘的像素。其中后者又分为不加权的区域取样和加权的区域取样。

1.5.1 提高显示器分辨率

假设像素以边长为1的正方形表示,其真实坐标是正方形的中心。现假定把显示器的水平、垂直方向的分辨率都提高一倍,如图1-6所示,则同样长度的直线穿过的扫描线条数增加一倍,直线上的阶梯个数也增加一倍,每个阶梯的宽度减小一倍。这样一来,直线的平滑程度增加了,反走样取得了效果。

图1-6 分辨率提高,平滑度增加

1.5.2 不加权区域取样

实际的像素不是一个点,有一定的面积,直线的宽度也不为0,至少有一个像素宽。这是造成等亮度的图形走样的根本原因。因此,必须对等亮度的直线模型进行改进。不加权区域取样反走样的步骤如下:

(1)将直线看成具有一定宽度的狭长的矩形。

(2)当直线与像素相交时,求出相交区域的面积。

(3)根据此面积确定该像素的亮度。

如图1-7中的长方形表示要画的一条黑色直线,背景为白色。用等亮度扫描转换法绘制时,屏幕上的像素非黑即白,明显有锯齿形状。若采用不加权区域取样绘制,如果某一像素的正方形区域全部落在该直线上,则其颜色取为黑色;如果一个像素的正方形区域与该直线条部分相交,可根据相交部分的面积大小取不同的灰度。相交面积大的,像素灰度大,相交面积小的,像素灰度小。用此法绘制的边界比较模糊,但边界平滑些了,如图1-8所示。这种使显示灰度正比于覆盖区域面积的反走样技术,称为不加权区域取样。

图1-7 宽度一定的直线段

图1-8 像素灰度与相交区域的面积成比例

正方形像素与直线部分相覆盖有3种情况,如图1-9所示。若覆盖区域为三角形[见图1-9(a)],其面积为0.5mD2;若覆盖区域为梯形[见图1-9(b)],其面积为(D+D-m)·0.5=D-0.5m;若覆盖区域为图1-9(c)所示的情形,则其面积为正方形面积与两个三角形面积之差。当然,若正方形像素全被覆盖,其面积为1。式中m为直线的斜率。

图1-9 计算覆盖的面积

上述所得的面积都介于0和1之间。将它乘以最大灰度值并取整,即为该像素显示的灰度值。

用不同灰度值显示出的直线或曲线,其反走样效果好于提高分辨率法。但采用这种方法,覆盖面积与理想直线的差距不管有多大,取得的灰度值都相同。另外,在理想直线方向上相邻的两个像素,有时会有较大的灰度差。因此,仍然会有较明显的锯齿显现。

1.5.3 加权区域取样

采用这种方法时,接近理想直线的像素将被赋予较大的灰度值,使灰度值和覆盖面积、理想直线间的距离有关,从而有效地改善了锯齿走样现象。