网站大量收购闲置独家精品文档,联系QQ:2885784924

计算机图形学26361.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 光栅图形学 2.1直线段的扫描转换算法 2.2圆弧的扫描转换算法 2.3多边形的扫描转换与区域填充 2.4字符 2.5裁剪 2.6反走样 2.7消隐 2.4 字符 字符指数字、字母、汉字等符号。 计算机中字符由一个数字编码唯一标识。 国际上最流行的字符集:“美国信息交换用标准代码集”,简称ASCII码。它是用7位二进制数进行编码表示128个字符;包括字母、标点、运算符以及一些特殊符号。 汉字编码的国家标准字符集:GB2312-80。该字符集分为94个区,94个位,每个符号由一个区码和一个位码共同标识。区码和位码各用一个字节表示。 为了能够区分ASCII码与汉字编码,采用字节的最高位来标识:最高位为0表示ASCII码;最高位为1表示表示汉字编码。 字库:为了在显示器等输出设备上输出字符,系统中必须装备有相应的字库。字库中存储了每个字符的形状信息,字库分为矢量型和点阵型两种。 点阵字符:每个字符由一个位图表示,该位为1表示字符的笔画经过此位,对应于此位的象素应置为字符颜色。该位为0表示字符的笔画不经过此位,对应于此位的象素应置为背景颜色。点阵字符点阵字库中的位图表示 在实际应用中,有多种字体(如宋体、楷体等),每种字体又有多种大小型号,因此字库的存储空间是很庞大的。解决这个问题一般采用压缩技术。 点阵字符的显示分为两步。首先从字库中将它的位图检索出来。然后将检索到的位图写到帧缓冲器中。 矢量字符:记录字符的笔画信息,而不是整个位图,具有存储空间小,美观、变换方便等优点。对于字符的旋转、缩放等变换, 点阵字符的变换需要对表示字符位图中的每一象素进行; 矢量字符的变换只要对其笔画端点进行变换就可以了。矢量字符的显示也分为两步。 显示:首先从字库中将它的字符信息。然后取出端点坐标,对其进行适当的几何变换,再根据各端点的标志显示出字符。点阵字符点阵字库中的位图表示矢量轮廓字符 特点: 点阵字符:存储量大,易于显示 矢量字符:存储量小,美观,变换方便; 但 需要光栅化后才能显示。 字符属性 字体 宋体 仿宋体 楷体 黑体 隶书 字高 宋体 宋体 宋体 宋体 字宽 字倾斜角 倾斜 倾斜 对齐 (左对齐、中心对齐、右对齐) 字色 红色、绿色、蓝色 字符也是图形 方正的启发:符合国情才有生命力。对软件的启发:ISO、CMM?中国特色?思考:CAD软件 2.5 裁剪 裁剪:确定图形中哪些部分落在显示区之内,哪些落在显示区之外,以便只显示落在显示区内的那部分图形。这个选择过程称为裁剪。在使用计算机处理图形信息时,计算机内部存储的图形往往比较大,而屏幕显示的只是图的一部分。问:为什么要裁减,直接处理呢?即:在绘制(写帧缓存时)再处理?最简单的裁剪方法是把各种图形扫描转换为点之后,再判断各点是否在窗内。但那样太费时,一般不可取。这是因为有些图形组成部分全部在窗口外,可以完全排除,不必进行扫描转换。所以一般采用先裁剪再扫描转换的方法。 2.5.1直线段裁剪 直线段裁剪算法是复杂图元裁剪的基础。复杂的曲线可以通过折线段来近似,从而裁剪问题也可以化为直线段的裁剪问题。 2.5.1.1Cohen-Sutherland 2.5.1.2中点分割算法 2.5.1.3梁友栋-barskey算法。 2.5.1.1 Cohen-Sutherland裁剪 基本思想:对于每条线段P1P2分为三种情况处理分为三种情况处理: (1)若P1P2完全在窗口内,则显示该线段P1P2简称“取”之。 (2)若P1P2明显在窗口外,则丢弃该线段,简称“弃”之。 (3)若线段不满足“取”或 “弃”的条件,则在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。 为快速判断,采用如下编码方法: 每个区域赋予4位编码编码线段裁剪 若P1P2完全在窗口内code1=0,且code2=0,则“取” 若P1P2明显在窗口外code1code2≠0,则“弃” 在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。计算线段P1(x1,y1)P2(x2,y2)与窗口边界的交点 if(LEFTcode !=0) { x=XL; y=y1+(y2-y1)*(XL-x1)/(x2-x1);} else if(RIGHTcode !=0) { x=XR; y=y1+(y2-y1)*(XR-x1)/(x2-x1);} else if(BOTTOMcode !=0) { y=YB; x=x1+(x2-x1)*(YB-y1)/(y2-y1);} else if(TOP code !=0) { y=YT; x=x1+(x2-x1)*(YT-y1)/(y2-y1);} 示例 编码的思想在图形学中非常重要

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档