- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
椭圆的生成算法 F(x,y)=b2x2+a2y2-a2b2=0 椭圆的对称性,只考虑第一象限椭圆弧生成,分上下两部分,以切线斜率为-1的点作为分界点。 椭圆上一点处的法向: N(x,y) = (F) x i + (F) y j = 2b2 x i + 2a2 y j 在上半部分,法向量的y分量大 在下半部分,法向量的x分量大 上半部分 下半部分 法向量 两分量相等 M1 M2 在当前中点处,法向量( 2b2 (Xp+1) ,2a2 (Yp-0.5))的y分量比x分 量大, 即: b2 (Xp+1) a2 (Yp-0.5), 而在下一中点,不等式改变方 向,则说明椭圆弧从上部分转入下部分 椭圆的中点画法 与圆弧中点算法类似:确定一个象素后,接着在两个候选象素的中点计算一个判别式的值,由判别式的符号确定更近的点 先讨论椭圆弧的上部分 设(Xp,Yp)已确定,则下一待选像素的中点是(Xp+1,Yp-0.5) d1=F(Xp+1,Yp-0.5)= b2(Xp+1)2+a2(Yp-0.5)2-a2b2 根据d1的符号来决定下一像素是取正右方的那个,还是右上方的那个。 若d1<0,中点在椭圆内,取正右方象素,判别式更新为: d1=F(Xp+2,Yp-0.5)=d1+b2(2Xp+3) d1的增量为b2(2Xp+3) 当d1≥0,中点在椭圆外,取右下方象素,更新判别式: d1=F(Xp+2,Yp-1.5)=d1+b2(2Xp+3)+a2(-2Yp+2) d1的增量为b2(2Xp+3)+a2(-2Yp+2) d1的初始条件:椭圆弧起点为(0,b); 第一个中点为(1,b-0.5) 初始判别式:d10=F(1,b-0.5)=b*b+a*a(-b+0.25) 转入下一部分,下一象素可能是正下方或右下方,此时判别式要初始化。 d2 = F(Xp+0.5,Yp-1) = b2(Xp+0.5)2+a2(Yp-1)2-a2b2 若d20,取右下方像素,则d2 = F(Xp+1.5,Yp-2) = d2 + b2(2Xp+2)+a2(-2Yp+3) 若d2=0,取正下方像素,则d2 = F(Xp+0.5,Yp-2) = d2 + a2(-2Yp+3) 下半部分弧的终止条件为 y = 0 程序:void draw_Ellipe_Mid(int a,int b) { int x,y; float d1,d2; x = 0; y = b; d1 = b*b +a*a*(-b+0.25); while( b*b*(x+1) a*a*(y-0.5)) { SetPixel(x,y); if (d10) {d1 +=b*b*(2*x+3); x++; } else { d1 +=(b*b*(2*x+3)+a*a*(-2*y+2)); x++; y--; } }//上部分 d2 = sqrt(b*(x+0.5))+sqrt(a*(y-1))-sqrt(a*b); while(y =0) { SetPixel(x,y); if (d2 0) { d2 +=b*b*(2*x+2)+a*a*(-2*y+3); x++; y--;} else {d2 += a*a*(-2*y+3); y--; } } } 第三章 基本图形生成算法图形 本章将主要研究在光栅显示器上的直线、圆、椭圆等的生成算法。 内存 显存或缓存 设备阵列 图形函数入口 LINE()等 主机 显卡、其他接口 确定象素位置 写入颜色等属性 显示器、打印机等 由驱动程序写入设备 D/A转换 显卡口 并行口 USB口 内存插槽 CPU GPU:生成点阵图形 运行图形程序 D/A转换:图形显示 基本图形的生成 几何图形G={Pi | Pi 最接近图形的象素 } 基本图形的生成算法任务之一就是找出所有的Pi . 点表示为象素(Pixel),对应于显存地址单元 读写某一象素是硬件设备提供的最基本功能 一维图形,由一个象素宽的直线或曲线表示 二维图形由确定区域的象素表示 线图元的扫描转换是基本图形生算法的基础; 3.2、直线的生成算法 即是找出逼近直线的一组象素,按扫描线顺序,对这些象素进行写操作。 3.2.1. 数值微分法(DDA) 假定直线的起点、终点分别为:(X0,Y0), (X1,Y1),且都为整数。 (X i+1 ,Yi + k) (X
您可能关注的文档
- 读内经后定模板幻灯片.ppt
- 英语:Unit4Lesson26【LiMing’sFavoriteClothes】课件冀教版五年级上课件幻灯片.ppt
- 金版教程2012历史高考总复习人民版当今世界经济的全球化趋势幻灯片.ppt
- 规划初步-8-20130517城市分散发展理论与城市集中发展理论幻灯片.ppt
- 英语:Unit4Lesson27【LiMingpackshissuitcase】1课件冀教版五年级上课件幻灯片.ppt
- 金版教程2012历史高考总复习人民版俄国十月社会主义革命的胜利幻灯片.ppt
- 读书报告1——土壤微生物指标及其应用幻灯片.ppt
- 网络编辑实务教学课件作者肖旻课件资源项目六2课件幻灯片.ppt
- 英语:Unit4Lesson27【LiMingpackshissuitcase】2课件冀教版五年级上课件幻灯片.ppt
- 金版教程2012历史高考总复习人民版发达的古代农业和手工业经济幻灯片.ppt
- TCSPSTC 134-2024 砒霜冶炼砷及伴生重金属污染地块风险管控与修复集成技术规范.docx
- TCGAPA 039-2024 六安黄鸭规范.docx
- SGO 2024_宫颈癌症最新进展PPT课件(英文版).pptx
- TCSTM 01180.2-2024 锻件缺陷检测 第2部分:涡流法.docx
- 2025零信任的部署现状及未来.docx
- 残疾人居家托养服务照料项目服务方案(技术方案).doc
- 《化学反应与电能》-高中化学示范课PPT课件(含视频).pptx
- TCSTM 01180.3-2024 锻件缺陷检测 第3部分:相控阵超声法.docx
- 2025建设工程红外热成像法检测技术规程.docx
- 2025既有建筑结构内部钢筋射线法检测技术规程.docx
文档评论(0)