《计算机图形学》课件第三章.ppt

  1. 1、本文档共290页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

点阵式字符将字符形状表示为一个矩形点阵,用点阵中点的不同值表达字符的形状。常用的点阵大小有5×7、7×9、8×8、16×16等。随着点阵规模的增大,字形可

以做的非常漂亮。点阵字符的显示分为两步:首先从字库中将它的位图检索出来,然后将检索到的位图写到帧缓冲器中。字符的形状描述构成一个字库。系统中一般有几个甚至几十个不同的字库。在点阵字符库中,每个字符由一个位图表示:字位为1表示字符的笔画经过此位,对应此位的像素应置为字符颜色;字位为0表示字符的笔画不经过此位,对应于此位的像素应置为背景颜色。字库中由于字符数目多,而且实际使用时还需要多种字体,因而所需存储空间较大。特别是使用大点阵描述方法时,每个字库所需要的存储量会多达几兆甚至几十兆字节,所以总要采用某种信息压缩技术,以降低系统成本。例如,黑白段压缩法、Huffman编码表示法、字根法(也叫部件法)、轮廓线方法等,这些都是比较有效的做法,它们各自有其优缺点。矢量式字符将字符表述为点坐标的序列,相邻两点表示成一矢量,字符的形状便由矢量序列刻画。矢量字符记录字符的笔画信息而不是整个位图,具有存储空间小、美观、变换方便等优点。对于字符的旋转、缩放等变换,点阵字符的变换需要对表示字符位图中的每一像素进行,而矢量字符的变换只要对其笔画进行变换就可以了。矢量字符的显示也分为两步:首先从字库中将它的字符信息检索出来,然后取出端点坐标,对其进行适当的几何变换,再根据各端点的坐标显示出字符。轮廓线字符采用直线和曲线段来描述字符的轮廓线,它是一种高精度字符描述方法。由于轮廓字形法的压缩比较大,且能保证字符质量,所以它成为当今国际上最流行的一种方法。轮廓字形法采用直线或二次、三次Bézier曲线的集合来描述一个字符的轮廓线,轮廓线构成一个或若干个封闭的平面区域。轮廓线定义加上一些指示横宽、竖宽、基点、基线等的控制信息就构成了字符的压缩数据。字符扫描转换的任务就是把它从编码表示(ASCII码或汉字代码)转换为帧缓冲器中的位图表示。对于使用点阵字库且字符显示时大小、方向均无变化的情况,只需从字库中检索出该字符的字形点阵信息,然后传送到帧缓冲器中去,即可完成扫描转换。在一般情况下,字符的扫描转换的步骤大体如下:(1)从字库中检索出指定字符的字形描述信息。

(2)字形信息若为压缩形式,将它恢复为非压缩

形式。

(3)若字符显示时所要求的大小和方向与描述信息所定义的大小和方向不一致,则先对字形进行缩/放处理,然后再对它进行旋转处理。(4)若字形描述采用矢量法或轮廓线法,则对直线和曲线段做扫描转换,变成点阵描述。对于轮廓线描述的字形,由于轮廓线构成一个或若干个封闭的平面区域,还需采用适当的区域填充算法,从字符的轮廓线定义产生字符的位图点阵。区域填充可以用硬件实现,也可以用软件

实现。

(5)根据字符在屏幕上的显示位置,计算出帧缓冲器地址,将字形点阵信息传送到帧缓冲器中去。字形采用矢量法或轮廓线表示时,它们的放大、缩小和旋转处理比较容易,仅仅是简单的几何变换而已。字形若采用点阵表示时,对其进行放大、缩小和旋转等处理则比较困难,而且其结果的质量随所采用的处理方法不同而不同。3.5基本图元的输出属性

3.5.1直线的属性

在PHIGS标准中,设置线型属性的函数是

setlinetype(lt)

其中,参数lt取值为1,2,3或4来分别生成实线、虚线、点线和点划线。设置了线型参数后,其随后的所有画线命令都会生成同样类型的线。光栅画线算法通过画像素段的方式来显示线型属性。对于各种划线、点线和点划线样式,画线程序沿线路径输出一些连续像素段。每两个实心段之间有一个定长度的空白中间段,划段长度和中间空白段的像素数目可用像素掩模(Pixelmask)指定。像素掩模是0和1的串,用来指

出沿线路径中需要画的位置。例如,掩模1111000用来显

示划线长度为4个像素中间空白段为3个像素的虚线。用固定数目的像素来画线会产生在不同方向生成不等长的划线的现象。要精确地绘制,对任何线方向的划线长度应保持近似地相等。为此,一种方法是按照线的斜率来调整实心段和中间空白段的像素数目;另一种方法是将划线看做单独的线段,确定每条划线的端点坐标,调用沿划线路径计算像素位置的画线程序。2.线宽

线宽选择的实现取决于输出设备的能力。在显示器上,

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档