Simulation d'un rebond sur un mur

Soyez le premier à donner votre avis sur cette source.

Vue 10 141 fois - Téléchargée 577 fois

Description

Voici un petit programme simulant un rebond d'une balle sur un mur.
La balle est modelisee par un polyedre regulier (tetraedre ou icosaedre,
pour leur construction cf autre de mes sources SPHERE).Chaque sommet
possede une petite masse (une masselote) et chaque arete est un ressort,
j'ajoute a cela une masselote au centre qui est reliee a chaque sommet
par un ressort, cela pour assurer la rigidite de la balle.

Le mur est modelise par une force exterieur agissant dans un demi-espace.
Si on veut simuler un mur a la position x<=0, alors
la force derive d'un potentiel qui est nul pour x>0 et qui est repulsive
(dans le sens des x>0) pour x<=0 et qui verifie F(x->-infini)=+infini,
autrement dit pour n'importe quelle vitesse d'impact, on aura une
barriere de potentiel, l'objet sera forcement rejete, i.e. il y aura
rebond. Il faut que le potentiel soit derivable (=0 si x>0) donc j'ai
choisi (arbitrairement) le potentiel V(x)=exp(-x/d)*exp(d/x) si x<=0
avec d la "distance de peau", qui est un parametre qui mesure la rigidite
du mur.(Les matheux pourront verifier que toutes les derivees a gauche en
zero sont bien nulles, enfin les matheux... c'est vite dit, un gars de
terminal S en est tres bien capable...)(pour les physiciens : pas la peine
de faire remarquer que mon potentiel n'est pas homogene, V0=1. arbitrairement)
Le ballon peut etre considere comme un solide (i.e. les ressorts interieurs
sont rigides, de constante de raideur k=+infini), alors comme la force
derive d'un potentiel, il y aura conservation de l'energie
(mais pas de la quantite de mouvement, et encore moins du moment angulaire :
le programme montre bien que les balles acquierent une rotation avec le
passage du mur !

Le programme permet de comparer deux murs differents (en haut la distance de peau
est elevee (mur souple), et en bas elle est basse (mur rigide, choc plus violent))

On peut facilement modifier les parametres, les formes ... ce que vous voulez.

Ce programme est une modeste simulation d'un "machin" plein de ressort que
l'on fait evoluer dans un monde...

Source / Exemple :


cf ODE.c et ODE.h utilises dans le main.c avec des ressorts (cf autres de mes sources RESSORT & RUNGE-KUTTA) et une force exterieure derivant d'un potentiel

Conclusion :


Désolé d'emcombrer le site de mes simulations, mais moi je trouve ca marrant les simulations...
a chacun ses passions... (faut etre tolerant :-) )

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_JCDjcd
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
2 -
il faut aller dans les options de compilation et inclure dans les .lib la ligne comctl32.lib
cand1de
Messages postés
2
Date d'inscription
jeudi 14 août 2008
Statut
Membre
Dernière intervention
25 octobre 2008
-
1>winutil.obj : error LNK2019: symbole externe non résolu __imp__InitCommonControls@0 référencé dans la fonction _InitLibWinutil
cand1de
Messages postés
2
Date d'inscription
jeudi 14 août 2008
Statut
Membre
Dernière intervention
25 octobre 2008
-
Comment fait-on pour exécuter tout ça sous Vista ?
p0ulpe
Messages postés
1
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
6 novembre 2007
-
LeColonel => tes projets/conseils de carriere, ca n'a pas grand chose a voir avec le sujet (simulation de rebond de balle). Et si tu preferes d'autres languages de prog, convertis le code de JCD. C'est pas complique et ca te fera un bon exercice.

JCDjcd => les petits exemples de code que tu proposes sont tres interessants. N'hesite pas a nous 'ennuyer' avec d'autres simus, moi j'en redemande! :-)
cs_LeColonel
Messages postés
12
Date d'inscription
jeudi 7 février 2002
Statut
Membre
Dernière intervention
18 mai 2016
-
java est clairement tres demander aussi, pour resumer, tu maitrises .net, tu maitrises java, et t'as le monde dans la poche.
pour les salaires je suis pas sur que ca baisse tant que tu maitrises ton sujet, bcp de programmeur mette .net dans leur CV en ayant que les bases, de plus developpeur est un passage, il y a peu de chance de rester developpeur toute sa vie, une fois le sujet maitrise et des certifications obtenu, il vaut mieux s'orienter vers des metier plus fonctionel, conne chef de proj, ou encore faire de la formation, voir ouvrir sa boite!
pour les taffs d'assembleur, je ne le savais pas, mais comme tu dis il faut sans doute etre tres competent, pas facil pour debuter ou s'exporter.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.