Your IP : 216.73.216.40


Current Path : /var/www/html/venkat/check3/file/cg2013/pawan/
Upload File :
Current File : /var/www/html/venkat/check3/file/cg2013/pawan/labtest_1.cpp

#include <iostream>
#include <GL/freeglut.h>
#include <GL/gl.h>

using namespace std;

namespace {
	double x1;
	double x2;
	double y1;
	double y2;
}

void init1()
{
	glOrtho(-1, 1, -1, 1, -1, 1);
}

void func3()
{
	glClearColor(0, 0, 0, 0);
	glClear(GL_COLOR_BUFFER_BIT);
	glColor3f(1, 1, 1);
	glBegin(GL_LINE_LOOP);
//	cout << x1 << " " << x2 << " " << y1 << " " << y2 << endl;
	if (x1 < x2 && y1 < y2) {
		glVertex2f(x1, y1);
		glVertex2f(x1, y2);
		glVertex2f(x2, y2);
		glVertex2f(x2, y1);
	} else if (x1 < x2 && y1 > y2) {
		glVertex2f(x1, y2);
		glVertex2f(x1, y1);
		glVertex2f(x2, y1);
		glVertex2f(x2, y2);
	} else if (x1 > x2 && y1 < y2) {
		glVertex2f(x2, y1);
		glVertex2f(x2, y2);
		glVertex2f(x1, y2);
		glVertex2f(x1, y1);
	} else {
		glVertex2f(x2, y2);
		glVertex2f(x2, y1);
		glVertex2f(x1, y1);
		glVertex2f(x1, y2);
	}

	glEnd();
	glFlush();

	glBegin(GL_POINTS);
	for (double i = 0; i < 0.5; i += 0.001) {
		glVertex2f(-0.05, i);
	}
	double c1 = -0.15;
	double c2 = 0;
	double dx = -0.35/1000;
	double dy = 0.4/1000;
	for (int i = 0; i < 1000; i++) {
		glVertex2f(c1, c2);
		c1 += dx;
		c2 += dy;
	}
	c1 = -0.5;
	c2 = 0.4;
	dx = 0.4/1000;
	dy = 0.3/1000;
	for (int i = 0; i < 1000; i++) {
		glVertex2f(c1, c2);
		c1 += dx;
		c2 += dy;
	}
	c1 = -0.05;
	c2 = 0;
	dx = -0.35/1000;
	dy = 0.4/1000;
	for (int i = 0; i < 1000; i++) {
		glVertex2f(c1, c2);
		c1 += dx;
		c2 += dy;
	}
	c1 = -0.4;
	c2 = 0.4;
	dx = 0.3/1000;
	dy = 0.2/1000;
	for (int i = 0; i < 1000; i++) {
		glVertex2f(c1, c2);
		c1 += dx;
		c2 += dy;
	}
	// symmetric lines
	for (double i = 0; i < 0.5; i += 0.001) {
		glVertex2f(0.05, i);
	}
	c1 = 0.15;
	c2 = 0;
	dx = 0.35/1000;
	dy = 0.4/1000;
	for (int i = 0; i < 1000; i++) {
		glVertex2f(c1, c2);
		c1 += dx;
		c2 += dy;
	}
	c1 = 0.5;
	c2 = 0.4;
	dx = -0.4/1000;
	dy = 0.3/1000;
	for (int i = 0; i < 1000; i++) {
		glVertex2f(c1, c2);
		c1 += dx;
		c2 += dy;
	}
	c1 = 0.05;
	c2 = 0;
	dx = 0.35/1000;
	dy = 0.4/1000;
	for (int i = 0; i < 1000; i++) {
		glVertex2f(c1, c2);
		c1 += dx;
		c2 += dy;
	}
	c1 = 0.4;
	c2 = 0.4;
	dx = -0.3/1000;
	dy = 0.2/1000;
	for (int i = 0; i < 1000; i++) {
		glVertex2f(c1, c2);
		c1 += dx;
		c2 += dy;
	}
	glEnd();
	glFlush();

}

int main(int argc, char **argv)
{
	x1 = -100;
	x2 = 100;
	y1 = 500;
	y2 = 700;
	x1 = x1/1000;
	x2 = x2/1000;
	y1 = y1/1000;
	y2 = y2/1000;
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_SINGLE);
	glutInitWindowSize(500, 500);
	glutInitWindowPosition(50, 50);
	glutCreateWindow("Assignment 1.3 : IIT2011187");
	init1();
	glutDisplayFunc(func3);
	//glutDisplayFunc(func1);
	glutMainLoop();

	return 0;
}