- 1、本文档共96页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章基本图形生成
第2章 基本图形生成 本章我们主要以光栅图形显示器为例讨论基本图形的生成原理及算法。我们假定,编程语言(以C语言为例)提供了一个最底层的像素操作函数: putpixel (x, y, color); 2.1 直线的生成 2.1.1 数值微分法 2.1.2 中点画线法 2.1.3 Bresenham画线算法 2.2 圆与椭圆的生成 下面仅以圆心在原点、半径R为整数的圆为例,讨论圆的生成算法。 假设圆的方程为: X2 + Y2 = R2 圆的特征:八对称性。只要扫描转换八分之一圆弧,就可以求出整个圆弧的象素集 解决问题: 简单方程产生圆弧 算法原理:利用其函数方程,直接离散计算 1. 中点画圆法 利用圆的对称性,只须讨论1/8圆:第二个8分圆 P为当前点亮象素,那么,下一个点亮的象素可能是P1(Xp+1,Yp)或P2(Xp +1,Yp +1)。 算法原理 构造函数:F(X,Y)=X2 + Y2 - R2 ;则 F(X,Y)= 0 (X,Y)在圆上; F(X,Y) 0 (X,Y)在圆内; F(X,Y) 0 (X,Y)在圆外。 设M为P1、P2间的中点,M=(Xp+1,Yp-0.5) 算法原理 d = F(M) = F(xp + 1, yp - 0.5) =(xp + 1)2 + (yp - 0.5) 2 - R2 若d0, 则P1 为下一个象素,那么再下一个象素的判别式为: d1 = F(xp + 2, yp - 0.5) = (xp + 2)2 + (yp - 0.5) 2 - R2 = d + 2xp +3 即d 的增量为 2xp +3 算法原理 若d=0, 则P2 为下一个象素,那么再下一个象素的判别式为: d1 = F(xp + 2, yp - 1.5) = (xp + 2)2 + (yp - 1.5) 2 - R2 = d + (2xp + 3)+(-2 yp + 2) 即d 的增量为 2 (xp - yp) +5. d的初值: d0 = F(1, R-0.5) = 1 + (R-0.5)2 - R2 = 1.25 - R 算法程序 void CTestView::OnMindpointcircle() { CDC *pDC=GetDC(); int x=100,y=200,r=150,color=RGB(0,0,255); float d; x=0; y=r; d=1.25-r; pDC-SetPixel(x,y,color); while(x=y) { if(d0) d+=2*x+3; else {d+=2*(x-y)+5;y--;} x++; pDC-SetPixel(x,y,color); } } 算法改进 为了进一步提高算法的效率,可以将上面的算法中的浮点数改写成整数,将乘法运算改成加法运算,即仅用整数实现中点画圆法。 使用e=d-0.25代替d e0=1-R 可以更快地实现圆的生成 3. 椭圆的生成算法 引理:若在当前的中点(xm,ym) ,法向量的y分量比x分量大,即: 先推导上半部分的椭圆绘制公式 判别式 判别式的初始值: 判别方法: 误差项的递推,di≥0: 2.3 图元属性及走样控制 3.反走样 用离散量表示连续量引起的失真,就叫做走样。 走样现象: 一是光栅图形产生的阶梯形 一是图形中包含相对微小的物体时,这些物体在静态图形中容易被丢弃或忽略,在动画序列中时隐时现,产生闪烁 用于减少或消除这种效果的技术,称为反走样 简单方法:提高分辨率 重叠过取样 2.4 平面区域填充 表示一个区域 边界(闭合的线段)+ 填充(灰度或色彩) 多边形区域填充:给出一个区域的定义,要求对此区域范围内的所有像素赋予指定的颜色代码 多边形的扫描转换主要是通过确定穿越区域的扫描线的覆盖区间来填充 区域填充是从给定的位置开始涂描直到指定的边界条件为止。 (二)多边形的扫描转换 1.填充点的判别方法 “扫描线交点的奇偶数判断”法:用一根水平扫描线自左而右通过多边形而与多边形的边界相交,扫描线与边界相交
您可能关注的文档
- 第29课 马(课件).ppt
- 第2框 让友谊之树常青课件 鲁教版.ppt
- 第2章 ARM-cortex-M3内核1.ppt
- 第2届海运会-提案 4.30.ppt
- 第2章 预算约束.ppt
- 第2章 信号测试及相关描述.ppt
- 第2章 一元二次方程 2.3 一元二次方程的应用.ppt
- 第2章 消费者行为的影响因素3-4课时2003.ppt
- 第2章 MCS-51单片机的内部结构 安徽理工大学.ppt
- 第2章 国内外水利工程经济的概况.ppt
- 2025AACR十大热门靶点推荐和解读报告52页.docx
- 财务部管理报表.xlsx
- 高中物理新人教版选修3-1课件第二章恒定电流第7节闭合电路欧姆定律.ppt
- 第三单元知识梳理(课件)-三年级语文下册单元复习(部编版).pptx
- 俄罗斯知识点训练课件-七年级地理下学期人教版(2024).pptx
- 课外古诗词诵读龟虽寿-八年级语文上学期课内课件(统编版).pptx
- 高三语文二轮复习课件第七部分实用类文本阅读7.2.1.ppt
- 高考物理人教版一轮复习课件第4章第3讲圆周运动.ppt
- 高考英语一轮复习课件53Lifeinthefuture.ppt
- 2025-2030衣柜行业风险投资发展分析及投资融资策略研究报告.docx
最近下载
- 票据管理系统单位端操作手册.pdf VIP
- 2022年湖北医药学院药护学院教师招聘笔试试题及答案解析.docx VIP
- 无人机公司培训宣讲.pptx VIP
- 宝鸡市检察机关招聘聘用制书记员笔试真题2024.docx VIP
- 2024年湖北医药学院药护学院教师招聘考试笔试题库及答案解析.docx VIP
- 2024年社区工作者考试必背1000题题库及参考答案(考试直接用).docx VIP
- 矿山矿产资源储量年度报告编制要求.pdf VIP
- 急性心肌梗死医学检查.ppt VIP
- 2022年湖北医药学院药护学院辅导员招聘考试笔试试题及答案解析.docx VIP
- 2025年湖北医药学院药护学院辅导员招聘考试笔试备考题库及答案解析.docx VIP
文档评论(0)