C program for drawing a Circle using Midpoint Circle Algorithm - CGMT
Mid-pt-Algo-for-Circle.txt
File size: 1.01 KB
File content type: text/plain
Category: Practical Files
Subject: Computer Graphics and Multimedia
Midpoint circle drawing algorithm in C
// The program uses graphics.h which is generally available in Turbo C
#include<conio.h>
#include<stdio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm=DETECT;
int r,x,y,p,midx,midy;
clrscr();
initgraph(&gd,&gm,"");
printf("Enter the Radius of circle : ");
scanf("%d",&r);
x=0;
y=r;
p=1-r;
midx=getmaxx()/2; //To get the max position (Bottom-Right corner) of screen.
midy=getmaxy()/2; //Dividing by 2 to get the centre of screen.
do{
putpixel(midx+ x, midy+ y , 1); //All possible 8 combinations to draw 8 Segments
putpixel(midx- x, midy- y , 2);
putpixel(midx- x, midy+ y , 3);
putpixel(midx+ x, midy- y , 4);
putpixel(midx +y, midy+ x , 5);
putpixel(midx +y, midy -x , 6);
putpixel(midx -y, midy -x , 7);
putpixel(midx -y, midy +x , 8);
delay(20);
x++; //x will always increase , so it is incremented outside if-else
if(p<0)
{
p=p+2*x+1;
}
else
{
y--; //y decrements only when p>0
p=p+2*(x-y)+1;
}
}while(x<=y);
getch();
closegraph();
}
Last Updated: July 16, 2022
Related
ET Notes For 1st Semester
Category: NotesJuly 16, 2022
IPU BPS Notes Unit 3
Category: NotesJuly 17, 2022
Intro Technical Communication notes
Category: NotesJuly 17, 2022
IPU Sales and Distribution Management Notes Unit 4
Category: NotesJuly 17, 2022
Applied Physics 2 Unit 4 Band Theory and Semiconductor Notes
Category: NotesJuly 16, 2022
Linked List program using C
Category: Practical FilesJuly 16, 2022
Management Accounting Notes PDF
Category: NotesJuly 17, 2022
Indian Economy Notes PDF Unit 1
Category: NotesJuly 17, 2022
Information Security EDI Notes - Unit 2
Category: NotesJuly 16, 2022
Management Accounting Notes PDF Unit 4
Category: NotesJuly 17, 2022