You are on page 1of 3

PRACTICAL BRESENHAMS CIRCLE

#INCLUDE<STDIO.H> #INCLUDE<CONIO.H> #INCLUDE<GRAPHICS.H> #INCLUDE<MATH.H>

VOID MAIN()

{
CLRSCR(); INT GDRIVER= DETECT,GMODE; INITGRAPH(&GDRIVER,&GMODE,"D:/TC/BGI"); INT X,Y,D,R,A,B; PRINTF("ENTER X CO-ORDINATE OF ORIGINE : "); SCANF("%D",&A); PRINTF("ENTER Y CO-ORDINATE OF ORIGINE : "); SCANF("%D",&B); PRINTF("ENTER THE RADIOUS : "); SCANF("%D", &R); X=0; Y=R; D=(5/4)-R; PUTPIXEL(A+X,B+Y,RED); PUTPIXEL(A+Y,B+X,RED); PUTPIXEL(A+Y,B-X,RED); PUTPIXEL(A+X,B-Y,RED); PUTPIXEL(A-X,B-Y,RED);

PUTPIXEL(A-Y,B-X,RED); PUTPIXEL(A-Y,B+X,RED); PUTPIXEL(A-X,B+Y,RED);

DO

{
IF (D<0)

{
D=D+(2*X)+3; X=X+1; PUTPIXEL(A+X,B+Y,RED); PUTPIXEL(A+Y,B+X,RED); PUTPIXEL(A+Y,B-X,RED); PUTPIXEL(A+X,B-Y,RED); PUTPIXEL(A-X,B-Y,RED); PUTPIXEL(A-Y,B-X,RED); PUTPIXEL(A-Y,B+X,RED); PUTPIXEL(A-X,B+Y,RED);

}
ELSE

{
D = D+(2*X)-(2*Y)+5; X=X+1;

Y=Y-1; PUTPIXEL(A+X,B+Y,RED); PUTPIXEL(A+Y,B+X,RED); PUTPIXEL(A+Y,B-X,RED); PUTPIXEL(A+X,B-Y,RED); PUTPIXEL(A-X,B-Y,RED); PUTPIXEL(A-Y,B-X,RED); PUTPIXEL(A-Y,B+X,RED); PUTPIXEL(A-X,B+Y,RED);

}WHILE(Y>X);
GETCH(); CLOSEGRAPH();

You might also like