| Current Path : /var/www/html/venkat/check3/file/cg2013/pawan/ |
| 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;
}