2 #include "PlanesOperations.h"
4 /********************************************************************************************
5 ** Start of data viewmanagerData
6 *********************************************************************************************/
8 PlanesOperations::PlanesOperations()
13 PlanesOperations::~PlanesOperations()
19 double* PlanesOperations::getCrossProduct(double* vect0,double* vect1)
22 vectCross = new double[3];
23 vectCross[0] = vect0[1]*vect1[2]-(vect0[2]*vect1[1]);
24 vectCross[1] = -(vect0[0]*vect1[2]-(vect0[2]*vect1[0]));
25 vectCross[2] = vect0[0]*vect1[1]-(vect0[1]*vect1[0]);
30 double PlanesOperations::getDotProduct(double* vect0,double* vect1)
33 vectDot = vect0[0]*vect1[0] + vect0[1]*vect1[1] + vect0[2]*vect1[2];
38 ** Returns the magnitud of the given vector
40 double PlanesOperations::getMagnitud(double* vect)
44 mag = sqrt(pow(vect[0],2) + pow(vect[1],2) + pow(vect[2],2));
49 ** returns the unitary vector of the given vector
50 ** u = 1/|vect| . vect
52 double* PlanesOperations::getNormal(double* vect)
56 double mag = getMagnitud(vect);
58 vectnorm = new double[3];
61 vectnorm[0] = vect[0]/mag;
62 vectnorm[1] = vect[1]/mag;
63 vectnorm[2] = vect[2]/mag;
72 double* PlanesOperations::makeVector(double podouble0[3], double podouble1[3])
77 vect[0]= podouble1[0]-podouble0[0];
78 vect[1]= podouble1[1]-podouble0[1];
79 vect[2]= podouble1[2]-podouble0[2];