- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法小结 中点 Bresenham 算法可以改造为整数算法的关键是将 d 乘以 2△x 变换为 D,而之所以可以这样做的原因是我们将点的坐标计算转换为判定隐函数的符号(倍乘不影响判别式的符号); 算法得以提高效率的另一个原因是我们使用了递推式,而之所以可以采用递推式的原因是我们遵循了固定的套路:每次都以像素中点作为判定隐函数符号的依据。 课堂练习 试绘制如下两点之间的连线:(0,0), (9,4) 课堂练习 试计算当 R = 11 时的 1/8 圆弧坐标 具体方法 为了避免交点为 1 的顶点处连接的两条边同时被录入边表中,我们需要检测并剔除一条。 可以用指定的顺时针方向或逆时针方向处理整个多边形边界上的非水平边。在处理每条边时,检测是否存在某条边的 ymax 等于另一条边的 ymin。假如有,可将 ymax 的边缩短以保证通过连接两条边的公共顶点的扫描线仅有一个交点生成,即将 ymax 更新为 ymax-1。 课堂练习 参考 边缘填充算法实例 边缘填充算法小节 栅栏填充算法实例 边标志算法实例 * 种子象素入栈;栈非空时重复执行如下三步操作: (1)栈顶象素出栈; (2)将出栈象素置成填充色; (3)检查出栈象素的8-邻接点,若其中某个象素点不是给定内部点的颜色且未置成新的填充色,则把该象素入栈。 区域填充算法——泛填充算法 * 当以边界表示时,4-连通边界填充算法只能填充4-连通区域,8-连通边界填充算法也只能填充8-连通区域。 当以内点表示时,8-连通泛填充算法可以填充8-连通区域也可以填充4-连通区域,当然4-连通泛填充算法还是只能填充4-连通区域。 区域填充算法——泛填充算法 * 相关概念——内外测试 图5-32 不自交的多边形与自相交的多边形 * 奇-偶规则(Odd-even Rule) 从任意位置p作一条射线,若与该射线相交的多边形边的数目为奇数,则p是多边形内部点,否则是外部点。 相关概念——内外测试 * 非零环绕数规则(Nonzero Winding Number Rule) 首先使多边形的边变为矢量。 将环绕数初始化为零。 再从任意位置p作一条射线。当从p点沿射线方向移动时,对在每个方向上穿过射线的边计数,每当多边形的边从右到左穿过射线时,环绕数加1,从左到右时,环绕数减1。 处理完多边形的所有相关边之后,若环绕数为非零,则p为内部点,否则,p是外部点。 相关概念——内外测试 * 两种规则的比较 相关概念——内外测试 * 相交计算中包含了非线性边界。 对于简单曲线: (1)计算曲线相对两侧的两个扫描线交点 (2)简单填充在曲线两侧上的边界点间的水平象素区间。 相关概念——曲线边界区域填充 * 5.5 字符处理 ASCII码:“美国信息交换用标准代码集”(American Standard Code for Information Interchange),简称ASCII码。 国际码:“中华人民共和国国家标准信息交换编码,简称为国际码,代号GB2312-80。 字库:字库中储存了每个字符的图形信息。 矢量字库和点阵字库。 * 在点阵表示中,每个字符由一个点阵位图来表示。 显示时:形成字符的像素图案。 字符处理——点阵字符 图5-33 字符A的点阵表示 * 定义和显示直接、简单。 存储需要耗费大量空间。 从一组点阵字符生成不同尺寸和不同字体的其他字符。 采用压缩技术。 字符处理——点阵字符 * 矢量字符采用直线和曲线段来描述字符形状,矢量字符库中记录的是笔划信息。 显示时:解释字符的每个笔划信息。 字符处理——矢量字符 图5-34 字符A的矢量表示 * 字符处理——矢量字符 轮廓字型法采用直线或二、三次曲线的集合来描述一个字符的轮廓线,轮廓线构成了一个或若干个封闭区域,显示时只要填充这些区域就可产生相应的字符。 显示时可以“无极放缩”。 占用空间少,美观,变换方便。 * 图素或图段的外观由其属性决定。 图形软件中实现属性选择的方法是提供一张系统当前属性值表,通过调用标准函数提供属性值表的设置和修改。进行扫描转换时,系统使用属性值表中的当前属性值进行显示和输出。 5.6 属性处理 * 线型与线宽 区域填充属性 属性处理 * 线型与线宽——线型 线型的显示可用象素段方法实现:针对不同的线型,画线程序沿路径输出一些连续象素段,在每两个实心段之间有一段中间空白段,他们的长度(象素数目)可用象素模板(pixel mask)指定。 存在问题:如何保持任何方向的划线长度近似地相等。 可根据线的斜率来调整实心段和中间空白段的像素数目。 图5-35 相同数目象素显示的不等长划线 * 线刷子:垂直刷子、水平刷子 线型与线宽——线宽 图5-36 线刷子 *
您可能关注的文档
最近下载
- 新15J709 防火门、窗及卷帘.docx VIP
- 《1 介绍我自己》教学设计2024-2025学年小学美术一年级上册人美版(2024).docx VIP
- 动力锂电池磷酸铁锂电池的研究报告和市场调研.pptx VIP
- 2025年深圳生地会考考纲.pdf VIP
- 初级经济师经济基础(第七章).ppt VIP
- 苏科版(2023)三年级上册信息科技 第1课 在线社会悄然而至 教案.docx VIP
- 发育性髋关节发育不良.pptx VIP
- 2024年秋季人教版七年级上册语文全册教学课件(考点精讲版).pptx
- 盖米中线蝶阀安装指导手册.pdf VIP
- 普通外科围手术期病人血液管理中国专家共识2025.pdf VIP
文档评论(0)