Tuesday, October 27, 2020

Drawing a circle using OpenGL

 // C program to demonstrate

// drawing a circle using

// OpenGL


#include<stdio.h>

#include<GL/glut.h>

#include<math.h>

#define pi 3.142857


// function to initialize

void myInit (void)

{

// making background color black as first

// 3 arguments all are 0.0

glClearColor(0.0, 0.0, 0.0, 1.0);


// making picture color green (in RGB mode), as middle argument is 1.0

glColor3f(0.0, 1.0, 0.0);


// breadth of picture boundary is 1 pixel

glPointSize(2.0);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();


// setting window dimension in X- and Y- direction

gluOrtho2D(-780, 780, -420, 420);

}


void display (void)

{

glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_POINTS);

float x, y, i;


// iterate y up to 2*pi, i.e., 360 degree

// with small increment in angle as

// glVertex2i just draws a point on specified co-ordinate

for ( i = 0; i < (2 * pi); i += 0.001)

{

// let 200 is radius of circle and as,

// circle is defined as x=r*cos(i) and y=r*sin(i)

x = 200 * cos(i);

y = 200 * sin(i);


glVertex2i(x, y);

}

glEnd();

glFlush();

}


int main (int argc, char** argv)

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);


// giving window size in X- and Y- direction

glutInitWindowSize(1366, 768);

glutInitWindowPosition(0, 0);


// Giving name to window

glutCreateWindow("Circle Drawing");

myInit();


glutDisplayFunc(display);

glutMainLoop();

}

Output:



No comments:

Post a Comment

Derivatives stock list at NSE

Complete FNO stock list at NSE. ABB India Ltd ACC Ltd APL Apollo Tubes Ltd AU Small Finance Bank Ltd Aarti Industries Ltd Abbott India Ltd A...