Problème à N corps

Signaler
Messages postés
75
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
2 avril 2006
-
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
-
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

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
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.