Professional Documents
Culture Documents
3
3
Write a program that draw the following shape and apply the following 2d
Code
#include <GL\glut.h>
#include <iostream>
#include <windows.h>
void myInit(void)
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
void myDisplay(void)
glClear(GL_COLOR_BUFFER_BIT);
glPointSize(2.0);
glPushMatrix();
glBegin(GL_POLYGON);
glVertex2i(40, 40);
glVertex2i(320, 40);
glVertex2i(40, 200);
glVertex2i(320, 200);
glVertex2i(40, 200);
glVertex2i(40, 40);
glVertex2i(320, 200);
glVertex2i(320, 40);
glEnd();
glBegin(GL_POLYGON);
glVertex2i(10, 200);
glVertex2i(340, 200);
glVertex2i(200, 390);
glVertex2i(10, 200);
glVertex2i(200, 390);
glEnd();
glFlush();
glutInit(&argc, argv);
glutInitDisplayMode(
GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(900, 740);
glutInitWindowPosition(0, 0);
glutDisplayFunc(myDisplay);
myInit();
glutMainLoop();
return 0;
}
b. Scaling down by sx=0.5 and sy=1.5
#include <GL\glut.h>
#include <iostream>
#include <windows.h>
void myInit(void)
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
void myDisplay(void)
glClear(GL_COLOR_BUFFER_BIT);
glPointSize(2.0);
glPushMatrix();
glScalef(0.5f, 1.5f,0.0f);
glBegin(GL_POLYGON);
glVertex2i(40, 40);
glVertex2i(320, 40);
glVertex2i(40, 200);
glVertex2i(320, 200);
glVertex2i(40, 200);
glVertex2i(40, 40);
glVertex2i(320, 200);
glVertex2i(320, 40);
glEnd();
glColor3f(0.0f, 1.0f, 1.0f);
glBegin(GL_POLYGON);
glVertex2i(10, 200);
glVertex2i(340, 200);
glVertex2i(200, 390);
glVertex2i(10, 200);
glVertex2i(200, 390);
glEnd();
glFlush();
glutInit(&argc, argv);
glutInitDisplayMode(
GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(900, 740);
glutInitWindowPosition(0, 0);
glutDisplayFunc(myDisplay);
myInit();
glutMainLoop();
return 0;