- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学电子教案c3-1
第3章 基本光栅图形生成技术(重点掌握) Bresenham算法 安徽师范大学数学计算机科学学院 计算机图形学 基本思想: 按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色显示这些区间的象素,即完成填充工作。 对于一条扫描线填充过程可以分为四个步骤: 求交(点) (交点)排序 交点配对 (区间)填色 3.3.2多边形的扫描线填充算法 安徽师范大学数学计算机科学学院 计算机图形学 对扫描线与多边形的相交区间取左闭右开。 对扫描线与多边形的上下顶点相交时,交点的取舍方法为下闭上开,即丢弃上方水平边或上顶点。 当扫描线与多边形交于上顶点时,交点计数为0。当扫描线通过多边形的下顶点时,交点计数为2。当扫描线通过多边形的左右顶点时,交点计数为1。 安徽师范大学数学计算机科学学院 计算机图形学 将多边形的顶点进行上述处理之后,用(水平)扫描线由下到上扫描多边形,求出每条扫描线与多边形的交点,将这些交点按x 坐标进行排序,将排序后的交点成对取出,按照左闭右开的方式以给定的颜色画线。多边形被扫描后,填色也就完成了。 多边形扫描线填充算法的思想 安徽师范大学数学计算机科学学院 计算机图形学 如何去求扫描线与多边形的交点? 直接法 将每根扫描线与多边形的所有边求交点。这种方法的效率太低,因为事实情况往往是扫描线只与多边形的少数边有交点。 安徽师范大学数学计算机科学学院 计算机图形学 思考:如何生成圆心在(xc,yc),半径为r的圆? 可以看作圆心在原点的等圆的平移。 Midpointcircle(x1,y1,r,c) int x1,y1,r,c; { int x,y,e; x=0;y=r; e=1-r; while(x=y) { putpixel(x1+x,y1+y,c); putpixel(x1+y,y1+x,c); putpixel(x1-y,y1+x,c); putpixel(x1-x,y1+y,c); putpixel(x1-x, y1-y,c); putpixel(x1-y,y1-x,c); putpixel(x1+y,y1-x,c); putpixel(x1+x,y1-y,c); if(e0) e+=2*x+3; else { e+=2*(x-y)+5; y--; } x++; } } /*midpointcircle.c*/ 安徽师范大学数学计算机科学学院 计算机图形学 3.3 椭圆的扫描转换算法 讨论的方法与中点画圆类似。 我们首先讨论中心在坐标原点的标准椭圆。 即 令 下面讨论第一象限的四分之一椭圆弧。(具有四对称) X Y 安徽师范大学数学计算机科学学院 计算机图形学 由微积分的知识,在该椭圆上点(x,y)处的法向量为: 当椭圆弧上的点从(0,b )向(a,0)变化过程中,2b2x2a2y变化到2b2x2a2y,也就是说,在该椭圆弧上一定存在点P,在该点处 2b2x=2a2y。 该点处的法向量两分量相等 上半部分 下半部分 P (0,b) (a,0) 安徽师范大学数学计算机科学学院 计算机图形学 先讨论上半椭圆弧:假设当前象素为(xp,yp),那么下一对侯选象素的中点为(xp+1,yp-0.5)。因此,判别式 如果 ,应取正右方的 象素(xp+1,yp);如果 , 应取右下方的象素(xp+1,yp-1)。 与圆的中点扫描算法类似, 我们也可以采用增量算法计算判别式以提高计算效率。 下半部分 P (xp,yp) (xp+1,yp-1) (xp+1,yp) 安徽师范大学数学计算机科学学院 计算机图形学 如果 ,应取正右方的象素(xp+1,yp);该象素的判别式为 如果 ,应取右下方的象素(xp+1,yp-1)。该象素的判别式为 初始时, 安徽师范大学数学计算机科学学院 计算机图形学 现在讨论下半椭圆弧:假设当前象素为(xp,yp),那么下一对侯选象素的中点为(xp+0.5,yp-1)。因此,判别式 如果 ,应取右下方的 象素(xp+1,yp-1);如果 , 应取正下方的象素(xp,yp-1)。 类似,我们来计算增量。 P (xp,yp) (xp+1,yp-1) (xp,yp-1) 安徽师范大
您可能关注的文档
最近下载
- 2025年药店医疗器械年度培训计划.docx VIP
- 2024仁爱版七年级英语上册Unit 1 Let’s Be Friends 单元知识梳理(背诵+讲解版).pdf VIP
- 成果综合详解idemo usermanual.pdf
- 盐浴液体氮化工艺.docx VIP
- 【审核版】公司优秀人才评选和管理办法2.doc VIP
- 小学语文2022版新课标测试题(1-280题).docx VIP
- 某某运输公司安全管理制度.doc
- 2025年人形机器人产业发展蓝皮书-人形(简版,仅供学习).pptx VIP
- 2024年全国职业院校技能大赛(高职组)安徽省集训选拔赛“婴幼儿健康养育照护”赛项规程.pdf VIP
- IATF16949-2016质量手册全套文件模板二.doc VIP
文档评论(0)