// Orbit.cpp #include "Orbit.h" void Orbit::getData(int iy[6], int ix[6], int iz[6]) { for (int i=0; i<6; i++) { x[i] = ix[i]; y[i] = iy[i]; z[i] = iz[i]; } lx[0] = 5; lx[1] = 7; lx[2] = 5; lx[3] = 5; lx[4] = 7; lx[5] = 5; ly[0] = 10; ly[1] = 0; ly[2] = 10; ly[3] = 10; ly[4] = 0; ly[5] = 10; } void Orbit::getAngle (int ix, int iy) { oP = ix; o2P = iy; oN = 180 - ix; o2N = 180 - iy; } void Orbit::calculate() { // X Size. // Right side. for (int i=3; i<6; i++) { float l1 = sqrt(pow(x[i], 2) + pow(y[i], 2)); float o1 = degrees(atan(y[i] / x[i])); float o2 = oP - o1; Ny[i] = sin(radians(o2)) * l1; Nx[i] = (cos(radians(o2)) * l1) - lx[i]; Nz[i] = z[i]; } // Left size; for (int i=0; i<4; i++) { float l1 = sqrt(pow(x[i], 2) + pow(y[i], 2)); float o1 = degrees(atan(y[i] / x[i])); float o2 = oN - o1; Ny[i] = sin(radians(o2)) * l1; Nx[i] = (cos(radians(o2)) * l1) - lx[i]; Nz[i] = z[i]; } // Y Size. // Right side. /*for (int i=3; i<6; i++) WRong { float l1 = sqrt(pow(x[i], 2) + pow(y[i], 2)); float o1 = degrees(atan(y[i] / x[i])); float o2 = o2P - o1; Ny[i] = sin(radians(o2)) * l1; Nx[i] = (cos(radians(o2)) * l1) - lx[i]; Nz[i] = z[i]; } // Left size; for (int i=0; i<4; i++) WRong { float l1 = sqrt(pow(x[i], 2) + pow(y[i], 2)); float o1 = degrees(atan(y[i] / x[i])); float o2 = o2N - o1; Ny[i] = sin(radians(o2)) * l1; Nx[i] = (cos(radians(o2)) * l1) - lx[i]; Nz[i] = z[i]; }*/ }