Vecteur ( mecanique) en 3 Dimensions
bonjour à tous,
pour un petit projet qui me permet d'améliorer mes connaissances en c++, j'ai besoin de créer un vecteur à 3 dimensions. En regardant dans le livre de Bjarne Stroustrup, il semblerais que la meilleur solution serait d'utiliser le type valarray.
Ce que j'aimerais faire c'est de pourvoir créer un nouveau type du style vecteur3d pour créer plus simplement plusieurs vecteur. Cela à fin de pourvoir définir des produit scalaire, vectoriel etc..
Petite précision, mes vecteur auront des points avec des types différents.
Alors voila ce que j'ai essayé de faire
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
// Vecteur.h
//définition d'un vecteur à 3dimension et qui sera créer et défini par un type T
#ifndef VECTEUR
#define VECTEUR
#include<valarray>
template <T, dim>class Vecteur
{
private:
std::valarray<T,dim> vecteur3df(dim);
public:
Vecteur();
~Vecteur();
};
#endif |
mais il me marque une erreur de syntaxe.
De plus dans mon livre préféré, il est marque qu'on peut faire initialiser un valarray grâce à un tableau comme suit.
Code:
1 2 3 4
|
double point[]={x,y,z};
std::valarray<double> Vecteur3d(point,3); |
Mais ça ne fonctionne pas non plus.
Sinon, y a encore des "slice" pour travailler avec des matrices. En gros un tout petit peu perdu, donc si qqn pouvais m'aider à voir un peu plus claire, ce serait sympa!
Pendant mes recherche, je me pose une question: Boost ne me simplifierais pas la vie pour les opération vectorielles et matricielles?
A++
VMFA-2 Sven