




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 紧急国际合同审查、翻译认证及法律效力合同
- 既有建筑消防设施优化升级补充合同
- 外资保险公司中国理赔业务风险评估与合同
- 亲子关系修复子女探视协议书
- 网络文学作品翻译及工作室租赁商务合作框架协议
- 海洋运输货物保险责任及索赔处理合同
- 雨天安全健康教育
- 共享健身房运营管理补充协议
- 建筑工程安全认证与现场管理协议
- 商业综合体导视系统委托经营及广告投放管理合同
- 中国特色社会主义+综合练习(二)-2025届中职高考一轮复习高教版(2023版)
- 2025苏州市室内设计合同范本
- 《经络穴位的理论与实践》
- 工程合同挂靠协议书范本
- (一模)惠州市2025届高三4月模拟考试英语试卷(含答案)
- 沈阳市东北大学非教师岗位招聘考试真题2024
- 高校宿管培训
- 建筑施工行业安全生产责任保险
- 2025年03月国家卫生健康委统计信息中心公开招聘人才派遣1人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 行政管理本科毕业论文-数字政府建设背景下的行政文化转型探析
- 管理学基础-形考任务三-国开-参考资料
评论
0/150
提交评论