Collision entre objets 3D

Résolu
mmaximum Messages postés 38 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 décembre 2011 - 18 mars 2008 à 17:40
mmaximum Messages postés 38 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 décembre 2011 - 20 mars 2008 à 13:28
Salut à tous,

Je suis nouveau sur le forum. Je sais déja bien programmé(c/c++, python, xhtml/html, css, javascript,...)
Je suis en train de développer un jeu de tir 3D en c++ avec son moteur de jeu.
J'ai un problème majeur : dans la programmation de mon moteur de jeu, je souhaite faire le calcule des collisions moi même mais j'ai pas le niveau en math(je suis en 4èmes). Pouvez vous m'indiquer des tutoriaux ou autres. Je ne trouve rien d'intéressant sur google. Des petits code en c++ serait les bien venu .

Petite précision : je ne cherche pas à savoir si 2 objets se touchent, mais à savoir comment calculer les rebond et collision.

Merci d'avance

9 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
19 mars 2008 à 13:08
Je sais meme pas si il y a des tutoriels pour expliquer ca. Si tu maitrises les bases de l'aglèbre linéaire, il n'y a rien de plus simple que de calculer un rebond.

Soit N le vecteur normal normé et V la vitesse incidente. La vitesse après le choc vaut:
V' = V - 2 (N scalaire V) * N
3
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
18 mars 2008 à 22:23
Comme tu dis, je pense pas que tu aies le niveau en maths, c'est pas un problème très simple...
0
mmaximum Messages postés 38 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 décembre 2011 2
19 mars 2008 à 12:45
Ne vous inquiété pas, pour les maths, je comprendrais tous ce que vous metterez!
Je connais quand même les vecteurs, les matrices, et pleins d'autre chose.
Je sais bien entendu les utiliser.
Ca serait vraiment gentil de votre part de me donner au moin l'adresse d'un tutoriel.
0
mmaximum Messages postés 38 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 décembre 2011 2
19 mars 2008 à 14:11
Merci beaucoup luthor, c'est déjà un début.
Mais j'aimerais les formules pour calculer les chocs entre:
-2 sphères
-1 sphère et 1 cube
-2 cubes
-un quadrilatère et 1 sphère
-un quadrilatère et 1 cube

Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
19 mars 2008 à 17:15
La relation est valable dans tous les cas. Faut juste déterminer le vecteur normal au point d'impact.

Autant le rebond entre deux sphères du pourrais y arriver, mais le rebond entre deux cubes. Abandonnes tout de suite, tu vas perdre ton temps sauf si tu trouves un code tout fait. Pareil pour un cube sur une sphère, c'est compliqué.
0
mmaximum Messages postés 38 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 décembre 2011 2
19 mars 2008 à 19:33
Je n'abandonnerai jamais!!!
J'ai trouvé ce site
http://darkwood91.free.fr/pagesperso/choc3d/physics.php
C'est déjà un début, il y a les collision entre plusieurs sphères.
Pour le calcule de gravité, je sais déjà le faire depuis bien longtemps(depuis la 6èmes)
0
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
19 mars 2008 à 21:01
A la limite y avait la source deJCDjcd qui était assez jolie :
http://www.cppfrance.com/codes/SIMULATION-REBOND-SUR-MUR_44546.aspx
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
20 mars 2008 à 13:00
Les sphères ne posent aucun problème, c'est les cubes qui sont compliqués. Il faut non seulement maitriser la théorie (un peu de mécanique basique), mais également choisir une technique de résolution approchée.
0
mmaximum Messages postés 38 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 décembre 2011 2
20 mars 2008 à 13:28
Merci a vous tous pour vos réponses.
J'ai un autre problème:
J'ai une boudding sphere pour un bonhomme dans mon jeu et j'ai une surface(le terrain) composé de quadrilatère et de triangle et avec des murs. J'aimerai géré les déplacement du bonhomme avec sa boudding sphère sur le terrain, mais sans les rebonds( un homme qui marche sur un terrain ne rebondit pas, même quand il tombe de haut).
Quelqu'un c'est comment faire??
Sinon y a-t-il une meilleur solution pour gérer les déplacements des joueurs????
0
Rejoignez-nous