Bresenham Circle Drawing Program in C
BresenhamCircle.txt
File size: 1.18 KB
File content type: text/plain
Category: Practical Files
Subject: Computer Graphics and Multimedia
// Program uses graphics.h that is generally available in Turbo C
#include<stdio.h>
#include<dos.h>
#include<graphics.h>
#include<conio.h>
void main() {
int gd=DETECT, gm=DETECT;
int r, x, y, midx, midy,p;
initgraph(&gd,&gm,"");
printf("Enter the Radius of circle : ");
scanf("%d",&r);
x = 0;
y = r;
p = 3 - 2*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+4*x+6;
}
else {
y--; //y decrements only when p>=0
p=p+4*(x-y)+10;
}
}while(x<=y);
getch();
}
Related searches C Program for Bresenham Circle Drawing Algorithm
Last Updated: July 16, 2022
Related
BBA Entrepreneurship Development Notes Unit 3
Category: NotesJuly 17, 2022
Computer Graphics and Multimedia (CGMT) notes
Category: NotesJuly 16, 2022
Three Ammeter Method
Category: Practical FilesJuly 16, 2022
ET Notes For 1st Semester
Category: NotesJuly 16, 2022
Java Program to print Fibonacci series upto n terms
Category: Practical FilesJuly 16, 2022
Business Environment Notes IPU
Category: NotesJuly 17, 2022
Electromagnetic field theory Made Easy Notes
Category: NotesJuly 17, 2022
SNT Unit 3
Category: NotesJuly 17, 2022
Business Communication Notes PDF
Category: NotesJuly 17, 2022
Computer Applications Notes Unit 2
Category: NotesJuly 16, 2022