| Current Path : /var/www/html/venkat/check3/file/cg2013/pawan/ |
| Current File : /var/www/html/venkat/check3/file/cg2013/pawan/graphics.cpp |
//#include <GL/glut.h>
#include <iostream>
#include <cmath>
using namespace std;
void in2D(float r, float g, float b)
{
//glClearColor(r,g,b,0.0);
//glMatrixMode (GL_PROJECTION);
//gluOrtho2D (-1000.0 , 1000.0, -1000.0, 1000.0);
}
int max(int a,int b) {
return (a > b)?a:b;
}
void perspective_soln(double abc[], double wer[]) {
double d, zvp, prpx, prpy, prpz;
d = 10;
prpx = 0;
prpy = -100;
prpz = 10 ;
zvp = 0;
double a = (prpz-zvp) / (prpz - 0);
double b = (zvp - 0) / (prpz - 0);
double ang = atan(0.1);
ang = 90 - ang;
ang = ang * (22 / 7) / 180;
double xx[24], yy[24];
for (int i = 0; i < 24; i++) {
xx[i] = abc[i] * cos(ang) - wer[i] * sin(ang);
yy[i] = abc[i] * sin (ang) + wer[i] * cos(ang);
cout << "(" << (int)xx[i] << ", " << (int)yy[i] << ")" << endl;
}
//glColor3f(0.0, 1.0, 1.0);
//glPointSize(5);
//glBegin(GL_LINES);
//glVertex2f(xx[0],yy[0]);
//glVertex2f(xx[1],yy[1]);
//glVertex2f(xx[1],yy[1]);
//glVertex2f(xx[2],yy[2]);
//glVertex2f(xx[2],yy[2]);
//glVertex2f(xx[3],yy[3]);
//glVertex2f(xx[3],yy[3]);
//glVertex2f(xx[0],yy[0]);
for (int i = 4; i < 24; i += 2) {
//glVertex2f(xx[i],yy[i]);
//glVertex2f(xx[i+1],yy[i+1]);
}
//glEnd();
}
int kax(int a,int b) {
return (a > b)?a:b;
}
int kinary_search1(int a[], int k,int l,int r) {
if (r >= l) {
int mid = ((l + r) / 2);
if (k == a[mid]) {
return mid;
}
else if (k < a[mid]) {
return kinary_search1(a,k,l,mid-1);
}
else if (k > a[mid]) {
return kinary_search1(a,k,mid + 1,r);
}
}
else return -1;
}
int nax(int a,int b) {
return (a > b)?a:b;
}
void show_answer()
{
double abc[24], wer[24];
abc[0] = -100;
wer[0] = 700;
abc[1] = -100;
wer[1] = 500;
abc[2] = 100;
wer[2] = 500;
abc[3] = 100;
wer[3] = 700;
abc[4] = -50;
wer[4] = 0;
abc[5] = -50;
wer[5] = 500;
abc[6] = -150;
wer[6] = 0;
abc[7] = -500;
wer[7] = 400;
abc[8] = -500;
wer[8] = 400;
abc[9] = -100;
wer[9] = 700;
abc[10] = -50;
wer[10] = 0;
abc[11] = -400;
wer[11] = 400;
abc[12] = -400;
wer[12] = 400;
abc[13] = -100;
wer[13] = 600;
abc[14] = 50;
wer[14] = 0;
abc[15] = 50;
wer[15] = 500;
abc[16] = 150;
wer[16] = 0;
abc[17] = 500;
wer[17] = 400;
abc[18] = 500;
wer[18] = 400;
abc[19] = 100;
wer[19] = 700;
abc[20] = 50;
wer[20] = 0;
abc[21] = 400;
wer[21] = 400;
abc[22] = 400;
wer[22] = 400;
abc[23] = 100;
wer[23] = 600;
//glClear(GL_COLOR_BUFFER_BIT);
//glColor3f(1.0, 0.0, 0.0);
//glBegin(GL_LINES);
//glVertex2f(x[0],y[0]);
//glVertex2f(x[1],y[1]);
// glVertex2f(x[1],y[1]);
//glVertex2f(x[2],y[2]);
// glVertex2f(x[2],y[2]);
//glVertex2f(x[3],y[3]);
// glVertex2f(x[3],y[3]);
//glVertex2f(x[0],y[0]);
for (int cube = 4; cube < 23; cube += 2) {
// glVertex2f(x[i],y[i]);
// glVertex2f(x[i+1],y[i+1]);
}
//glEnd();
perspective_soln(abc, wer);
//glFlush();
}
int oax(int a,int b) {
return (a > b)?a:b;
}
int binary_search1(int a[], int k,int l,int r) {
if (r >= l) {
int mid = ((l + r) / 2);
if (k == a[mid]) {
return mid;
}
else if (k < a[mid]) {
return binary_search1(a,k,l,mid-1);
}
else if (k > a[mid]) {
return binary_search1(a,k,mid + 1,r);
}
}
else return -1;
}
int main(int argc,char *argv[])
{
//glutInit(&argc,argv);
// glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
//glutInitWindowSize (500, 500);
// glutInitWindowPosition (100, 100);
//glutCreateWindow ("IIT2013079");
in2D(0.0,0.0,0.5);
show_answer();
// glutDisplayFunc(display);
// glutMainLoop();
return 0;
}