版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 多边形多边形:(定义)限定为有封闭折线边界且无交叉边的平面图形多边形分类:凸多边形、凹多边形2022年5月3日计算机图形学40字符处理 ASCII码:“美国信息交换用标准代码集”(American Standard Code for Information Interchange),简称ASCI码。 国标码:“中华人民共和国国家标准信息交换编码,简称为国标码,代号GB231280。 字库:字库中储存了每个字符的图形信息。 矢量字库和点阵字库2022年5月3日计算机图形学41国标码:国标码: 6763个汉字,一级3755个,二级3008个,682个图形符号,所有汉字和图形符号组成9494
2、矩阵,每行为“区”,每列为“位”,区码位码各用一个字节表示。最高位为1表示国标码。2022年5月3日计算机图形学423.5.1字符的属性字体、字形、字号、字间距、行间距等等。一般字体确定风格,字形确定外观,字号确定尺寸。2022年5月3日计算机图形学43字符串的属性 文本高度、文本宽度(扩展/压缩因子)、字符方向、文本路径方向、对齐方式(左对齐,中心对齐,或右对齐,指定起始、终止点)、文本字体、字符的颜色属性等。 反绘(从右到左)、倒绘(旋转180)、写方式(替换或与方式)等。2022年5月3日计算机图形学44字符的表达和生成型式 点阵式 矢量式 编码式 轮廓技术2022年5月3日计算机图形学
3、45点阵字符 在点阵表示中,每个字符由一个点阵位图来表示 显示时:形成字符的象素图案 常用的点阵大小有57、79、8 8、1616等等 字符A的点阵表示11111111111111111111 1111111111 1 11111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000(a)字符A的点阵位图(a)字符A的象素图案2022年5月
4、3日计算机图形学46矢量字符 矢量字符采用直线和曲线段来描述字符形状,矢量字符库中记录的是笔划信息。 显示时:解释字符的每个笔划信息2022年5月3日计算机图形学47如B字符,由定点a,b,c,d,e,f,g,h,I,j,k,l表示,调用矢量字符过程相当于输出一个polyline,2022年5月3日计算机图形学48方向编码式 方向编码式字符用有限的若干种方向编码来表达一个字符,常用的如8方向编码 2022年5月3日计算机图形学49“B”表示为8方向编码:000012344400012344440666666 2022年5月3日计算机图形学50轮廓技术 当对输出字符的要求较高时(如排版印刷),需
5、要使用高质量的点阵字符。对于GB2312-80所规定的6763个基本汉字,假设每个汉字是72X72点阵,那么一个字库就需要72X72X6763/8=4.4兆字节存储空间 在实际使用时,还需要多种字体(如基本体、宋体、仿宋体、黑体、楷体等),每种字体又需要多种字号。 2022年5月3日计算机图形学51 解决这个问题一般采用压缩技术。对字型数据压缩后再存储,使用时,将压缩的数据还原为字符位图点阵 2022年5月3日计算机图形学52压缩方法有多种: 最简单的有黑白段压缩法,这种方法简单,还原快,不失真,但压缩较差,使用起来也不方便,一般用于低级的文字处理系统中。 另一种方法是部件压缩法。这种方法压缩
6、比大,缺点是字型质量不能保证。 三是轮廓字型法,这种方法压缩比大,且能保证字符质量,是当今国际上最流行的一种方法,基本上也被认为是符合工业标准化的方法。2022年5月3日计算机图形学53 轮廓字型法采用直线、或者二/三次Bezier曲线的集合来描述一个字符的轮廓线。轮廓线构成一个或若干个封闭的平面区域。 采用适当的区域填充算法,可以从字符的轮廓线定义产生的字符位图点阵,区域填充算法可以用硬件实现,也可以用软件实现。2022年5月3日计算机图形学54 由美国Apple和Microsoft公司联合开发的TrueType字型技术就是一种轮廓字型技术,已被用于为Windows中文版生成汉字字库。 当前
7、占领主要的电子印刷市场的我国北大方正和华光电子印刷系统,用的字型技术是汉字字型轮廓矢量法。 2022年5月3日计算机图形学55属性处理(线形线宽处理) 线型和线宽 1. 线型处理 实心段和中间空白段的长度(象素数目)可用象素模板(pixel mask)指定。 存在问题:如何保持任何方向的划线长度近似地相等2022年5月3日计算机图形学56 解决 可根据线的斜率来调整实心段和中间空白段的象素数目。xy213 4 5 6 7 8 9111234567891011121012a a图5-38 相同数目象素显示的不等长划线b b2022年5月3日计算机图形学57直线线宽处理方法 刷子法:线刷子;方形刷
8、子 区域填充法2022年5月3日计算机图形学58线刷子和方刷子处理线宽 线刷子:垂直刷子、水平刷子 线刷子(a)(b)2022年5月3日计算机图形学59特点 实现简单、效率高。 斜线与水平(或垂直)线不一样粗。 当线宽为偶数个象素时,线的中心将偏移半个象素。 利用线刷子生成线的始末端总是水平或垂直的,看起来不太自然。解决:添加“线帽(line cap)”2022年5月3日计算机图形学60 线“帽子”(a)方帽(c)圆帽(b)突方帽2022年5月3日计算机图形学61当比较接近水平的线与比较接近垂直的线汇合时,汇合处外角将有缺口 线刷子产生的缺口2022年5月3日计算机图形学62解决:斜角连接(m
9、iter join)、圆连接(round join)、斜切连接(bevel join) 线刷子产生的缺口(a)斜角连接(b)圆连接(c)斜切连接2022年5月3日计算机图形学63方刷子 特点: 方刷子绘制的线条(斜线)比用线刷子所绘制的线条要粗一些 方刷子绘制的斜线与水平(或垂直)线不一样粗 方刷子绘制的线条自然地带有一个“方线帽” 方刷子2022年5月3日计算机图形学64其它线宽处理方式 区域填充 改变刷子形状:1 1 1101 11 11 11 000(a)象素模板(b)用该模板进行线宽处理 利用象素模板进行线宽处理2022年5月3日计算机图形学65曲线的线型和线宽 线型:可采用象素模板的
10、方法 利用模板110进行圆的线型处理2022年5月3日计算机图形学66线宽 线刷子 方刷子要显示一致的曲线宽度可通过旋转刷子方向以使其在沿曲线移动时与斜率方向一致, 圆弧刷子 采用填充的办法。2022年5月3日计算机图形学67区域填充属性 区域填充属性选择包括颜色、图案和透明度。0010 10 111(a)图案模板位图(b)用该模板进行填充 利用图案模板进行三角形的填充模板图案2022年5月3日计算机图形学68根据图案和透明度属性来填充平面区域的基本思想 首先用模板定义各种图案。 然后,修改填充的扫描转换算法:在确定了区域内一象素之后,不是马上往该象素填色而是先查询模板位图的对应位置。若是以透
11、明方式填充图案,则当模板位图的对应位置为1时,用前景色写象素,否则,不改变该象素的值。若是以不透明方式填充图案,则视模板位图对应位置为1或0来决定是用前景色还是背景色去写象素。2022年5月3日计算机图形学69确定区域与模板之间的位置关系(对齐方式) 一种对齐方式是把有模板原点与填充区域边界或内部的某点对齐 一种对齐方式是把模板原点与填充区域外部的某点对齐70走样现象 走样(aliasing) 用离散量(像素)表示连续的量(图形)而引起的失真,称为走样,或称为混淆 光栅图形的走样现象 阶梯(锯齿)状边界 图形细节失真 狭小图形遗失:动画序列中时隐时现,产生闪烁71(1)阶梯状的图形边界 像素间
12、距大线画图元线画图元填充图元边界填充图元边界实例实例72(2)图形细节失真 显示图形的最小单位为像素 细长的矩形显示后成了加宽的矩形 更细的矩形将丢失73(3)狭小图形的遗失与动态图形的闪烁 多边形分布在像素间,不覆盖像素 中心,不被显示 狭小图形运动时,会间隔覆盖像素 的中心,产生闪烁74反走样方法 反走样(antialiasing) 在图形显示过程中,用于减少或消除走样(混淆)现象的方法 方法 提高分辨率方法 非加权区域采样 加权区域采样75(1)提高分辨率的反走样方法 方法简单,但代价非常大显示器的水平、竖直分辩率各提高一倍,则显示显示器的水平、竖直分辩率各提高一倍,则显示器的点距减少一
13、倍,帧缓存容量则增加到原来的器的点距减少一倍,帧缓存容量则增加到原来的4倍,而扫描转换同样大小的图元却要花倍,而扫描转换同样大小的图元却要花4倍时间倍时间76(2)非加权区域采样方法 扫描转换线段的两点假设 像素是数学上抽象的点,它的面积为0,它的亮度由覆盖该点的图形的亮度所决定 直线段是数学上抽象直线段,它的宽度为0 现实 像素的面积不为0; 直线段的宽度至少为1个像素; 假设与现实的矛盾是导致走样出现的原因之一77n解决方法:改变直线段模型,线上像素灰度不等解决方法:改变直线段模型,线上像素灰度不等n方法步骤方法步骤1、将直线段看作具有一定宽度的狭长矩形;、将直线段看作具有一定宽度的狭长矩
14、形;2、当直线段与某像素有交时,求出两者相交区域的面积;、当直线段与某像素有交时,求出两者相交区域的面积;3、根据相交区域的面积,确定该像素的亮度值、根据相交区域的面积,确定该像素的亮度值78 方法性质 直线段对一个像素亮度的贡献与两者相交区域的面积成正比 当直线段和某个像素不相交时,它对该像素的亮度无影响 相同面积的相交区域对像素的亮度贡献相同,而与这个相交区域落在像素内的位置无关关键:如何计算相交面积?关键:如何计算相交面积?79 计算相交区域的面积(a)面积面积=D2/2k(b)面积面积=D k/2像素实际显示的灰度值像素实际显示的灰度值 = = 所得面积所得面积 * * 该像素的最大灰
15、度值该像素的最大灰度值D/kDDk假设假设线段线段斜率斜率为为k像素实际大小像素实际大小80 求相交区域的近似面积的离散计算方法 将屏幕像素分割成 n 个更小的子像素; 计算中心点落在直线段内的子像素的个数,记为 m, m/n 为线段与像素相交区域面积的近似值 例目的:简化计算目的:简化计算 n = 16, = 16, m = 3 = 3近似面积近似面积 = 3/16= 3/1681 存在的不足 像素的颜色或灰度值与相交(覆盖)区域的面积成正比,而与相交区域落在像素内的位置无关,仍会导致锯齿效应 沿理想直线方向的相邻两个像素的颜色或灰度值会有较大差异82(3)加权区域采样方法 权函数w(x,
16、y) 以像素A的中心为原点建立二维坐标系 w(x, y)反应了微面积元dA对整个像素亮度的贡献大小 ,与 dA 到像素中心距离d 成反比。 高斯函数dyxw1),(222222exp212exp21),(yxdyxw83u权性权性u位于位于(x, y)处的微面积元处的微面积元dA对像素的亮度的贡献为对像素的亮度的贡献为 w(x, y) dAn相交区域相交区域 对该像素的亮度贡献对该像素的亮度贡献 1),(AdAyxww x y dAA( , )A84n实现步骤实现步骤1求直线段与像素的相交区域求直线段与像素的相交区域2计算的值计算的值3上面所得到的值介于上面所得到的值介于0、1之间,之间,用它
17、乘像素的最大灰度值,用它乘像素的最大灰度值,即设该像素的显示灰度。即设该像素的显示灰度。n问题:计算量大问题:计算量大 n特例:特例: 时,时,1),( yxw的的面面积积AdAyxwA ),(加权区域加权区域采样方法采样方法退化为非退化为非加权区域加权区域采样方法采样方法Aw x y dAA( , )85 离散计算方法1将屏幕像素均匀分割成m个子像素 ,则每个子像素的面积为计算每个子像素对原像素亮度的贡献,记为 将 保存在一张加权表中2求出所有中心落于直线段内的子像素,记为3计算所有这些子像素对原像素亮度贡献之和 。 该值乘以像素的最大灰度值即为像素的显示灰度值Aiim1dAmAi1iAid
18、Ayxww),(wiim1的子集,为miAi,21,:wii86 w(x, y)是一个经验函数,对应的 也是经验值 w(x, y)可以用加权表M表示,取法有 M33 M55wwwwwwwww123456789116121242121wiim1124212565246864256522142188125242322212019181716151413121110987654321wwwwwwwwwwwwwwwwwwwwwwwww87 例wwwwwwwww123456789116121242121加权表加权表16/516/ )221 (iiw,100100AAA1 1个像素分解成个像素分解成33个子像素个子像素加权区域采样:加权区域采样:非加权区域采样非加权区域采样s = 3/988OpenGL函数 函数 启动反走样:glEnable(),参数为GL_POINT、GL_LINE_SMOOTH或GL_POLYGON_SMOOTH 质量控制:glHint(GLenum target, GLenum hint ), 参数target为:GL_POINT_SMOOTH_HINT、GL_L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 罕遇地震下多层钢框架结构弹塑性行为与抗震优化策略研究
- 2025年化工储存安全考核真题及答案解析
- 智慧水务建设项目可行性研究报告
- 雨水管网系统接口密封方案
- 养老服务设施建设项目可行性研究报告
- 水库供水管理信息平台方案
- 水闸工程竣工验收报告
- 排水基础设施建设工程施工方案
- 2026中国移动河北公司社会招聘笔试备考题库及答案解析
- 幕墙节能工程竣工验收报告
- 水厂配套引水管道工程环评环境影响报告书
- 【能力提升】高中选择性必修下册第二单元测试卷(含解析)
- 加油站会议管理制度
- HG∕T 4104-2019 水性氟树脂涂料
- 2023年烟草辽宁公司招聘考试真题及答案
- 第1单元水复习(课件)科教版科学三年级上册
- 《项目物资管理》课件
- iso14000环境管理体系
- CATIA各模块功能全面讲解经典收藏(基础)
- 临沂市兰山区2022-2023学年小升初数学重难点模拟卷含答案
- 脚手架外挂架
评论
0/150
提交评论