计算机图形学字符讲解ppt课件.ppt
2.4 字符,字符指数字、字母、汉字等符号。计算机中字符由一个数字编码唯一标识。国际上最流行的字符集:“美国信息交换用标准代码集”,简称ASCII码。它是用7位二进制数进行编码表示128个字符;包括字母、标点、运算符以及一些特殊符号。,清华大学 计算机图形学,汉字编码的国家标准字符集:GB231280。该字符集分为94个区,94个位,每个符号由一个区码和一个位码共同标识。区码和位码各用一个字节表示。为了能够区分ASCII码与汉字编码,采用字节的最高位来标识:最高位为0表示ASCII码;最高位为1表示表示汉字编码。,清华大学 计算机图形学,字库:为了在显示器等输出设备上输出字符,系统中必须装备有相应的字库。字库中存储了每个字符的形状信息,字库分为矢量型和点阵型两种。,清华大学 计算机图形学,点阵字符:每个字符由一个位图表示,该位为1表示字符的笔画经过此位,对应于此位的象素应置为字符颜色。该位为0表示字符的笔画不经过此位,对应于此位的象素应置为背景颜色。,清华大学 计算机图形学,点阵字符 点阵字库中的位图表示,清华大学 计算机图形学,在实际应用中,有多种字体(如宋体、楷体等),每种字体又有多种大小型号,因此字库的存储空间是很庞大的。解决这个问题一般采用压缩技术。点阵字符的显示分为两步。首先从字库中将它的位图检索出来。然后将检索到的位图写到帧缓冲器中。,清华大学 计算机图形学,矢量字符:记录字符的笔画信息,而不是整个位图,具有存储空间小,美观、变换方便等优点。对于字符的旋转、缩放等变换,点阵字符的变换需要对表示字符位图中的每一象素进行;矢量字符的变换只要对其笔画端点进行变换就可以了。矢量字符的显示也分为两步。,清华大学 计算机图形学,显示:首先从字库中将它的字符信息。然后取出端点坐标,对其进行适当的几何变换,再根据各端点的标志显示出字符。点阵字符 点阵字库中的位图表示 矢量轮廓字符,清华大学 计算机图形学,特点:点阵字符:存储量大,易于显示矢量字符:存储量小,美观,变换方便;但需要光栅化后才能显示。,清华大学 计算机图形学,字符属性,字体 宋体 仿宋体 楷体 黑体 隶书字高 宋体 宋体 宋体 宋体字宽字倾斜角倾斜 倾斜对齐(左对齐、中心对齐、右对齐)字色 红色、绿色、蓝色,清华大学 计算机图形学,字符也是图形方正的启发:符合国情才有生命力。对软件的启发:ISO、CMM?中国特色?思考:CAD软件,清华大学 计算机图形学,用离散量表示连续量引起的失真现象称之为走样(aliasing)用于减少或消除这种效果的技术称为反走样(antialiasing)2.6.1提高分辨率2.6.2 区域采样2.6.3 加权区域取样,2.6 反走样,清华大学 计算机图形学,2.6.1提高分辨率,把显示器分辨率提高一倍,直线经过两倍的象素,锯齿也增加一倍,但同时每个阶梯的宽度也减小了一倍,所以显示出的直线段看起来就平直光滑了一些。增加分辨率虽然简单,但是不经济的方法,有物理上的困难而且它也只能减轻而不能消除锯齿问题,清华大学 计算机图形学,2.6.2 区域采样,基本思想:每个象素是一个具有一定面积的小区域,将直线段看作具有一定宽度的狭长矩形。当直线段与象素有交时,求出两者相交区域的面积,然后根据相交区域面积的大小确定该象素的亮度值。示意图,清华大学 计算机图形学,有宽度的线条轮廓 象素相交的五种情况及用于计算面积的量,清华大学 计算机图形学,面积计算情况(5)阴影面积为:D2/2m;情况(4)阴影面积为:D-m/2;情况阴影面积为:1-D2/m,清华大学 计算机图形学,为了简化计算可以采用离散的方法 n=9,k=3近似面积为1/3首先将屏幕象素均分成n个子象素,然后计算中心点落在直线段内的子象素的个数k。将屏幕该象素的亮度置为相交区域面积的近似值可k/n。,清华大学 计算机图形学,非加权区域采样方法有两个缺点:象素的亮度与相交区域的面积成正比,而与相交区域落在象素内的位置无关,这仍然会导致锯齿效应。直线条上沿理想直线方向的相邻两个象素有时会有较大的灰度差。,清华大学 计算机图形学,2.6.3 加权区域取样,基本思想:使相交区域对象素亮度的贡献依赖于该区域与象素中心的距离当直线经过该象素时,该象素的亮度F是在两者相交区域A上对滤波器(函数w)进行积分的积分值。,清华大学 计算机图形学,可采用离散计算方法如:我们将屏幕划分为n=33个子象素,加权表可以取作:权函数w(x,y)为微面元dA与象素中心距离d的函数,清华大学 计算机图形学,然后求出所有中心落于直线段内的子象素。最后计算所有这些子象素对原象素亮度贡献之和 乘以象素的最大灰度值作为该象素的显示灰度值。,清华大学 计算机图形学,