algorithme de gravitation

algorithme de gravitation - Algo - Programmation

Marsh Posté le 20-05-2008 à 17:13:51    

Bonjour
 
je souhaiterai créer sous plusieurs langage (pour plusieurs os et pour la rapidité) un programme qui modélise les forces pouvant s'exercer sur des particules:
 
1 - on donne en 2D un plan (celui de l'écran) et 2 vecteurs a 2 coordonées minimum (1 pour la position actuelle et 1  pour son inertie)
 
2 - par rapport a toutes les particules , on calcule la gravité exercé en x et en y
 
3 - la souris , selon les touches appuyer peut repousser (toutes les particules), attirer (toute les particules), ou ralentir (les particules environnant le pointeur de la souris) selon la position .
 
4 - on détecte la collision de chaque particule avec un bord de l'écran (si oui elle fait demi tour) ou une particule (aucun déplacement pour l'instant)  
 
5 - on applique le déplacement a chaque particule et on recommence a l'étape 2
 
Ce dont j'ai besoin c'est le moyen d'appliquer les formule qui attirent ou repoussent + le ralentissement + la collision, car j'ai commencé au Pifomètre avec ce que je connaissait et au moment d'une collision cela ne marchait plus (elle continuent leur chemin ou s'agglomèrent en 1 point alors qu'il ne faut pas que 2 particule soit au même point)
 
je souhaiterait seulement des algorithme généraux et non quelque chose pour un langage précis
 
 

Reply

Marsh Posté le 20-05-2008 à 17:13:51   

Reply

Marsh Posté le 20-05-2008 à 18:44:01    

Pour les histoires de forces,vitesse etc...
http://en.wikipedia.org/wiki/Runge-Kutta

Message cité 1 fois
Message édité par Joel F le 20-05-2008 à 18:44:26
Reply

Marsh Posté le 22-05-2008 à 11:30:42    

Desolé mais n'ayant qu'un niveau premiere selement, je n'arive pas vraiment a comprendre les formules et leur utilité sachant que je ne me base sur ce que j'ai deja vu en cours pour l'instant.

Reply

Marsh Posté le 22-05-2008 à 11:37:53    

peyo56 a écrit :

je souhaiterait seulement des algorithme généraux et non quelque chose pour un langage précis

un algorithme en somme.

Reply

Marsh Posté le 28-05-2008 à 17:36:06    

Joel F a écrit :

Pour les histoires de forces,vitesse etc...  
http://en.wikipedia.org/wiki/Runge-Kutta

Heu, RK est un schéma numérique de résolution d'équations aux dérivées partielles, je pense qu'il n'a pas mis son problème sous forme d'EDP...
 
Pour ton problème de collision, c'est (je pense) parce que deux particules sont de plus en plus attirées l'une vers l'autre en se rapprochant (loi en 1/r2 que tu as dû utiliser si je me souviens des cours de lycée), donc elles finiront au même endroit si ta grille est grossière, et là la force devient 'infinie' donc elles risquent pas de se séparer : il faut que tu enregistres les coordonnées de tes points comme des double, et non comme des entiers pixel, tu convertis juste pour l'affichage.
Pour la collision (distance entre les deux éléments inférieure à un seuil fixé), tu as deux possibilités :  
1) faire un choc élastique (rebond) : symétrie des vitesses par rapport au plan de collision (si elles ont la meme masse)
2) fusion : une seule particule de masse somme
 
Bon courrage :)
 

Reply

Marsh Posté le 28-05-2008 à 19:16:33    

DarWog a écrit :

Heu, RK est un schéma numérique de résolution d'équations aux dérivées partielles, je pense qu'il n'a pas mis son problème sous forme d'EDP...


 
c'est couramment utilisé pr faire le genre de calcul qu'il demande en simu ;)

Reply

Marsh Posté le 28-05-2008 à 20:42:37    

Commencer par Euler, ce sera déjà pas mal.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed