#include<stdio.h>
#include<conio.h>
#include<GL/gl.h>
#include<GL/glu.h>
#include<GL/glut.h>
#include<stdlib.h>
int r,x,y;
void disp()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0.0,0.0);
glPointSize(2.0); // to set size to pixels
glBegin(GL_POINTS);
int p;
x=0;y=r;
p=1-r;
while(x<=y)
{
if(p<0)
{
x=x+1;
y=y;
p=p+2*(x)+1;
glVertex2f(x,y);
glVertex2f(x,-y);
glVertex2f(-x,-y);
glVertex2f(-x,y);
glVertex2f(y,x);
glVertex2f(y,-x);
glVertex2f(-y,-x);
glVertex2f(-y,x);
printf("x=%d,y=%d
\n",x,y);
}
else
{
x=x+1;
y=y-1;
p=p+2*(x-y);
glVertex2f(x,y);
glVertex2f(x,-y);
glVertex2f(-x,-y);
glVertex2f(-x,y);
glVertex2f(y,x);
glVertex2f(y,-x);
glVertex2f(-y,-x);
glVertex2f(-y,x);
printf("x=%d,y=%d
\n",x,y);
}
}
glEnd();
glFlush();
}
void abc()
{
glClearColor(0.0,0.0,0.0,1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-100.0,100.0,-100.0,100.0,-1.0,1.0);
}
int main()
{
printf("Enter radius");
scanf("%d",&r);
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
glutInitWindowSize(500,500);
glutCreateWindow("Bresenham's");
glutInitWindowPosition(50,50);
abc();
glutDisplayFunc(disp);
glutMainLoop();
return 0;
}
No comments:
Post a Comment