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
Management Accounting Notes Unit 2
Category: NotesJuly 17, 2022
Find greatest of two numbers in two different classes using friend function C++
Category: Practical FilesJuly 16, 2022
Manufacturing Process Lab Manual
Category: Practical FilesJuly 16, 2022
Measuring Instruments Notes - Unit 3
Category: NotesJuly 16, 2022
Optics by Ajoy Ghatak
Category: eBooksJuly 16, 2022
Applied Chemistry Practical File Handwritten
Category: Practical FilesJuly 16, 2022
Power electronics
Category: Practical FilesJuly 17, 2022
Data Structure Question Paper Bhavya 2015
Category: Question PapersJuly 16, 2022
Nuclear Physics Notes for 1st semester
Category: NotesJuly 16, 2022
Java File Handling
Category: NotesJuly 16, 2022