Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Moteur physique : détecter les collisions [ Divers / Divers ] (noncommunique)

dimanche 28 janvier 2007 à 18:54:54 | Moteur physique : détecter les collisions

noncommunique

Bonjour !!

Je suis en train de tenter de réaliser un moteur physique et j'ai le problème suivant : je ne sais pas comment faire pour détecter une éventuelle collision entre une boule dont le centre a pour coordonnée x y z et est de rayon r, et un pavé dont on connait les coordonnées des 8 sommets, et comment la traiter

Merci !

lundi 29 janvier 2007 à 02:51:39 | Re : Moteur physique : détecter les collisions

MuPuF

Salut, en quelle classe es-tu ?
En terminale S on voit un moyen simple de calculer la distance d'un point à un plan.
A partir de là tout est simple, si la distance entre le centre et le plan <=r, alors il y a collision.
Tout bête non ? si tu trouves pas la formule, je ferai peut etre l'éffort d'aller ouvrir un livre.
Bonne chance pour ton moteur physique.
@+

/*
MuPuF®

lundi 29 janvier 2007 à 18:51:49 | Re : Moteur physique : détecter les collisions

noncommunique

Merci, je suis en SUP :)

Le problème est que, si l'on a un pavé, prenons sa face supérieure. Cette face est un parallélogramme. Calculer la distance de la sphère au plan contenant cette face n'est pas correcte car la boule peut très bien ne pas rentrer dans le parallélogramme mais couper le plan

J'avais déjà pensé a faire la chose suivante : projeter le centre de la boule sur le plan contenant le parallélogramme, puis à l'aide de barycentres, déterminer si ce centre était dans le parallélogramme. Si tel était le cas, alors on vérifiait que la distance entre le centre de la boule est le plan était inférieure à r : dans ce cas là on avait collision. Le problème à cela est le cas suivant : imaginons un pavé droit dont les sommets ont pour coordonnées (0,0,0)(0,0,1)(0,1,0)(0,1,1)(1,0,0)(1,0,1)(0,1,0)(1,1,1), prenons r=1 et la trajectoire selon une droite z=11/10 et x=1/2. (faites une figure pour bien visualier :))
Il y aura un moment où la boule touchera le pavé, mais ma méthode ne fonctionne pas

Auriez vous d'autres idées, ou connaitriez vous des tutoriaux clairs et bien faits

Merci :)

mardi 30 janvier 2007 à 04:00:28 | Re : Moteur physique : détecter les collisions

MuPuF

(d'où l'interêt de renseigner plus correctement ton profil cppfrancien), moi j'ai tjs feinté, donc je peux pas trop t'aider, je suis plutot une quiche en math car justement les profs aiment pas qu'on démontre pas (comme c'est étonnant, mais dur de démontrer les évidences).
Fait gaffe par contre pour la projection, car si la projection du centre de la sphere n'est pas dans le parrallélogramme, ça veut pas dire qu'elle ne touche pas, ( ex : on garde les mêmes coordonées pour le pavé droit, on place la boule à X=0,Y=0 et Z=-0.5, la boule va toucher et donc gros problème).
Essaye de trouver une méthode continue, sans gestion de cas, c'est le best du best et ce sera surrement bien plus rapide (et oui en prog, la gestion des cas c'est pas aussi bien qu'en math, ça coute ;-)
Bonne chance, et désolé, je me pencherai peut etre sur ton exemple demain en cours, car là j'ai vraiment plus la volonté (4h du mat, et cours demain, faut que j'y aille).


/*
MuPuF®

jeudi 1 février 2007 à 16:02:13 | Re : Moteur physique : détecter les collisions

Galmiza

Les faces d'un pavé sont des rectangles. Si ABCD est une de ses faces avec n=AB^BC/(|AB|.|BC|) orienté vers l'extérieur, ta boule de centre I et de rayon r penètre le plan de la face si AI.n


Cette discussion est classé dans : détecter, collisions, moteur, physique


Répondre à ce message

Sujets en rapport avec ce message

Création d'un moteur physique pour un avion (3d) | comment calculer certaines forces [ par daneel17fr ] Bonjour,donc je voudrai développer un moteur 3d pour simuler le comportement d'un avion en l'air.il n'est pas (encore) question d'affichage 3d, mais j Moteur physique [ par fred100582 ] Salut, je recherche de la doc sur les moteurs physiques, qq'un a-t-il une adresse en français à me donner car les sites que j'ai consulté restent très Moteur 3D, gestion des collisions [ par fabienGL ] Bonjour, je vous écris car j'ai 2 question :1)OpenGL c'est une librairies graphiques, pourtant entends-t-on parler de moteurs 3D j'aurais aimé savoir Moteur physique [ par Mofut3 ] Bonjour a tous , j'ai un projet de jeu à faire pour mon école et j'aimerais savoir si quelqu'un pourrait me donner des conseils pour demarrer dans la moteur [ par Mofut3 ] Bonjour a tous , j'ai un projet de jeu à faire pour mon école et j'aimerais savoir si quelqu'un pourrait me donner des conseils pour demarrer dans la Détecter une erreur dans un process ? [ par chuckboy ] Bonjour à tousJe cherche à détecter une erreur dans un process externe.J'explique , je lance un process "CreateProcess(NULL, (LPTSTR)sExecutable.c_str Outil pour détecter les variable non initialisées [ par themaste ] Salut à tous!Voila, je viens d'avoir sur un programme l'erreur suivante:"RunTime Check Failure : The variable 'XXX' is being used without being define codeur incrémental sur carte d'acqui [ par spill_dk ] bonjour,   je possède un codeur incrémental 500 impulsion/tour qui sera branché sur l'entrée numérique d'une carte acquisition.je cherche à détecter l Création d'un moteur 3D en partant de rien [ par poiuytrez3 ] Bonjour, je souhaiterai créer un petit moteur 3D le plus simple possible en partant de rien. Quelqu'un en a t il déjà fait un? Je ne souhaite pas util probleme physique [ par jhouria ] Quelqu un a t il deja essayer de modéliser l'oscillations couplées de N oscillateurs? Apparemment il faut utiliser Runge-Kutta à l'ordre 4 mais commen


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.