




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六组第六组中点画圆算法中点画圆算法假设x坐标为 的各像素点中,与该圆弧最近者已确定,为 ,那么,下一个与圆弧最近的像素只能是正右方的 ,或右下方的两者之一。令M为 和 的中点,易知M的坐标为 。显然,若M在圆内,则 离圆弧近,应取为下一个像素;否则应取 。 px1, 12ppyxp), 1(1ppyxp1pppyxp,2p2p1p5 . 0, 1pPyx222),(RyxyxF对于圆上的点,F=0;对于圆内的点,F0;令函数 判别式d: d的初始值为: 在d0的情况下,取右下方像素 , 在d0的情况下,取正右方像素 , 2225 . 015 . 0, 1RyxyxFMFdppppRRRRFd
2、25. 1)5 . 0(1)5 . 0, 1 (220525 . 125 . 1, 2222pppPpPyxdRyxyxFd 325 . 025 . 0, 2222pppppxdRyxyxFd2p1p为了消除在计算判别式初始值产生的浮点数运算,将用4d来代替d。下述程序使用中点画圆算法绘制一个1/8圆弧。void MidPointCircle(int r,int color) int x,y,d x=0; y=r; d=5-4r; CirclePoint(x,y,color); while(x=y) if(d=0) d+=8x+12; else d+=8(x-y)+20;y-; x+; Cir
3、clePoint(x,y,color); 考虑到中点画圆法画的是单调区间,我们做以下四种分析:(我们只做逆时针绘制)(我们只做逆时针绘制)令函数 领判别式为222)()(),(FRyyxxyxcc25. 0R21x2x2xx2xx)5 . 0,1()(d222cc2c2ciciciiiiciciiyyyyyyyyxxFMF如果如果di0,di=0,di=0,说明说明M M在圆外或圆上,下一点取(在圆外或圆上,下一点取(xi+1xi+1,yi-1yi-1)即即x xi+1i+1=x=xi i+1+1, y yi+1i+1=y=yi i-1-1新的判别式为新的判别式为52222d)5 . 1,2(
4、d1ciciiciciiyyxxyyxxF初始去浮点令hi=di-0.25则25. 0R21x2x2xx2xx)5 . 0,1(d200220c0c02c20000cccccyyyyyyyyxxF200220c0c02c20000R21x2x2xx2xx)5 . 0,1(hcccccyyyyyyyyxxF如果如果hi0.25hi0.25,即,即hi0hi=0.25,hi=0.25,即即hi=0,hi=0,说明说明M M在圆外或圆上,下一点取在圆外或圆上,下一点取(xi+1xi+1,yi-1yi-1)即)即x xi+1i+1=x=xi i+1+1,y yi+1i+1=y=yi i-1-1新的判别
5、式为新的判别式为322dh1ciiixx52222dh1ciciiiyyxxvoid MidPointCircle(int x0,int y0,int xc,int yc,int R,int color) int x,y,h; x=x0; y=y0; d=x*x+xc*xc-2x*xc+2x-2xc+y*y+yc*yc-y+yc-2*y*yc-R*R+1; CirclePoint(x,y,color); while(L(x,y)1&yyc) / L(x,y)当前点到终点的距离 if(h0) h+=2*x-2xc+3; else h+=2*x-2xc-2*y+2*yc+5; y-; x+; Ci
6、rclePoint(x,y,color); 令函数领判别式为领判别式为222)()(),(FRyyxxyxcc25. 1R222xxxx2xx)1,5 . 0()(d222cc2c2ciciciiiiciciiyyyyyyyyxxFMF如果如果di0,di=0,di=0,说明说明M M在圆外或圆上,下一点取(在圆外或圆上,下一点取(xi-1xi-1,yi-1yi-1)即即x xi+1i+1=x=xi i-1-1, y yi+1i+1=y=yi i-1-1新的判别式为新的判别式为52222d)2,5 . 1(d1ciciiciciiyyxxyyxxF初始去浮点令hi=di-0.25则25. 1R
7、222xxxx2xx)1,5 . 0(d200220c0c02c20000cccccyyyyyyyyxxF1R222xxxx2xx)1,5 . 0(h200220c0c02c20000cccccyyyyyyyyxxF如果如果hi0.25hi0.25,即,即hi0hi=0.25,hi=0.25,即即hi=0,hi=0,说明说明M M在圆外或圆上,下一点取在圆外或圆上,下一点取(xi-1xi-1,yi-1yi-1)即)即x xi+1i+1=x=xi i-1-1,y yi+1i+1=y=yi i-1-1新的判别式为新的判别式为322dh1ciiiyy52222dh1ciciiiyyxxvoid Mi
8、dPointCircle(int x0,int y0,int xc,int yc,int R,int color) int x,y,h; x=x0; y=y0; d=x*x+xc*xc-2x*xc-x+xc+y*y+yc*yc-2y+2yc-2*y*yc-R*R+1; CirclePoint(x,y,color); while(L(x,y)1&xxc) if(h0) h+=2*yc-2y+3; else h+=2*xc-2x-2*y+2*yc+5; y-; x+; CirclePoint(x,y,color); 令函数领判别式为领判别式为222)()(),(FRyyxxyxcc25. 1R2x
9、2x2xx2xx)5 . 0,1()(d222cc2c2ciciciiiiciciiyyyyyyyyxxFMF如果如果di0,di=0,di=0,说明说明M M在圆外或圆上,下一点取(在圆外或圆上,下一点取(xi-1xi-1,yi+1yi+1)即即x xi+1i+1=x=xi-i-1 1, y yi+1i+1=y=yi+i+1 1新的判别式为新的判别式为52222d)5 . 1,2(d1ciciiciciiyyxxyyxxF初始去浮点令hi=di-0.25则25. 1R2x2x2xx2xx)5 . 0,1(d200220c0c02c20000cccccyyyyyyyyxxF1R2x2x2xx2
10、xx)5 . 0,1(h200220c0c02c20000cccccyyyyyyyyxxF如果如果hi0.25hi0.25,即,即hi0hi=0.25,hi=0.25,即即hi=0,hi=0,说明说明M M在圆外或圆上,下一点取在圆外或圆上,下一点取(xi-1xi-1,yi+1yi+1)即)即x xi+1i+1=x=xi i-1-1,y yi+1i+1=y=yi i+1+1新的判别式为新的判别式为322dh1ciiixx52222dh1ciciiiyyxxvoid MidPointCircle(int x0,int y0,int xc,int yc,int R,int color) int x
11、,y,h; x=x0; y=y0; d=x*x+xc*xc-2x*xc+2x-2xc+y*y+yc*yc-y+yc-2*y*yc-R*R+1; CirclePoint(x,y,color); while(L(x,y)1&xxc) if(h0) h+=2*xc+2x+3; else h+=2*xc-2x-2*yc+2*y+5; y-; x+; CirclePoint(x,y,color); 令函数令判别式为令判别式为222)()(),(FRyyxxyxcc25. 1R222xxxx2xx)1,5 . 0()(d222cc2c2ciciciiiiciciiyyyyyyyyxxFMF如果如果di0,
12、di=0,di=0,说明说明M M在圆外或圆上,下一点取(在圆外或圆上,下一点取(xi+1xi+1,yi,+1yi,+1)即即x xi+1i+1=x=xi i+1+1, y yi+1i+1=y=yi i+1+1新的判别式为新的判别式为52222d)2,5 . 1(d1ciciiciciiyyxxyyxxF初始去浮点令hi=di-0.25则25. 1R222xxxx2xx)1,5 . 0(d200220c0c02c20000cccccyyyyyyyyxxF1R222xxxx2xx)1,5 . 0(h200220c0c02c20000cccccyyyyyyyyxxF如果如果hi0.25hi0.25,即,即hi0hi=0.25,hi=0.25,即即hi=0,hi=0,说明说明M M在圆外或圆上,下一点取在圆外或圆上,下一点取(xi+1xi+1,yi+1yi+1)即)即x xi+1i+1=x=xi i+1+1,y yi+1i+1=y=yi i+1+1新的判别式为新的判别式为322dh1ciiiyy52222dh1ciciiiyyxxvoid MidPointCircle(int x0,int y0,int xc,int yc,int R,int color) int x,y,h; x=x0; y=y0; d=x*x+xc*xc-2x*xc+x-xc+y*y+yc*y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国外投资协议
- 七年级道德与法治上册 第一单元 成长的节拍 第二课 网络生活新空间 第1框 网络改变世界教学设计 新人教版
- 八年级历史下册 第三学习主题 建设中国特色社会主义 第11课 社会主义民主与法制建设教学设计1 川教版
- 做时间的主人(教学设计)-小学生六年级班会时间管理辅导
- 25春沪科版九年级下册物理教学设计 第十九章 第二节 让信息“飞”起来
- 七年级地理上册 5.2 世界的人种、语言和宗教教学设计 (新版)粤教版
- 挑战你的农业职业经理人考试技巧试题及答案
- Unit 4 My family(教学设计)-2023-2024人教新起点版英语三年级下册
- 园艺师的创业思维考题试题及答案
- 智能云仓项目可行性分析与未来发展趋势
- 保密知识题库含答案
- 冷链物流成本控制-全面剖析
- 有关商品房预售合同样本合同样本7篇
- 2025年高考物理复习备考策略讲座
- 管理学基础-形考任务三-国开-参考资料
- 2024-2025学年北师大版七年级数学上册期末复习压轴题12个(84题)含答案
- 2023年北京市大兴区小升初数学模拟试卷(含答案)
- 2025年3月版安全环境职业健康法律法规标准文件清单
- 2025年河南交通职业技术学院单招职业技能测试题库审定版
- T∕CEC 442-2021 直流电缆载流量计算公式
- 第二十一章传导热疗法讲解
评论
0/150
提交评论