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

#include <bits/stdc++.h>
using namespace std;

double x[100];
double y[100];
double z[100];
double sqx[4];
double sqy[4];
double sqz[4];
double an;
double trans;

void rotate(double &a, double &b, double &c) {
	a = a;
	b = b * cos(an) - c*sin(an);
	c = b * sin(an) + c * cos(an);
}

void translate(double &c) {
	c = c + trans;
}

int main()
{
	int p,q,r, i;

	x[0] = -50, y[0] = 0, z[0] = 0;
	x[1] = -50, y[1] = 500, z[1] = 0;
	x[2] = -150, y[2] = 0, z[2] = 0;
	x[3] = -500, y[3] = 400, z[3] = 0;
	x[4]= -500, y[4] = 400, z[4] =0;
	x[5] = -100, y[5] = 700, z[5] = 0;
	x[6] = -50, y[6] = 0 , z[6] = 0;
	x[7] = -400, y[7] = 400, z[7] = 0;
	x[8] = -400, y[8] = 400, z[8] = 0;
	x[9] = -100, y[9] =600, z[9] = 0;

	for (i = 0; i < 10; i++) {
		x[10 + i] = -x[i];
		y[10 + i] = y[i];
		z[10 + i] = z[i];
	}

	sqx[0] = -100, sqy[0] = 700, sqz[0] = 0;
	sqx[1]= -100, sqy[1] = 500, sqz[1] = 0;
	sqx[2] = 100, sqy[2] = 700, sqz[2] =0;
	sqx[3] = 100, sqy[3] = 500, sqz[3] = 0;

	an = acos(-1) / 2;
	an = -1.0 * (an  - atan(0.1));

	for (i = 0; i < 20; i++) {
		rotate(x[i], y[i], z[i]);
	}

	for (i = 0; i < 4; i++) {
		rotate(sqx[i], sqy[i], sqz[i]);
	}

	trans = (-10 * -10) + (100 * 100);
	trans  = sqrt(trans);

	for (i = 0; i < 20; i++) {
		translate(z[i]);
	}
	for (i = 0; i < 4; i++) {
		translate(sqz[i]);
	}

	for (i = 0; i < 20; i++) {
		x[i] = x[i] / z[i] ;
		x[i] = x[i] * 10.0;
		y[i] = y[i] / z[i];
		y[i] = y[i] * 10.0;
		z[i] =10.0;
	}
	for (i = 0; i < 4; i++) {
		sqx[i] = sqx[i] / sqz[i];
		sqx[i] *= 10.0;
		sqy[i] = sqy[i] / sqz[i];
		sqy[i] *= 10.0;
		sqz[i] =10.0;
	}

	for (i = 0; i < 4; i++) {
		p = (int) (sqx[i] + 0.5);
		q = (int) (sqy[i] + 0.5);
		r = (int) (sqz[i] + 0.5);
		cout <<p<<","<<q<<","<<r<<endl;
	}

	for (i = 0; i < 20; i++) {
		p = (int) (x[i] + 0.5);
		q = (int) (y[i] + 0.5);
		r = (int) (z[i] + 0.5);
		cout <<p <<","<<q<<","<<r<<endl;
	}

	return 0;
}