计算机图形学--圆的生成算法的实现

计算机图形学--圆的生成算法的实现

ID:37987355

大小:83.00 KB

页数:6页

时间:2019-05-23

计算机图形学--圆的生成算法的实现_第1页
计算机图形学--圆的生成算法的实现_第2页
计算机图形学--圆的生成算法的实现_第3页
计算机图形学--圆的生成算法的实现_第4页
计算机图形学--圆的生成算法的实现_第5页
资源描述:

《计算机图形学--圆的生成算法的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三圆的生成算法的实现班级信计学号51姓名程芳超分数一、实验目的和要求:1、掌握圆的生成算法的基本原理2、熟悉圆的生成算法,利用Turbor实现中点画圆算法、圆的Bresenham算法。二、实验内容:1、熟悉圆上的8个对称点的算法,利用中点画圆算法画圆并在屏幕上显示出来;2、使用Bresenham画圆法生成一个圆;3、利用line()函数画圆:.圆的参数方程;圆心为o(x0,y0)。以下为各程序的实现代码:1、中点画圆算法:运行结果为:#include"Conio.h"#include"graphics.h"#include"st

2、dio.h"#include"math.h"#defineclosegrclosegraph#definexo300#defineyo250#defineDELTA1.0#definemax100typedefstruct{intx;inty;}Point;typedefstruct{intpointNum;Point*vertices;}Polygon;voidinitgr(void){intgd=DETECT,gm=0;registerbgidriver(EGAVGA_driver);6initgraph(&gd,&gm,"")

3、;}voidputpixels(intx,inty,intcolor,intn){inti,j;for(i=-n/2;i<=n/2;i++)for(j=-n/2;j<=n/2;j++)putpixel(x+j,y+i,color);}voidputpixelt(intx,inty,intcolor,inti){inta[8]={1,1,1,1,0,0,0,0};if(a[i%8])putpixel(x,y,color);}voidEllipsePoints(intx,inty,intcolor){putpixel(xo+x,yo+y

4、,color);putpixel(xo-x,yo+y,color);putpixel(xo+x,yo-y,color);putpixel(xo-x,yo-y,color);}voidCirclePoints(intx,inty,intcolor){putpixel(xo+x,yo+y,color);putpixel(xo+y,yo+x,color);putpixel(xo-y,yo+x,color);putpixel(xo-x,yo+y,color);putpixel(xo+y,yo-x,color);putpixel(xo+x,y

5、o-y,color);putpixel(xo-x,yo-y,color);putpixel(xo-y,yo-x,color);}voidMidPointCircle1(intradius,intcolor){intx,y;floatd;x=0;y=radius;d=5.0/4-radius;CirclePoints(x,y,color);while(y>x){if(d<=0)d+=2.0*x+3;else{d+=2.0*(x-y)+5;y--;6}x++;CirclePoints(x,y,color);}}main(){initgr

6、();cleardevice();MidPointCircle1(150,4);getch();closegraph();}运行结果为:2圆的Bresenham算法:#include#include#include#includevoidBresenhamCircle(xc,yc,radius,color)intxc,yc,radius,color;{intx,y,d;x=0;y=radius;d=3-2*radius;while(x

7、cle_points(xc,yc,x,y,color);if(d<0)d+=4*x+6;else{d+=4*(x-y)+10;y--;}x++;}6if(x==y)plot_circle_points(xc,yc,x,y,color);}plot_circle_points(xc,yc,x,y,color)intxc,yc,x,y,color;{putpixel(xc+x,yc+y,color);putpixel(xc-x,yc+y,color);putpixel(xc+x,yc-y,color);putpixel(xc-x,yc-

8、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);}mai

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。