Graphics programming using c
Home
Question Paperz
Java Projectz
ASP Projectz
8086
Data structures
c++
8085
Tuesday, August 3, 2010
Circle Drawing
2. Write a program to draw a circle using parametric and midpoint algorithm.
#include<stdio.h> #include<graphics.h> #include<math.h> #define ROUND(a)((int)(a+0.5)) void parametric(int,int,int); void midpoint(int,int,int); void plot(int,int,int,int); int main() { int xc,yc,r,choice,gd=DETECT,gm=VGAMAX; printf("\nEnter the center "); scanf("%d%d",&xc,&yc); printf("\nEnter the radius "); scanf("%d",&r); while(1) { printf("\nMENU\n-------\n1.PARAMETRIC\n2.MIDPOINT\n3.EXIT"); printf("\nEnter the choice "); scanf("%d",&choice); initgraph(&gd,&gm,NULL); switch(choice) { case 1: parametric(xc,yc,r); break; case 2: midpoint(xc,yc,r); break; case 3: exit(0); break; default:printf("\nInvalid Choice"); } while (!kbhit()); closegraph(); } return 0; } void parametric(int xc,int yc,int r) { int i,x,y; for(i=0;i<=90;i++) { x=r*cos(3.1412*i/180); y=r*sin(3.1412*i/180); plot(xc,yc,x,y); } } void midpoint(int xc,int yc,int r) { int x=0; int y=r; int p=1-r; plot(xc,yc,x,y); while(x<y) { x++; if(p<0) p+=2*x+1; else { y--; p+=2*(x-y)+1; } plot(xc,yc,x,y); } } void plot(int xc,int yc,int x,int y) { putpixel(xc+x,yc+y,10); putpixel(xc-x,yc+y,10); putpixel(xc+x,yc-y,10); putpixel(xc-x,yc-y,10); putpixel(xc+y,yc+x,10); putpixel(xc-y,yc+x,10); putpixel(xc+y,yc-x,10); putpixel(xc-y,yc-x,10); }
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment