Changeset bb56cf
- Timestamp:
- Sep 28, 2009, 6:46:25 PM (16 years ago)
- Children:
- 60cbe5
- Parents:
- 4cbac2
- Location:
- molecuilder/src
- Files:
-
- 2 edited
-
tesselationhelpers.cpp (modified) (1 diff)
-
tesselationhelpers.hpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
molecuilder/src/tesselationhelpers.cpp
r4cbac2 rbb56cf 386 386 387 387 return result; 388 } 389 388 }; 389 390 391 /** Calculates the volume of a general tetraeder. 392 * \param *a first vector 393 * \param *a first vector 394 * \param *a first vector 395 * \param *a first vector 396 * \return \f$ \frac{1}{6} \cdot ((a-d) \times (a-c) \cdot (a-b)) \f$ 397 */ 398 double CalculateVolumeofGeneralTetraeder(Vector *a, Vector *b, Vector *c, Vector *d) 399 { 400 Vector Point, TetraederVector[3]; 401 double volume; 402 403 TetraederVector[0].CopyVector(a); 404 TetraederVector[1].CopyVector(b); 405 TetraederVector[2].CopyVector(c); 406 for (int j=0;j<3;j++) 407 TetraederVector[j].SubtractVector(d); 408 Point.CopyVector(&TetraederVector[0]); 409 Point.VectorProduct(&TetraederVector[1]); 410 volume = 1./6. * fabs(Point.ScalarProduct(&TetraederVector[2])); 411 return volume; 412 }; 413 -
molecuilder/src/tesselationhelpers.hpp
r4cbac2 rbb56cf 18 18 #endif 19 19 20 #define HULLEPSILON 1e-721 22 20 #include <gsl/gsl_linalg.h> 23 21 #include <gsl/gsl_matrix.h> … … 26 24 #include <gsl/gsl_vector.h> 27 25 26 #include "defs.hpp" 28 27 #include "vector.hpp" 28 29 #define HULLEPSILON 1e-10 29 30 30 31 double DetGet(gsl_matrix *A, int inPlace); … … 35 36 double MinIntersectDistance(const gsl_vector * x, void *params); 36 37 bool existsIntersection(Vector point1, Vector point2, Vector point3, Vector point4); 38 double CalculateVolumeofGeneralTetraeder(Vector *a, Vector *b, Vector *c, Vector *d); 39 37 40 38 41 #endif /* TESSELATIONHELPERS_HPP_ */
Note:
See TracChangeset
for help on using the changeset viewer.
