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/IIT2013124_1.cpp

#include <iostream>
#include <cmath>
using namespace std;

void swap(int* a, int* b)
{
    int t = *a;
    *a = *b;
    *b = t;
}

int partition (int arr[], int l, int h)
{
    int x = arr[h];
    int i = (l - 1);

    for (int j = l; j <= h- 1; j++)    {
        if (arr[j] <= x)
        {
            i++;
            swap(&arr[i], &arr[j]);
        }
    }
    swap(&arr[i + 1], &arr[h]);
    return (i + 1);
}

void quickSort(int arr[], int l, int h)
{
    if (l < h)
    {
        int p = partition(arr, l, h);
        quickSort(arr, l, p - 1);
        quickSort(arr, p + 1, h);
    }
}

void perspective_function (double x[], double y[]) {
	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];

	int i = 0;
	while (i < 24) {
        cout << i + 1 << ". ";
        xx[i] = x[i] * cos(ang) - y[i] * sin(ang);
		yy[i] = x[i] * sin (ang) + y[i] * cos(ang);
		cout << "(" << (int)xx[i] << ", " << (int)yy[i] << ")" << endl;
		i++;
	}

	/*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();*/
}

void display() {
    double x[24], y[24];
        x[0] = -100;
        y[0] = 700;
        x[1] = -100;
        y[1] = 500;

        x[2] = 100;
        y[2] = 500;
        x[3] = 100;
        y[3] = 700;

        x[4] = -50;
        y[4] = 0;
        x[5] = -50;
        y[5] = 500;
        x[6] = -150;
        y[6] = 0;
        x[7] = -500;
        y[7] = 400;
        x[8] = -500;
        y[8] = 400;

        x[9] = -100;
        y[9] = 700;
        x[10] = -50;
        y[10] = 0;
        x[11] = -400;
        y[11] = 400;
        x[12] = -400;
        y[12] = 400;

        x[13] = -100;
        y[13] = 600;
        x[14] = 50;
        y[14] = 0;
        x[15] = 50;
        y[15] = 500;

        x[16] = 150;
        y[16] = 0;
        x[17] = 500;
        y[17] = 400;
        x[18] = 500;
        y[18] = 400;
        x[19] = 100;
        y[19] = 700;
        x[20] = 50;
        y[20] = 0;

        x[21] = 400;
        y[21] = 400;
        x[22] = 400;
        y[22] = 400;
        x[23] = 100;
        y[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 i = 4; i < 23; i += 2) {
		glVertex2f(x[i],y[i]);
       		 glVertex2f(x[i+1],y[i+1]);
	}

	glEnd();*/
	perspective_function(x, y);
	//glFlush();

}

int main(int argc,char *argv[]) {
    cout << "The final points to be plotted are : " << endl;
	display();

	return 0;

}