资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
西北师范大学计算机科学与工程学院学生实验报告学号专业计算机科学与技术班级师范(1)班姓名课程名称图形学课程类型实验名称实验二 中点画圆实验目的:1.了解画圆法的基本思想;2.掌握画圆法的基本步骤。二、实验原理1、判别式是中点画线法的关键,(0=k=0,则d+2*a,上一个点dy。3、中点画圆法是利用圆心在坐标原点(0,0),半径为R(圆的方程X2+Y2=R2),将每个像素的中点坐标代入圆的方程得到d,再通过d的值来确定中点与圆的位置。中点画圆法绘出的只是一个完整圆弧的八分之一,然后根据圆良好的对称性,绘出和参考点对称的另外七个点,再用中点画圆法,以生成的这几个点为基础,绘出其它七段圆弧,构成一个完整的园。这七个点的坐标分别为:(x0+x,y0-y,c),(x0+x,y0+y,c),(x0-x,y0-y,c),(x0-x,y0+y,c),(x0-y,y0-x,c),(x0-y,y0+x,c),(x0+y,y0+x,c),(x0+y,y0-x,c)。找到和参考点对称的另外几个点,再在中点绘制圆弧的定义函数中调用,绘制另外的几段圆弧。三、实验代码及截图代码:#include#includeMidpointCircle(int xc,int yc,int r,int color)int x=0,y=r,d=1-r;WholeCircle(xc,yc,x,y,color);while(x=y) if(d0) d+=2*x+3; x+; else d+=2*(x-y)+5; x+; y-; WholeCircle(xc,yc,x,y,color); WholeCircle(int xc,int yc,int x,int y,int color)putpixel(xc+x,yc+y,color);putpixel(xc-x,yc+y,color);putpixel(xc+x,yc-y,color);putpixel(xc-x,yc-y,color);putpixel(xc+y,yc+x,color);putpixel(xc-y,yc+x,color);putpixel(xc+y,yc-x,color);putpixel(xc-y,yc-x,color);int main() int gdriver = DETECT,gmode; initgraph(&gdriver,&gmode,); MidpointCircle(300,250,200,5); getch (); closegraph();实验结果:实验总结:通过本次实验本人掌握常用图形程序设计和编程实现贝塞尔曲线算法,得出相应的输出图形;希望在能为以后的学习打下基础。实验评语:实验成绩 教师签名
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号