summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorChristian Vazquez <christian.vazquez@epfl.ch>2011-03-17 15:12:23 +0000
committerChristian Vazquez <christian.vazquez@epfl.ch>2011-03-17 15:12:23 +0000
commit6fba1dde5cb6c9de4475af385a247c9e4167b8dd (patch)
tree334aca2dc4b13b69441c44d473453243b67b9207 /src/main
parentcd21ed5dd14012a61f83c696ab765995a4fad624 (diff)
downloadvhc-6fba1dde5cb6c9de4475af385a247c9e4167b8dd.tar.gz
vhc-6fba1dde5cb6c9de4475af385a247c9e4167b8dd.tar.bz2
vhc-6fba1dde5cb6c9de4475af385a247c9e4167b8dd.zip
implémenté le produit mixte
Diffstat (limited to 'src/main')
-rw-r--r--src/main/Vector3D.cc4
-rw-r--r--src/main/Vector3D.h10
2 files changed, 11 insertions, 3 deletions
diff --git a/src/main/Vector3D.cc b/src/main/Vector3D.cc
index 9cca834..a97765b 100644
--- a/src/main/Vector3D.cc
+++ b/src/main/Vector3D.cc
@@ -17,6 +17,10 @@ Vector3D const Vector3D::i = Vector3D(1.0, 0.0, 0.0);
Vector3D const Vector3D::j = Vector3D(0.0, 1.0, 0.0);
Vector3D const Vector3D::k = Vector3D(0.0, 0.0, 1.0);
+double Vector3D::tripleproduct(const Vector3D& v, const Vector3D& w) const {
+ return this->dot(v.cross(w));
+ };
+
Vector3D operator* (double n, const Vector3D& v) {
return v * n;
}
diff --git a/src/main/Vector3D.h b/src/main/Vector3D.h
index 4e2acb4..bb32b47 100644
--- a/src/main/Vector3D.h
+++ b/src/main/Vector3D.h
@@ -88,9 +88,9 @@ public:
/** Vecteur unitaire de ce vecteur. */
Vector3D operator~() const {
if (getNorm() != 0.0) return (*this) / getNorm();
- else throw std::domain_error("Unit vector.");
+ else throw std::domain_error("Zero vector does not have a unit vector.");
};
-
+ /** retourne le vecteur unitaire */
Vector3D getUnit() const {return ~(*this);}
/** Retourne la norme du vecteur. */
@@ -103,7 +103,11 @@ public:
return s.str();
};
- /** Vecteur nulle. (0,0,0) */
+ /** Retourne le produit mixte de 3 vecteurs (Le vecteur fait un produit scalaire
+ * avec le produit vectoriel de deux vecteurs passés en argument)*/
+ double tripleproduct(const Vector3D& v, const Vector3D& w) const;
+
+ /** Vecteur nul. (0,0,0) */
static const Vector3D Null;
/** Vecteur unitaire, d'axe x. (1, 0, 0) */