Skip to content

Instantly share code, notes, and snippets.

@Eyakub
Last active July 29, 2018 11:11
Show Gist options
  • Save Eyakub/435dde5ac619f46a543ecac34686edc2 to your computer and use it in GitHub Desktop.
Save Eyakub/435dde5ac619f46a543ecac34686edc2 to your computer and use it in GitHub Desktop.
using Code blocks
final.txt
Yesterday
Fri 11:32 PM
iron imran uploaded an item
Text
final.txt
#include <GL/gl.h>
#include <GL/glut.h>
void display(void)
{
/* clear all pixels */
glClear (GL_COLOR_BUFFER_BIT);
/* draw white polygon (rectangle) with corners at
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
*/
/*background*/
glColor3f (0.0, 0.95, 0.0);
glBegin(GL_POLYGON);
glVertex2d (100, 0);
glVertex2d (100, 100);
glVertex2d (0, 100);
glVertex2d (0, 0);
glEnd();
/*background End*/
/*Left wall*/
glColor3f (0.0, 0.90, 0.00);
glBegin(GL_POLYGON);
glVertex2d (0, 0);
glVertex2d (10, 10);
glVertex2d (10, 100);
glVertex2d (0, 100);
glEnd();
/*Left wall End*/
/*Floor*/
glColor3f (0.63, 0.81, 0.92);
glBegin(GL_POLYGON);
glVertex2d (0, 0);
glVertex2d (10, 20);
glVertex2d (100, 20);
glVertex2d (100, 0);
glEnd();
/*Floor End*/
/*Stool leg 1*/
glColor3f (0.0, 0.0, .70);
glBegin(GL_POLYGON);
glVertex2d (49, 5);
glVertex2d (54, 8);
glVertex2d (54, 24);
glVertex2d (49, 24);
glEnd();
/*Stool leg 1 End*/
/*Stool leg 2*/
glColor3f (0.0, 0.0, 0.50);
glBegin(GL_POLYGON);
glVertex2d (49, 5);
glVertex2d (44, 8);
glVertex2d (44, 24);
glVertex2d (49, 24);
glEnd();
/*Stool leg 2 End*/
/*Stool seat 1*/
glColor3f (0.05, 0.25, 0.75);
glBegin(GL_POLYGON);
glVertex2d (49, 22);
glVertex2d (44, 24);
glVertex2d (42, 30);
glVertex2d (49, 27);
glEnd();
/*Stool seat 1 End*/
/*Stool seat 2*/
glColor3f (0.10, 0.35, 0.85);
glBegin(GL_POLYGON);
glVertex2d (49, 22);
glVertex2d (54, 24);
glVertex2d (56, 30);
glVertex2d (49, 27);
glEnd();
/*Stool seat 2 End*/
/*Stool seat top*/
glColor3f (0.50, 0.41, 0.65);
glBegin(GL_POLYGON);
glVertex2d (49, 27);
glVertex2d (56, 30);
glVertex2d (49, 32);
glVertex2d (42, 30);
glEnd();
/*Stool seat top End*/
/*Drawer box left extension*/
//glColor3f (0.0, 0.0, 0.0);
//glBegin(GL_POLYGON);
//glVertex2d (35, 15);
//glVertex2d (35.7, 20);
//glVertex2d (35.7, 5);
//glVertex2d (35, 5);
//glEnd();
glColor3f (0.0, 0.0, 0.0);
glBegin(GL_POLYGON);
glVertex2d (20, 15);
glVertex2d (35, 15);
glVertex2d (35, 50);
glVertex2d (20, 50);
glEnd();
/*Drawer box extension End*/
/*Drawer box left*/
glColor3f (0.15, 0.12, 0.14);
glBegin(GL_POLYGON);
glVertex2d (20, 15);
glVertex2d (35, 15);
glVertex2d (35, 5);
glVertex2d (20, 5);
glEnd();
/*Drawer box End*/
/*Drawer1*/
glColor3f (1.0, 0.70, 0.28);
glBegin(GL_POLYGON);
glVertex2d (22, 20);
glVertex2d (33, 20);
glVertex2d (33, 27);
glVertex2d (22, 27);
glEnd();
/*Drawer1 End*/
/*Drawer1 handle*/
glColor3f (1.0, 1.00, 1.00);
glBegin(GL_POLYGON);
glVertex2d (26, 23);
glVertex2d (29, 23);
glVertex2d (29, 24);
glVertex2d (26, 24);
glEnd();
/*Drawer1 handle End*/
/*Drawer2*/
glColor3f (1.0, 0.70, 0.28);
glBegin(GL_POLYGON);
glVertex2d (22, 30);
glVertex2d (33, 30);
glVertex2d (33, 37);
glVertex2d (22, 37);
glEnd();
/*Drawer2 End*/
/*Drawer2 handle*/
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex2d (26, 33);
glVertex2d (29, 33);
glVertex2d (29, 34);
glVertex2d (26, 34);
glEnd();
/*Drawer2 handle End*/
/*Drawer3*/
glColor3f (1.0, 0.70, 0.28);
glBegin(GL_POLYGON);
glVertex2d (22, 40);
glVertex2d (33, 40);
glVertex2d (33, 47);
glVertex2d (22, 47);
glEnd();
/*Drawer3 End*/
/*Drawer3 handle*/
glColor3f (1.0, 1.00, 1.00);
glBegin(GL_POLYGON);
glVertex2d (26, 43);
glVertex2d (29, 43);
glVertex2d (29, 44);
glVertex2d (26, 44);
glEnd();
/*Drawer3 handle End*/
/*Drawer box right*/
glColor3f (0.15, 0.12, 0.14);
glBegin(GL_POLYGON);
glVertex2d (65, 15);
glVertex2d (80, 15);
glVertex2d (80, 50);
glVertex2d (65, 50);
glEnd();
/*Drawer box End*/
/*Book shelf space bottom*/
glColor3f (0.63, 0.81, 0.92);
glBegin(GL_POLYGON);
glVertex2d (66, 15);
glVertex2d (79, 15);
glVertex2d (79, 20);
glVertex2d (66, 20);
glEnd();
/*Book shelf space bottom End*/
/*Book self divider 1*/
glColor3f (0.15, 0.12, 0.14);
glBegin(GL_POLYGON);
glVertex2d (66, 20);
glVertex2d (79, 20);
glVertex2d (79, 22);
glVertex2d (66, 22);
glEnd();
/*Book self divider 1 End*/
/*Book shelf space 1*/
glColor3f (0.40, 0.50, 0.50);
glBegin(GL_POLYGON);
glVertex2d (66, 22);
glVertex2d (79, 22);
glVertex2d (79, 30);
glVertex2d (66, 30);
glEnd();
/*Book shelf 1 End*/
/*Book shelf space 1 book 1*/
glColor3f (1.0, 0.5, 0.5);
glBegin(GL_POLYGON);
glVertex2d (68, 22);
glVertex2d (76, 22);
glVertex2d (76, 24);
glVertex2d (68, 24);
glEnd();
/*Book shelf space 1 book 1 End*/
/*Book shelf space 1 book 2*/
glColor3f (0.40, 0.40, 0.40);
glBegin(GL_POLYGON);
glVertex2d (68, 24);
glVertex2d (76, 24);
glVertex2d (76, 26);
glVertex2d (68, 26);
glEnd();
/*Book shelf space 1 book 2 End*/
/*Book shelf space 1 book 3*/
glColor3f (1.0, 0.6, 0.0);
glBegin(GL_POLYGON);
glVertex2d (69, 26);
glVertex2d (76, 26);
glVertex2d (76, 29);
glVertex2d (69, 29);
glEnd();
/*Book shelf space 1 book 3 End*/
/*Book self divider 2*/
glColor3f (0.15, 0.12, 0.14);
glBegin(GL_POLYGON);
glVertex2d (66, 30);
glVertex2d (79, 30);
glVertex2d (79, 32);
glVertex2d (66, 32);
glEnd();
/*Book self divider 2 End*/
/*Book shelf right 2*/
glColor3f (0.40, 0.50, 0.50);
glBegin(GL_POLYGON);
glVertex2d (66, 32);
glVertex2d (79, 32);
glVertex2d (79, 40);
glVertex2d (66, 40);
glEnd();
/*Book self right 2 End*/
/*Book shelf right 2 book 1*/
glColor3f (1.0, 0.0, 0.0);
glBegin(GL_POLYGON);
glVertex2d (68, 32);
glVertex2d (78, 32);
glVertex2d (78, 33);
glVertex2d (68, 33);
glEnd();
/*Book self right 2 book 1 End*/
/*Book shelf right 2 book 2*/
glColor3f (0.0, 0.0, 0.0);
glBegin(GL_POLYGON);
glVertex2d (67, 33);
glVertex2d (77, 33);
glVertex2d (77, 34);
glVertex2d (67, 34);
glEnd();
/*Book self right 2 book 2 End*/
/*Book shelf right 2 book 3*/
glColor3f (0.0, 0.8, 1.0);
glBegin(GL_POLYGON);
glVertex2d (67.2, 34);
glVertex2d (77.5, 34);
glVertex2d (77.5, 35);
glVertex2d (67.2, 35);
glEnd();
/*Book self right 2 book 3 End*/
/*Book shelf divider 3*/
glColor3f (0.15, 0.12, 0.14);
glBegin(GL_POLYGON);
glVertex2d (66, 40);
glVertex2d (79, 40);
glVertex2d (79, 42);
glVertex2d (66, 42);
glEnd();
/*Book shelf divider 3 End*/
/*Book shelf drawer*/
glColor3f (1.0, 0.70, 0.28);
glBegin(GL_POLYGON);
glVertex2d (66, 42);
glVertex2d (79, 42);
glVertex2d (79, 48);
glVertex2d (66, 48);
glEnd();
/*Book shelf drawer End*/
/*Book shelf drawer handle*/
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex2d (71, 44);
glVertex2d (74, 44);
glVertex2d (74, 45);
glVertex2d (71, 45);
glEnd();
/*Book shelf drawer handle End*/
/*Photo frame border*/
glColor3f (0.40, 0.50, 0.50);
glBegin(GL_POLYGON);
glVertex2d (21.5, 95);
glVertex2d (30.5, 95);
glVertex2d (30.5, 76);
glVertex2d (21.5, 76);
glEnd();
/*Photo frame border End*/
/*Photo frame*/
glColor3f (0.85, 1.0, 1.00);
glBegin(GL_POLYGON);
glVertex2d (22, 94);
glVertex2d (30, 94);
glVertex2d (30, 77);
glVertex2d (22, 77);
glEnd();
/*Photo frame End*/
/*Photo frame2*/
glColor3f (0.05, 0.0, 0.00);
glBegin(GL_POLYGON);
glVertex2d (42, 94);
glVertex2d (50, 94);
glVertex2d (50, 77);
glVertex2d (42, 77);
glEnd();
glColor3f (0.85, 1.0, 1.00);
glBegin(GL_POLYGON);
glVertex2d (42.5, 93);
glVertex2d (49.5, 93);
glVertex2d (49.5, 78);
glVertex2d (42.5, 78);
glEnd();
glColor3f (0.05, 0.0, 0.00);
glBegin(GL_POLYGON);
glVertex2d (46, 84);
glVertex2d (46.5, 84);
glVertex2d (46.3, 92);
//glVertex2d (42, 77);
glEnd();
glColor3f (0.05, 0.0, 0.00);
glBegin(GL_POLYGON);
glVertex2d (46, 84);
glVertex2d (46, 85);
glVertex2d (49, 84.5);
//glVertex2d (42, 77);
glEnd();
glColor3f (0.05, 0.0, 0.00);
glBegin(GL_POLYGON);
glVertex2d (46, 84);
glVertex2d (46.2, 84);
glVertex2d (46.1, 78);
//glVertex2d (42, 77);
glEnd();
/*Photo frame2 End*/
glColor3f (0.05, 0.0, 0.00);
glBegin(GL_POLYGON);
glVertex2d (1, 1);
glVertex2d (9, 17);
glVertex2d (9, 80);
glVertex2d (1, 80);
glEnd();
glColor3f (1.0, 0.70, 0.28);
glBegin(GL_POLYGON);
glVertex2d (1.5, 3);
glVertex2d (9, 9);
glVertex2d (9, 79);
glVertex2d (1.5, 79);
glEnd();
/*Photo hill 1 */
glColor3f (0.1, 0.8, 1.0);
glBegin(GL_POLYGON);
glVertex2d (26, 80);
glVertex2d (28, 80);
glVertex2d (28, 90);
glVertex2d (26, 90);
glEnd();
/*Photo hill 1 End*/
/*Photo hill 2*/
glColor3f (0.0, 0.9, 1.0);
glBegin(GL_POLYGON);
glVertex2d (23, 80);
glVertex2d (27, 80);
glVertex2d (25, 85);
glEnd();
/*Photo hill 2 End*/
/*Table top*/
glColor3f (0.90, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex2d (18, 50);
glVertex2d (82, 50);
glVertex2d (82, 53);
glVertex2d (18, 53);
glEnd();
/*Table top End*/
/*Left books 1*/
glColor3f (1.0, 0.5, 0.0);
glBegin(GL_POLYGON);
glVertex2d (22, 53);
glVertex2d (30, 53);
glVertex2d (30, 55);
glVertex2d (22, 55);
glEnd();
/*Left books 1 End*/
/*Left books 2*/
glColor3f (0.0, 0.70, 0.35);
glBegin(GL_POLYGON);
glVertex2d (23, 55);
glVertex2d (31, 55);
glVertex2d (31, 57);
glVertex2d (23, 57);
glEnd();
/*Left books 2 End*/
/*Left books 3*/
glColor3f (0.8, 0.7, 0.5);
glBegin(GL_POLYGON);
glVertex2d (22, 57);
glVertex2d (29, 57);
glVertex2d (29, 59);
glVertex2d (22, 59);
glEnd();
/*Left books 3 End*/
/*Wall book shelf book 1*/
glColor3f (1.00, 1.00, 1.00);
glBegin(GL_POLYGON);
glVertex2d (64, 78);
glVertex2d (65, 78);
glVertex2d (65, 90);
glVertex2d (64, 90);
glEnd();
/*Wall book shelf book 1 End*/
/*Wall book shelf book 2*/
glColor3f (0.90, 0.80, 0.10);
glBegin(GL_POLYGON);
glVertex2d (65, 78);
glVertex2d (66, 78);
glVertex2d (66, 89);
glVertex2d (65, 89);
glEnd();
/*Wall book shelf book 2 End*/
/*Wall book shelf book 3*/
glColor3f (0.0, 0.0, 0.0);
glBegin(GL_POLYGON);
glVertex2d (66, 78);
glVertex2d (67.5, 78);
glVertex2d (67.5, 91);
glVertex2d (66, 91);
glEnd();
/*Wall book shelf book 3 End*/
/*Wall book shelf book 4*/
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex2d (67.5, 78);
glVertex2d (68.5, 78);
glVertex2d (68.5, 89.5);
glVertex2d (67.5, 89.5);
glEnd();
/*Wall book shelf book 4 End*/
/*Wall book shelf book 5*/
glColor3f (0.25, 0.30, 0.30);
glBegin(GL_POLYGON);
glVertex2d (68.5, 78);
glVertex2d (69.5, 78);
glVertex2d (69.5, 89);
glVertex2d (68.5, 89);
glEnd();
/*Wall book shelf book 5 End*/
/*Wall book shelf book 6*/
glColor3f (1.0, 0.7, 0.5);
glBegin(GL_POLYGON);
glVertex2d (69.5, 78);
glVertex2d (70.5, 78);
glVertex2d (70.5, 85);
glVertex2d (69.5, 85);
glEnd();
/*Wall book shelf book 6 End*/
/*Wall book shelf bar*/
glColor3f (0.25, 0.30, 0.30);
glBegin(GL_POLYGON);
glVertex2d (62, 78 );
glVertex2d (80, 78 );
glVertex2d (80, 79 );
glVertex2d (62, 79 );
glEnd();
/*Wall book shelf bar End*/
/*Wall book shelf bottom left extension*/
glColor3f (0.25, 0.30, 0.30);
glBegin(GL_POLYGON);
glVertex2d (63, 79);
glVertex2d (64, 79);
glVertex2d (64, 76);
glVertex2d (63, 76);
glEnd();
/*Wall book shelf bottom left extension End*/
/*Wall book shelf bottom right extension*/
glColor3f (0.25, 0.30, 0.30);
glBegin(GL_POLYGON);
glVertex2d (79, 79);
glVertex2d (78, 79);
glVertex2d (78, 76);
glVertex2d (79, 76);
glEnd();
/*Wall book shelf bottom right extension End*/
/*Printer Body*/
glColor3f (0.25, 0.30, 0.30);
glBegin(GL_POLYGON);
glVertex2d (68, 53);
glVertex2d (79, 53);
glVertex2d (79, 63);
glVertex2d (68, 63);
glEnd();
/*Printer Body End*/
/*Printer front*/
glColor3f (0.22, 0.24, 0.25);
glBegin(GL_POLYGON);
glVertex2d (69.5, 53);
glVertex2d (77.5, 53);
glVertex2d (77.5, 64);
glVertex2d (69.5, 64);
glEnd();
/*Printer front End*/
/*Printer paper holder*/
glColor3f (0.25, 0.30, 0.30);
glBegin(GL_POLYGON);
glVertex2d (70, 64);
glVertex2d (77, 64);
glVertex2d (77, 68);
glVertex2d (70, 68);
glEnd();
/*Printer paper holder End*/
/*Printer paper*/
glColor3f (1.00, 1.00, 1.00);
glBegin(GL_POLYGON);
glVertex2d (71, 64);
glVertex2d (76, 64);
glVertex2d (76, 70);
glVertex2d (71, 70);
glEnd();
/*Printer paper End*/
/*Printer paper release*/
glColor3f (0.10, 0.10, 0.10);
glBegin(GL_POLYGON);
glVertex2d (70, 55);
glVertex2d (77, 55);
glVertex2d (77, 57);
glVertex2d (70, 57);
glEnd();
/*Printer paper release End*/
/*Printer paper release tray*/
glColor3f (0.40, 0.37, 0.37);
glBegin(GL_POLYGON);
glVertex2d (70, 55);
glVertex2d (77, 55);
glVertex2d (77.5, 54);
glVertex2d (69.5, 54);
glEnd();
/*Printer paper release tray End*/
/* display body*/
glColor3f (0.25, 0.30, 0.30);
glBegin(GL_POLYGON);
glVertex2d (42, 53);
glVertex2d (56, 53);
glVertex2d (56, 70);
glVertex2d (42, 70);
glEnd();
/*Laptop display body End*/
/*Laptop display*/
glColor3f (0.0, 0.9, 1.0);
glBegin(GL_POLYGON);
glVertex2d (42.5, 55);
glVertex2d (55.5, 55);
glVertex2d (55.5, 69);
glVertex2d (42.5, 69);
glEnd();
/*Laptop display End*/
/*Laptop body*/
glColor3f (0.8, 0.8, 0.8);
glBegin(GL_POLYGON);
glVertex2d (42, 53);
glVertex2d (56, 53);
glVertex2d (57, 54);
glVertex2d (41, 54);
glEnd();
/*Laptop body End*/
glColor3f (0.63, 0.81, 0.92);
glBegin(GL_POLYGON);
glVertex2d (15, 5);
glVertex2d (35, 5);
glVertex2d (35, 15);
glVertex2d (15, 15);
glEnd();
/*Coffee Mug*/
glColor3f (.20, .20, 1.0);
glBegin(GL_POLYGON);
glVertex2d (50, 53);
glVertex2d (52, 53);
glVertex2d (52, 57);
glVertex2d (50, 57);
glEnd();
/*Coffee Mug End*/
/*Coffee Mug handle 1*/
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex2d (52, 55);
glVertex2d (52.8, 55);
glVertex2d (52.8, 55.4);
glVertex2d (52, 55.4);
glEnd();
/*Coffee Mug handle 1 End*/
/*Coffee Mug handle 1*/
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex2d (52.6, 55);
glVertex2d (52.8, 55);
glVertex2d (52.8, 56.3);
glVertex2d (52.6, 56.3);
glEnd();
/*Coffee Mug handle 1 End*/
/*Coffee Mug handle 2*/
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex2d (52, 56.3);
glVertex2d (52.8, 56.3);
glVertex2d (52.8, 55.9);
glVertex2d (52, 55.9);
glEnd();
/*Coffee Mug handle 2 End*/
/* don't wait!
* start processing buffered OpenGL routines
*/
glFlush ();
}
void init (void)
{
/* select clearing (background) color */
glClearColor (0.0, 0.0, 0.0, 0.0);
/* initialize viewing values */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, 100, 0, 100);
}
/*
* Declare initial window size, position, and display mode
* (single buffer and RGBA). Open window with "hello"
* in its title bar. Call initialization routines.
* Register callback function to display graphics.
* Enter main loop and process events.
*/
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (1380, 700);
glutInitWindowPosition (100, 100);
glutCreateWindow ("Hello");
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0; /* ISO C requires main to return int. */
}
#include <GL/gl.h>
#include <GL/glut.h>
int m,x,x1,x2,xi,y,y1,y2,yi,dx,dy,i,step,p;
void display(void)
{
/* clear all pixels */
glClear (GL_COLOR_BUFFER_BIT);
/* draw white polygon (rectangle) with corners at
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
*/
glColor3f (1, 1, 1);
glBegin(GL_POINTS);
for(i=0; i<dx; i++)
{
if(p<0)
{
x = x+1;
y = y;
p = p + 2*dy;
}
else
{
x = x+1;
y = y+1;
p = p + 2*dy - 2*dx;
}
glVertex2d(x,y);
}
glEnd();
/* don't wait!
* start processing buffered OpenGL routines
*/
glFlush ();
}
void init (void)
{
/* select clearing (background) color */
glClearColor (0.0, 0.0, 0.0, 0.0);
/* initialize viewing values */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, 300, 0, 300);
}
/*
* Declare initial window size, position, and display mode
* (single buffer and RGBA). Open window with "hello"
* in its title bar. Call initialization routines.
* Register callback function to display graphics.
* Enter main loop and process events.
*/
int main(int argc, char** argv)
{
printf("x1 = ");
scanf(" %d",&x1);
printf("y1 = ");
scanf(" %d",&y1);
printf("x2 = ");
scanf(" %d",&x2);
printf("y2 = ");
scanf(" %d",&y2);
dx = x2-x1;
dy = y2-y1;
p = 2*dy - dx;
/*if(dy>dx)
{
yi = dy/dy;
xi = dx/dy;
step = dy;
}
else
{
xi = dx/dx;
yi = dx/dy;
step = dx;
}
*/
x = x1;
y = y1;
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow ("hello");
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0; /* ISO C requires main to return int. */
}
#include <gl/glut.h>
#include <stdio.h>
//global variable for taking input
int x1, y1, x2, y2;
void myInit() {
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(0.0, 0.0, 0.0, 1.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0, 500, 0, 500);
}
//this function for putting POINTS on the screen for graph
void draw_pixel(int x, int y) {
glBegin(GL_POINTS);
glVertex2i(x, y);
glEnd();
}
//line draw function workings
void draw_line(int x1, int x2, int y1, int y2) {
int dx, dy, i, e;
int incx, incy, inc1, inc2;
int x,y;
dx = x2-x1;
dy = y2-y1;
if (dx < 0)
dx = -dx;
if (dy < 0)
dy = -dy;
incx = 1;
if (x2 < x1)
incx = -1;
incy = 1;
if (y2 < y1)
incy = -1;
x = x1;
y = y1;
if (dx > dy) {
draw_pixel(x, y);
e = 2 * dy-dx;
inc1 = 2*(dy-dx);
inc2 = 2*dy;
for (i=0; i<dx; i++) {
if (e >= 0) {
y += incy;
e += inc1;
}
else
e += inc2;
x += incx;
draw_pixel(x, y);
}
} else {
draw_pixel(x, y);
e = 2*dx-dy;
inc1 = 2*(dx-dy);
inc2 = 2*dx;
for (i=0; i<dy; i++) {
if (e >= 0) {
x += incx;
e += inc1;
}
else
e += inc2;
y += incy;
draw_pixel(x, y);
}
}
}
void myDisplay() {
draw_line(x1, x2, y1, y2);
glFlush();
}
void main(int argc, char **argv) {
printf("Enter x1 & x2:\n");
scanf("%d %d", &x1, &x2);
printf("Enter y1 & y2:\n");
scanf("%d %d", &y1, &y2);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(500, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow("Bresenham's Line Drawing");
myInit();
glutDisplayFunc(myDisplay);
glutMainLoop();
}
#include <GL/gl.h>
#include <GL/glut.h>
int i,j,k;
void display(void)
{
glClear (GL_COLOR_BUFFER_BIT);
for(i = 0; i < 4; i++ )
{
for(j = 0; j < 4; j++ )
{
glBegin(GL_POLYGON);
if((i%2) == 0)
{
if((j%2) == 0)
{
glColor3f (1, 1, 1);
}
else
{
glColor3f (0, 0, 0);
}
}
else
{
if((j%2) == 0)
{
glColor3f (0, 0, 0);
}
else
{
glColor3f (1, 1, 1);
}
}
glVertex2f (i, j);
glVertex2f (i + 1, j);
glVertex2f (i + 1,j + 1);
glVertex2f (i, j + 1);
glEnd();
}
}
glColor3ub(255, 0, 255);
glBegin(GL_LINES);
glVertex2d(.1, .1);
glVertex2d(.8, .1);
glVertex2d(.1, .2);
glVertex2d(.8, .2);
glVertex2d(.1, .1);
glVertex2d(.1, .2);
glVertex2d(.8, .1);
glVertex2d(.8, .2);
glVertex2d(.4, .2);
glVertex2d(.4, .5);
glVertex2d(.6, .2);
glVertex2d(.6, .5);
glVertex2d(.2, .5);
glVertex2d(.2, .6);
glVertex2d(.2, .6);
glVertex2d(.7, .6);
glVertex2d(.7, .6);
glVertex2d(.7, .5);
glVertex2d(.2, .5);
glVertex2d(.7, .5);
glEnd();
glFlush ();
}
void init (void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 4, 0, 4, -1.0, 1.0);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (600, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow ("Chess Board");
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
#include<GL/glut.h>
#include <GL/gl.h>
#include<stdlib.h>
#define ROUND(x) ((int)(x+0.5))
int xa,xb,ya,yb;
void display (void)
{
int dx = xb - xa, dy = yb - ya, steps, k, i;
float xIncrement, yIncrement, x = xa, y = ya;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 0.0, 0.0);
if(abs(dx) > abs(dy)){
steps = abs(dx);
}
else{
steps = abs(dy);
}
xIncrement = dx / (float)steps;
yIncrement = dy / (float)steps;
glBegin(GL_POINTS);
glVertex2s(ROUND(x),ROUND(y));
for(k = 0; k < steps; k++)
{
x += xIncrement;
y += yIncrement;
glVertex2s(ROUND(x),ROUND(y));
printf("%lf %lf\n", x, y);
}
glColor3f (1.0, 1.0, 1.0);
for(i = -100 ; i <= 100 ; i++)
{
glVertex2s(i,0);
glVertex2s(0,i);
}
//x & y Visualize
for(i = -2; i <= 2 ; i++)
{
glVertex2s(95+i,4+i);
glVertex2s(95-i,4+i);
}
for(i = 0; i <= 2 ; i++)
{
glVertex2s(4+i,95+i);
glVertex2s(4-i,95+i);
glVertex2s(4,95-i);
}
glEnd();
glFlush();
}
void init(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glOrtho(-100.0, 100.0, -100.0, 100.0, -1.0, 1.0);
}
int main(int argc, char** argv)
{
printf("Enter the points\n");
scanf("%d %d %d %d", &xa, &ya, &xb, &yb);
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow ("Simple DDA ");
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
#include <GL/gl.h>
#include <GL/glut.h>
void display(void)
{
glClear (GL_COLOR_BUFFER_BIT);
/* draw white polygon (rectangle) with corners at
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
*/
glColor3ub (255,255,0);
glBegin(GL_TRIANGLES);
glVertex2i(50,400);
glVertex2i(100,400);
glVertex2i(50,500);
glEnd();
glColor3ub(255, 255, 255);
glBegin(GL_LINES);
glVertex2i(100, 400);
glVertex2i(150, 450);
glVertex2i(100, 400);
glVertex2i(150, 350);
glVertex2i(150, 450);
glVertex2i(150, 425);
glVertex2i(150, 350);
glVertex2i(150, 375);
glVertex2i(150, 425);
glVertex2i(200, 425);
glVertex2i(150, 375);
glVertex2i(200, 375);
glVertex2i(200, 425);
glVertex2i(200, 450);
glVertex2i(200, 375);
glVertex2i(200, 350);
glVertex2i(200, 450);
glVertex2i(250, 400);
glVertex2i(200, 350);
glVertex2i(250, 400);
//glVertex2i();
glEnd();
glColor3ub (255,255,0);
glBegin(GL_TRIANGLES);
glVertex2i(250,400);
glVertex2i(300,300);
glVertex2i(250,300);
glEnd();
glColor3ub(250, 255, 0);
glBegin(GL_LINES);
glVertex2i(300, 300);
glVertex2i(350, 400);
glVertex2i(350, 400);
glVertex2i(300, 500);
glVertex2i(300, 500);
glVertex2i(400, 500);
glVertex2i(400, 500);
glVertex2i(450, 400);
glVertex2i(450, 400);
glVertex2i(400, 300);
glVertex2i(400, 300);
glVertex2i(300, 300);
glEnd();
glFlush ();
}
void init (void)
{
/* select clearing (background) color */
glClearColor (0.0, 0.0, 0.0, 0.0);
/* initialize viewing values */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,600,0,600);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow ("hello");
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
#include <GL/gl.h>
#include <GL/glut.h>
void display(void)
{
glClear (GL_COLOR_BUFFER_BIT);
/* draw white polygon (rectangle) with corners at
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
*/
glColor3ub (0,255,0);
glBegin(GL_POLYGON);
glVertex2d(300,500);
glVertex2d(150,400);
glVertex2d(450,400);
glEnd();
glColor3ub (255,255,255);
glBegin(GL_POLYGON);
glVertex2d(150,400);
glVertex2d(450,400);
glVertex2d(450,100);
glVertex2d(150,100);
glEnd();
glColor3ub (0,0,255);
glBegin(GL_POLYGON);
glVertex2d(260,350);
glVertex2d(345,350);
glVertex2d(345,100);
glVertex2d(260,100);
glEnd();
glColor3ub (255,0,0);
glBegin(GL_POLYGON);
glVertex2d(180,300);
glVertex2d(230,300);
glVertex2d(230,250);
glVertex2d(180,250);
glEnd();
glColor3ub (255,0,0);
glBegin(GL_POLYGON);
glVertex2d(370,300);
glVertex2d(420,300);
glVertex2d(420,250);
glVertex2d(370,250);
glEnd();
glFlush ();
}
void init (void)
{
/* select clearing (background) color */
glClearColor (0.0, 0.0, 0.0, 0.0);
/* initialize viewing values */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,600,0,600);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow ("hello");
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
#include <stdio.h>
#include <iostream>
#include <GL/glut.h>
using namespace std;
int X1, Y1, r;
void plot(int x, int y)
{
glBegin(GL_POINTS);
glVertex2i(x , y );
//uncomment this if you want to customize coordinate
//glVertex2i(x + X1, y + Y1);
glEnd();
}
void myInit (void)
{
glClearColor(1.0, 1.0, 1.0, 0.0);
glColor3f(0.0f, 0.0f, 0.0f);
glPointSize(4.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//from where your circle gonna draw
gluOrtho2D(300, -300, -300, 300);
}
void midPointCircleAlgo()
{
int x = 0;
int y = r;
float decision = 5/4 - r;
plot(x, y); //radius will draw from getting the Y as it's center
while (y > x)
{
if (decision < 0)
{
x++;
decision += 2*x+1;
}
else
{
y--;
x++;
decision += 2*(x - y)+ 1;
}
plot(x, y);
plot(x, -y);
plot(-x, y);
plot(-x, -y);
plot(y, x);
plot(-y, x);
plot(y, -x);
plot(-y, -x);
}
}
void myDisplay(void)
{
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (0.0, 0.0, 0.0);
glPointSize(1.0);
midPointCircleAlgo();
glFlush ();
}
int main(int argc, char** argv)
{
//uncomment this if you want to custom your coordinate size
//cout << "Enter the coordinates to draw circle:\n\n" << endl;
//cout << "X-coordinate : ";
//cin >> X1;
//cout << "\nY-coordinate : ";
//cin >> Y1;
cout << "Enter radius : ";
cin >> r;
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (640, 480); //actual screen size
glutInitWindowPosition (100, 150); //where we want to fix the screen
glutCreateWindow ("Line Drawing Alogrithms");
glutDisplayFunc(myDisplay);
myInit ();
glutMainLoop();
return 0;
}
#include <GL/gl.h>
#include <GL/glut.h>
int x0=0,y0=200,p;
void display(void)
{
/* clear all pixels */
glClear (GL_COLOR_BUFFER_BIT);
/* draw white polygon (rectangle) with corners at
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
*/
//glColor3f (1.0, 0.25, 1.0);
p=1-y0;
while(x0<=y0)
{
if(p<0)
{
x0=x0+1;
p=p+2*x0+1;
}
else if(p>=0)
{
x0=x0+1;
y0=y0-1;
p=(p+(2*x0)+1-(2*y0));
}
glColor3f(255,0,0);
glBegin(GL_POLYGON);
glVertex2d (x0, y0);
glVertex2d (x0, -y0);
glVertex2d (-x0, y0);
glVertex2d (-x0, -y0);
glVertex2d (y0,x0);
glVertex2d(y0,-x0);
glVertex2d(-y0,x0);
glVertex2d(-y0,-x0);
glEnd();
}
glColor3f(255,255,255); // body left side
glBegin(GL_POLYGON);
glVertex2d (-150, -400);
glVertex2d (-100, -400);
glVertex2d (-100, 325);
glVertex2d (-150,325);
glEnd();
glColor3f(255,255,255); // body top
glBegin(GL_POLYGON);
glVertex2d (-100, 450);
glVertex2d (200, 450);
glVertex2d (150, 325);
glVertex2d (-150,325);
glEnd();
glColor3f(255,255, 255); // body middle
glBegin(GL_POLYGON);
glVertex2d (-2, -400);
glVertex2d (2, -400);
glVertex2d (2, 325);
glVertex2d (-2,325);
glEnd();
glColor3f(255,255, 255); // body middle right
glBegin(GL_POLYGON);
glVertex2d (48, -400);
glVertex2d (52, -400);
glVertex2d (52, 325);
glVertex2d (48,325);
glEnd();
glColor3f(255,255, 255); // body middle left
glBegin(GL_POLYGON);
glVertex2d (-48, -400);
glVertex2d (-52, -400);
glVertex2d (-52, 325);
glVertex2d (-48,325);
glEnd();
glColor3f(255,255, 255); // body middle left
glBegin(GL_POLYGON);
glVertex2d (-23, -400);
glVertex2d (-27, -400);
glVertex2d (-27, 325);
glVertex2d (-23,325);
glEnd();
glColor3f(255,255, 255); // body middle right
glBegin(GL_POLYGON);
glVertex2d (23, -400);
glVertex2d (27, -400);
glVertex2d (27, 325);
glVertex2d (23,325);
glEnd();
glColor3f(255,255, 255); // body middle left
glBegin(GL_POLYGON);
glVertex2d (-73, -400);
glVertex2d (-77, -400);
glVertex2d (-77, 325);
glVertex2d (-73,325);
glEnd();
glColor3f(255,255, 255); // body middle right
glBegin(GL_POLYGON);
glVertex2d (73, -400);
glVertex2d (77, -400);
glVertex2d (77, 325);
glVertex2d (73,325);
glEnd();
glColor3f(255,255,255);
glBegin(GL_POLYGON);
glVertex2d (220, -400); //right 1st
glVertex2d (320, -400);
glVertex2d (320, 270);
glVertex2d (220,270);
glEnd();
glColor3f(0,0,0);
glBegin(GL_POLYGON);
glVertex2d (240, -400); //right 1st middle balck
glVertex2d (300, -400);
glVertex2d (300, 250);
glVertex2d (240,250);
glEnd();
glColor3f(255,255,255);
glBegin(GL_POLYGON);
glVertex2d (268, -400); //right 1st middle
glVertex2d (272, -400);
glVertex2d (272, 250);
glVertex2d (268,250);
glEnd();
glColor3f(255,255,255);
glBegin(GL_POLYGON);
glVertex2d (253, -400); //right 1st middle
glVertex2d (257, -400);
glVertex2d (257, 250);
glVertex2d (253,250);
glEnd();
glColor3f(255,255,255);
glBegin(GL_POLYGON);
glVertex2d (283, -400); //right 1st middle
glVertex2d (287, -400);
glVertex2d (287, 250);
glVertex2d (283,250);
glEnd();
glColor3f(255,255,255);
glBegin(GL_POLYGON);
glVertex2d (-220, -400); //right 1st
glVertex2d (-320, -400);
glVertex2d (-320, 270);
glVertex2d (-220,270);
glEnd();
glColor3f(0,0,0);
glBegin(GL_POLYGON);
glVertex2d (-240, -400); //right 1st middle balck
glVertex2d (-300, -400);
glVertex2d (-300, 250);
glVertex2d (-240,250);
glEnd();
glColor3f(255,255,255);
glBegin(GL_POLYGON);
glVertex2d (-268, -400); //right 1st middle
glVertex2d (-272, -400);
glVertex2d (-272, 250);
glVertex2d (-268,250);
glEnd();
glColor3f(255,255,255);
glBegin(GL_POLYGON);
glVertex2d (-253, -400); //right 1st middle
glVertex2d (-257, -400);
glVertex2d (-257, 250);
glVertex2d (-253,250);
glEnd();
glColor3f(255,255,255);
glBegin(GL_POLYGON);
glVertex2d (-283, -400); //right 1st middle
glVertex2d (-287, -400);
glVertex2d (-287, 250);
glVertex2d (-283,250);
glEnd();
glColor3f(255,255,255); // body right side
glBegin(GL_POLYGON);
glVertex2d (150, -400);
glVertex2d (100, -400);
glVertex2d (100, 325);
glVertex2d (150,325);
glEnd();
glColor3f(0,255,0); // down basement
glBegin(GL_POLYGON);
glVertex2d (-500, -500);
glVertex2d (500, -500);
glVertex2d (500, -400);
glVertex2d (-500,-400);
glEnd();
glColor3f(255,255,255); //most right
glBegin(GL_POLYGON);
glVertex2d (460, -400);
glVertex2d (360, -400);
glVertex2d (360, 200);
glVertex2d (460,200);
glEnd();
glColor3f(0,0,0); //most right middle black
glBegin(GL_POLYGON);
glVertex2d (440, -400);
glVertex2d (380, -400);
glVertex2d (380, 160);
glVertex2d (440,160);
glEnd();
glColor3f(255,255,255); //most right middle
glBegin(GL_POLYGON);
glVertex2d (412, -400);
glVertex2d (408, -400);
glVertex2d (408, 160);
glVertex2d (412,160);
glEnd();
glColor3f(255,255,255); //most right middle
glBegin(GL_POLYGON);
glVertex2d (393, -400);
glVertex2d (397, -400);
glVertex2d (397, 160);
glVertex2d (393,160);
glEnd();
glColor3f(255,255,255); //most right middle
glBegin(GL_POLYGON);
glVertex2d (423, -400);
glVertex2d (427, -400);
glVertex2d (427, 160);
glVertex2d (423,160);
glEnd();
glColor3f(255,255,255); //most left
glBegin(GL_POLYGON);
glVertex2d (-460, -400);
glVertex2d (-360, -400);
glVertex2d (-360, 200);
glVertex2d (-460,200);
glEnd();
glColor3f(0,0,0); //most left middle black
glBegin(GL_POLYGON);
glVertex2d (-440, -400);
glVertex2d (-380, -400);
glVertex2d (-380, 160);
glVertex2d (-440,160);
glEnd();
glColor3f(255,255,255); //most left middle
glBegin(GL_POLYGON);
glVertex2d (-412, -400);
glVertex2d (-408, -400);
glVertex2d (-408, 160);
glVertex2d (-412,160);
glEnd();
glColor3f(255,255,255); //most left middle
glBegin(GL_POLYGON);
glVertex2d (-393, -400);
glVertex2d (-397, -400);
glVertex2d (-397, 160);
glVertex2d (-393,160);
glEnd();
glColor3f(255,255,255); //most left middle
glBegin(GL_POLYGON);
glVertex2d (-423, -400);
glVertex2d (-427, -400);
glVertex2d (-427, 160);
glVertex2d (-423,160);
glEnd();
/* don't wait!
* start processing buffered OpenGL routines
*/
glFlush ();
}
void init (void)
{
/* select clearing (background) color */
glClearColor (0.0, 0.0, 0.0, 0.0);
/* initialize viewing values */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
gluOrtho2D(-500, 500, -500, 500);
}
/*
* Declare initial window size, position, and display mode
* (single buffer and RGBA). Open window with "hello"
* in its title bar. Call initialization routines.
* Register callback function to display graphics.
* Enter main loop and process events.
*/
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (1300, 650);
glutInitWindowPosition (100, 100);
glutCreateWindow ("hello");
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0; /* ISO C requires main to return int. */
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment