Problème à N corps

Tonin39 Messages postés 75 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 avril 2006 - 31 mars 2006 à 20:40
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 31 mars 2006 à 22:54
Bonjour,
Je suis actuellement en 1ère année de l'école d'ingénieur de lausanne (EPFL) et je dois faire un projet en C++ sur la modalisation d'un problème à N corps. Chaque semaine j'ai plusieurs modules à éffectuer et plusieurs questions auxquelles je dois répondre.

J'ai fait cette semaine ma première séances du projet et malheureusement j'ai deja des ptites problèmes, notament en ce qui concerne les questions de la semaine.

En effet,

Le premier module consistait à créer une classe vecteur3D avec diverses méthodes(opérations: addition, pdtscalaire etc....)

Pour la classe c ok.
note : je travaille en coordonnées cartésiennes pr les vecteurs(x,y,z).
ce sont donc mes attributs pour ma classe vecteur3D!!!!

Maintenant au début vu que mes attributs étaient en privé (obligation) j'avais obter pour la méthode set pr construire un vecteur. ( ex: (1,0,-1)).

Mais mon tuteur m'as dit qu'il fallait utiliser des constructeurs pour initialiser les vecteurs.

C'est donc ce que j'ai fait.

J'ai créer 3 constructeurs :

1. le constructeur par défaut qui crée un vecteur nul.
2. un constructeur par coordonnées cartésiennes, prenant trois double comme arguments.
3. le constructeur de copie.

Maintenat j'ai les questions suivantes(celles qui me posent problème!!!)

1)- Pourquoi, contrairement à ce qui est tp souvent fait, l'écriture des deux premiers constructeurs avec une seule méthode en utilisant des valeurs par défaut aux arguments n'est-elle pas une très bonne idée????

2)- Si l'on souhaiterait ajouter un constructeurs par coordonnées sphériques (deux angles et une longueur) :
a) que cela impliquerait-il au niveau des attributs de la classe???
b) quelle serait la difficulté majeure(voire l'impossibilité) de sa réalisation en C++.

J'ai trop trop besoin d'aide. c'est pourquoi j'aimerais que vous m'apportiez de l'aide.
Si vous avez besoins dotre info sur mon code n'hésiter pas...

Merci d'avance
C'est urgent

cordialment
Tonin39

mail : Lizontonin@wanadoo.fr

1 réponse

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
31 mars 2006 à 22:54
Pour la question 1), je vois pas. Peut etre qu'il veut éviter la
possibilité de déclarer seulement une coordonnée ? : vector a(1);

D'un point de vue maths, c'est pas logique. En tout cas, je vois rien d'autre.



Pour la question 2) je comprends pas bien. Une chose est sur, il
faudrait des variables membres supplémentaires pour pouvoir faire la
différence en polaire et cartésien. Mais au mieux, tu obtiendrais
quelque chose comme ca:

vector3D x(0.0, 0.5, 12.0, POLAR); // il faudrait une donnée pour spécifier quel est le type de coordonnées.
0
Rejoignez-nous