Inscription / Connexion Nouveau Sujet
Forum Autre
Partager :

collisions élastiques et programmation

Posté par
Alexprogram
30-06-21 à 20:31

Bonjour, ces dernier temps, je développe des programmes en python basés sur la physique des objets. J'ai voulu créer un simple programme de colision(sans friction et sans perte d'énergie) en utilisant la masse et la vitesse de deux objets. Le problème est que je ne savait pas créer une collision en respectant la physique.
je savais déjà grâce à certaines vidéo que les collisions élastiques avaient comme principe de transmetre l'énergie cinétique de l'objet 'a' vers l'objet 'b', mais, je ne savait pas comment m'y prendre:
lors d'une collision entre deux objets, si ma = mb, alors Va = Vb et Vb = Va (corrigez-moi si je me trompe), mais que se passe-t-il si la masse de l'objet 'a' est le double de l'objet 'b'? Ou voir le triple? j'aimerais un programme qui fait le calcul à ma place, juste en modifiant la masse d'un des deux objets.

Posté par
vanoise
re : collisions élastiques et programmation 30-06-21 à 22:15

Bonjour
Dans tous les cas de collision, tu peux considérer que la quantité de mouvement se conserve.  Si le choc est élastique, il y a aussi conservation de l'énergie cinétique.

Posté par
Alexprogram
re : collisions élastiques et programmation 30-06-21 à 23:42

j'ai avancé sur le problème, voici ce que j'ai pu faire(j'explique le programme de manière simplifiée):
si ma > à mb, alors une variable notée 'a' serat égale à ma * mb / (ma + mb) et une autre variable notée 'b' serat égal à 1 - le même calcul de la variable 'a'.

J'ai ensuite inversé les variable si ma < mb.
Désolé si cela peut paraître compliqué mais c'est grâce à ses variables que je peut ensuite calculer automatiquement la vitesse des objets a et b.

Le problème, c'est que ce calcul marche que quand l'un des deux objets est immobile, ce qui n'est pas pratique si l'on veut plusieurs collisions. Alors quel calcul dois-je faire afin de calculer les vitesses quand les deux objets sont en mouvements?

Posté par
vanoise
re : collisions élastiques et programmation 01-07-21 à 10:38

On s'intéresse uniquement à un choc frontal : les vitesses avant et après collision sont des vecteurs tous colinéaires à un axe (Ox) orienté dans le sens du mouvement de la masse ma avant collision. On raisonne en valeurs algébriques, on note voa et vob les vitesses avant collision avec voa>0. Pour que la collision existe, il faut supposer : voa>vob.

Conservation de la quantité de mouvement lors du choc :

m_{a}.v_{a}+m_{b}.v_{b}=m_{a}.v_{oa}+m_{b}.v_{ob}

Conservation de l'énergie cinétique si la collision est élastique :

\frac{1}{2}m_{a}.v_{a}^{2}+\frac{1}{2}m_{b}.v_{b}^{2}=\frac{1}{2}m_{a}.v_{oa}^{2}+\frac{1}{2}m_{b}.v_{ob}^{2}

Cela te conduit à un système de deux équations avec deux inconnues va et vb.

Posté par
Alexprogram
re : collisions élastiques et programmation 01-07-21 à 11:30

je n'ais pas tout compris, après tout je ne suis qu'en 3ème, mais je vais essayer de mettre ce calcul dans mon programme. Je vous redonnerais des nouvelles si cela ne marche pas.



Mentions légales - Retrouvez cette page sur l'île de la physique - chimie
© digiSchool 2024

Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !