- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
研究生计算机图形学_第3章
图 3.4.5 用线刷子绘制的圆弧 图 3.4.6 用正方形刷子绘制的圆弧 绘制具有宽度的圆弧线条也可以采用填充的办法,先绘制圆弧线条的内边界和外边界,然后在内外边界之间填色。可以让内外边界都与单像素弧线轨迹距离半线宽,或把内外边界之一对准单像素弧线轨迹,另一边界线离开此线一个线宽距离。 如图 3.4.7 所示为采用填充方法所得的圆弧线条示意图。 图 3.4.7 采用区域填充方法绘制的圆弧 3. 线型的生成 在绘图应用中常用到不同线型的线条,以便区分各种不同的意义。如采用实线表示立体线框图中可见的轮廓线,用虚线表示不可见的轮廓线, 用点划线表示中心线等等。 线型可以用一个布尔值的序列来存放。例如,用一个 32 位整数可以存放 32 个布尔值。用这样的整数存放线型定义时,线型必须以 32 个像素为周期进行重复。可按下述语句写像素: if(位串[i%32])drawpixel(x, y,color); 其中i为循环变量,在扫描转换算法的内循环中,每处理一个像素就递增 1,然后除以 32 取余。 用这种简单办法实现的线型有个毛病。因为每位对应于算法的一个迭代步骤而不是线条上一个长度单位,因此线型中的笔划长度与直线长度有关,斜线上的笔划长度比横向或竖向上的笔划更长。对于工程图,这种变化是不能接受的。这时,每个笔划应该作为与角度无关的线段进行计算并扫描转换。粗线的线型计算为实的或透明的正方形,其顶点位置根据线型要求进行准确计算。然后对正方形进行扫描转换,对于垂直或水平的粗线线型,可以用写方块的简单办法进行。 3.5 字 符 的 生 成 字符是指数字、字母、汉字及各种符号,用于图形的标注、 说明等。 国际上应用最广的字符集是“美国信息交换用标准代码集”(American Standard Code for Information Interchange)简称ASCII码。该字符集规定了 127 个字符代码。其中代码0~31 表示控制字符,代码32~127表示英文字母、标点符号、数字符号、 各种运算符以及特殊符号。每个ASCII码用一个字节(实际上只要7位二进制)代码表示。 我国除采用ASCII码外,还另外制订了汉字代码的国家标准字符集。最常用的字符集是“信息交换用汉字编码字符集基本集”GB2312-80。该字符集包含了6000多个常用汉字、英文字母、 数字和其他图形符号,分成 94个区、94个位。区码和位码各用一个字节(实际上只要7位二进制)来表示。为了能识别哪些字节表示ASCII码,哪些字节表示汉字编码,一般采用多余的一位(最高位)来标识。最高位为 0 时,表示ASCII码,最高位为 1时, 表示汉字编码。为了在终端显示器或绘图仪上输出字符,系统中必须装备有相应的字符库。字符库中储存了每个字符的形状信息。字符库分为矢量型和点阵型两种。 在笔式绘图仪上采用矢量型字符比较适合,矢量型字符库采用矢量代码序列表示字符的各个笔画。输出一个字符时,系统中的字符处理器解释该字符的每个矢量代码,输出对应的矢量, 达到产生字符的目的。在终端显示器上显示字符一般采用点阵型字符库。点阵型字符库为每个字符定义一个字符掩膜, 即表示该字符的像素图案的一个点阵。 1. 矢量字符与AutoCAD的形 用软件产生矢量字符时,应先定义字符,把字符的笔划数字信息按事先定义好的编码结构存储起来,再编写通用程序调用和书写字符。定义字符时, 一般在正方形的网格(如8×8、 16×16、32×32……)纸上写好要定义的字符,并记录各笔划的顶点坐标及抬、落笔信息的编码,以一定的格式存储形成编码文件。 由此可见, 一个能产生字符的好的软件需要有一套完整的定义字符的编码系统。下面以AutoCAD软件中矢量字符的生成为例加以说明。在AutoCAD中,使用一种称为形(Shape)的图形实体来定义西文字符、汉字及符号等。形定义中使用直线、圆弧作为基本笔划。 1) 形的定义格式 每个形的定义由一个标题行和若干个描述行组成,即 *〈形编号〉,〈定义字节数〉,〈形名称〉 (标题行) 〈控制码1〉,〈矢量1描述码〉,〈矢量2描述码〉,…, 〈控制码2〉, 矢量1描述码〉,…, 〈控制码n〉,…,0(结束码) (描述行) 各项内容解释如下: 形编号:每个形必须有一个编号,占用一个字节,编号范围是0~255之间的整数值。 定义字节数:定义形所需的字节总数。字节用逗
原创力文档


文档评论(0)