计算机图形学-实验二-椭圆的扫描转换算法_第1页
计算机图形学-实验二-椭圆的扫描转换算法_第2页
计算机图形学-实验二-椭圆的扫描转换算法_第3页
计算机图形学-实验二-椭圆的扫描转换算法_第4页
计算机图形学-实验二-椭圆的扫描转换算法_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上西北农林科技大学实习报告学 院名称:理 学 院 专业班级: 姓名: 学 号:课程:计算机图形学实验 报告日期:第十三周 实验二 椭圆的扫描转换算法一、实验目的了解和掌握中点算法和Bresenham算法。1)中点Bresenhan画椭圆算法。2)编写源程序,在计算机上编译运行,画出正确的图形和输出交点坐标。二、实验步骤1)对直线、圆弧的几何形状及相对位置进行分析,选定比较合适的算法模型。2)画出程序流程图;3)编写程序的源程序;4)编辑源程序并进行调试;5)进行特殊模式的运行测试,并结合情况进行调整。三、实验内容了解和掌握中点算法和Bresenham算法。原理设长短半轴

2、分别为a、b,计算的初始位置为(0,b)。椭圆的方程为:。令(1) 推导圆弧的上半部分(即第一区域)绘制公式:对于第一区域,如图1所示,点坐标为(),()为点正右边的点,()为点右下方的点,()为、的中点。令当,时,的初始值为:当时,应取P2作为下一个像素点,则其正右方的点的坐标为(,),右下方的点的坐标为(,),中点坐标为(,)。此时,当时,应取P1作为下一个像素点,则其正右方的点的坐标为(,),右下方的点的坐标为(,),中点坐标为(,)。此时,(2) 推导圆弧的下半部分(即第二区域)绘制公式:对于第二区域,如图2所示,P点坐标为(,),P1(, )为P点正下方的点、P2(, )为P点右下方

3、的点,M(,)为P1、P2的中点。令设P坐标的初始值为= ,=,=的初始值为:当时,应取P1作为下一个像素点,则其正下方的点的坐标为(,),右下方的点的坐标为(,),中点坐标为(,)。此时, 当时,应取P2作为下一个像素点,则其正下方的点的坐标为(,),右下方的点的坐标为(,),中点坐标为(,)。此时,流程图为:输入半长轴a,短半轴b计算初始值d=b2+a2(-b+0.25),x=0,y=b绘制(x,y)以及另外三个点判断d的符号。d<=0.d d+b2(2x+3),(x,y) (x+1,y);否则d d+b2(2x+3)+a2(2-2y)当b2(x+1)<a2(y-0.5)时用上

4、半部分计算最后点(x,y),来计算下半部分中d的初值d=b2(x+0.5)2+a2(y-1)2-a2b2绘制点(x,y)及其四分象限上的另外3个对称点判断d的符号。d<=0,d d+b2(2xi+2)+a2(3-2yi),(x,y) (x+1,y+1) 否则d d+a2(3-2yi),同时(x,y) (x,y-1) 结束程序的源程序:m文件 function midbresenhamellipse(a,b) x=0;y=b; d1=b*b+a*a*(-b+0.25); while b*b*(x+1)<a*a*(y-0.5) plot(x,y,'*'); hold o

5、n plot(-x,-y,'*'); plot(-x,y,'*'); plot(x,-y,'*'); if d1<=0 d1=d1+b*b*(2*x+3); x=x+1; y=y; else d1=d1+(b*b*(2*x+3)+a*a*(-2*y+2); x=x+1; y=y-1; end end d2=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b; while y>=0 plot(x,y,'*'); hold on plot(-x,-y,'*'); plot(-x,y,'*'); plot(x,-y,'*'); if d2<=0 d2=d2+b*b*(2*x+2)+a*a*(-2*y+3); x=x+1; y=y-1; else d2=d2+a*a*(-2*y+3); y=y-1; end grid on end实验结果>> midbresenhamellipse(8,6)>> midbresenhamellipse(200,100)四、实验总结这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论