- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章-2D基本图形生成算法讲述
2012.6 * 5.6.3 区域填充属性 区域填充属性选择包括颜色、图案和透明度。 2012.6 * 根据图案和透明度属性来填充平面区域的基本思想是: 首先用模板定义各种图案。 然后,修改填充的扫描转换算法:在确定了区域内一象素之后,不是马上往该象素填色而是先查询模板位图的对应位置。若是以透明方式填充图案,则当模板位图的对应位置为1时,用前景色写象素,否则(0元),不改变该象素的值。若是以不透明方式填充图案,则视模板位图对应位置为1或0来决定是用前景色还是背景色去写象素。 2012.6 * 确定区域与模板之间的位置关系(对齐方式): 一种对齐方式是把有模板原点与填充区域边界或内部的某点对齐 一种对齐方式是把模板原点与填充区域外部的某点对齐 2012.6 * 5.7 反走样 用离散量表示连续量引起的失真,就叫做走样(aliasing)。 2012.6 * 走样现象: 一是光栅图形产生的阶梯形 一是图形中包含相对微小的物体时,这些物体在静态图形中容易被丢弃或忽略,在动画序列中时隐时现,产生闪烁 2012.6 * 2012.6 * 用于减少或消除这种效果的技术,称为反走样(antialiasing)。 一种简单方法: 过取样(supersampling),或后滤波 区域取样(area sampling),或前滤波 2012.6 * 5.7.1 过取样 简单过取样 加密一倍,计算图形光亮,安排1、7为1/4,2、3、4、5、5为1/2。 2012.6 * 重叠过取样 变m*n为(2m+1)*(2n+1),求得各子像素值,再对中心及周9像平均,来实施显示像素的色亮;并可采用加权模板。 2012.6 * 基于加权模板的过取样 2012.6 * 5.7.2 简单的区域取样 2012.6 * 如何计算直线段与象素相交区域的面积? 2012.6 * 可以利用一种求相交区域的近似面积的离散计算方法: (1)将屏幕象素分割成n个更小的子象素, (2)计算中心落在直线段内的子象素的个数m, (3)m/n为线段与象素相交区域面积的近似值。 特点: 直线段对一个象素亮度的贡献与两者重叠区域的面积成正比 相同面积的重叠区域对象素的贡献相同 2012.6 * 5.7.3 加权区域取样 加权区域取样原理 假想一个连续的加权曲面(或过滤函数)覆盖象素。当直线条经过该象素时,该象素的灰度值是在二者重叠区域上对滤波器(过滤函数)进行积分的积分值。 特点: 接近理想直线的象素将被分配更多的灰度值; 相邻两个象素的滤波器相交,有利于缩小直线条上相邻象素的灰度差。 实验一 基本图形生成 绘制直线段 从(0,0)到 (300,学号后三位*2); 方法自选,课堂4种均可; 绘制圆 用Bresenham算法画第一象限圆弧一段 种子扫描线法填充多边形 * ① 初始化: 堆栈置空。将种子点(x, y) 入栈。 ② 出栈: 若栈空则结束。否则取栈顶元素( x, y) , 以y 作为当前扫描线。 ③ 填充并确定种子点所在区段: 从种子点(x, y) 出发, 沿当前扫描线向左、右两个方向填充, 直到边界。分别标记区段的左、右端点坐标为xl 和xr。 ④ 确定新的种子点: 在区间[xl,xr] 中检查与当前扫描线y上、下相邻的两条扫描线上的像素。若存在非边界、未填充的像素, 则把每一区间的最右像素作为种子点压入堆栈, 返回第②步。 算法步骤 区域填充(种子扫描线算法) 区域填充(扫描线算法) 像素中的序号标指它所在区段位于堆栈中的位置 多边形的扫描转换 顶点表示用多边形的顶点序列来刻划多边形 点阵表示是用位于多边形内的象素的集合来刻划多边形 扫描转换多边形或多边形的填充:从多边形顶点表示到点阵表示的转换。 1. 什么是多边形的扫描转换 x-扫描线算法 基本思想 算法步骤: (1)确定多边形所占有的最大扫描线数,得到多边形顶点的最小和最大y值(ymin和ymax)。 (2)从y=ymin到y=ymax,每次用一条扫描线进行填充。 (3)对一条扫描线填充的过程可分为四个步骤: a.求交 b.排序 c.交点配对 d.区间填色 存在问题:当扫描线与多边形顶点相交时,交点的取舍问题。 解决: 当扫描线与多边形的顶点相交时, 若共享顶点的两条边分别落在扫描线的两边,交点只算一个; 若共享顶点的两条边在扫描线的同一边,这时交点作为零个或两个。 0 1 1 1 1 0 2 2 2 3. 改进的有效边表算法(Y连贯性算法) 改进原理: 处理一条扫描线时,仅对有效边求交 利用扫描线的连贯性 利用多边形边的连贯性 有效边(Active Edge):指与当前扫描线相交的多边形的边,也称为活性边。 有效边表(Active Edge Ta
您可能关注的文档
最近下载
- 倪海厦《神农本草经》笔记.pdf VIP
- 办案区使用培训课件.pptx VIP
- 2024年专技人员公需课考试教师继续教育公需课(含答案).docx VIP
- (正式版)H-G-T 6312-2024 化工园区竞争力评价导则.docx VIP
- 金融工程专题研究:基于风险预算的中证500指数增强策略.pdf VIP
- 吸烟有害健康.docx VIP
- GB50168-2018《电气装置安装工程 电缆线路施工及验收标准》.docx VIP
- 新人教版必修一Welcome unit Listening and talking 教学设计.docx
- 《矿产资源法》知识考试题库资料120题(含答案).pdf VIP
- 倪海厦针灸教程.pdf VIP
文档评论(0)