7 using namespace mathfce;
40 coors[ 0 ] = P2.
X() - P1.
X();
41 coors[ 1 ] = P2.
Y() - P1.
Y();
42 coors[ 2 ] = P2.
Z() - P1.
Z();
67 length = sqrt(pow(this->coors[ 0 ], 2.0) + pow(this->coors[ 1 ], 2.0) + pow(this->coors[ 2 ], 2.0));
71 this->coors[ 0 ] = P.
X();
72 this->coors[ 1 ] = P.
Y();
73 this->coors[ 2 ] = P.
Z();
83 for (
int i = 0; i < 3; i++) {
95 for (
int i = 0; i < 3; i++) {
96 res.
coors[ i ] = coors[i] + P.
Get(i + 1);
107 for (
int i = 0; i < 3; i++) {
155 for (
int i = 0; i < 3; i++) {
163 return coors[ i - 1 ];
174 x1 = u2 * v3 - u3 * v2;
175 x2 = u3 * v1 - u1 * v3;
176 x3 = u1 * v2 - u2 * v1;
190 double product = u1 * v1 + u2 * v2 + u3 * v3;
196 for (
int i = 0; i < 3; i++) {
197 if ((fabs(coors[ i ]) - fabs(U.
coors[ i ])) >
epsilon) {
TVector Cross(const TVector &U, const TVector &V)
TVector & operator=(const TPoint &)
bool operator==(const TVector &)
bool AreParallel(const TVector &U, const TVector &V)
bool ArePerpendicular(const TVector &U, const TVector &V)
TVector operator+(const TVector &)
TVector operator*(const TVector &U, double x)
void SetVector(double, double, double)
TVector operator-(const TVector &)
void Get(double &, double &, double &) const
double Dot(const TVector &U, const TVector &V)
static int numberInstance