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