IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Detection de collision entres deux cylindres.


Sujet :

Algorithmes et structures de données

  1. #1
    Membre actif

    Homme Profil pro
    Software engineer
    Inscrit en
    Août 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Software engineer

    Informations forums :
    Inscription : Août 2006
    Messages : 73
    Points : 207
    Points
    207
    Par défaut Detection de collision entres deux cylindres.
    Bonjour,

    Je cherche actuellement un algorithme pour détecter si il y a une collision entre deux cylindres sachant que ceux-ci font des rotations. J'arrive à voir si il y a collision par rapport à l'axe x, y et z si les cylindres sont verticaux mais si je fais une rotation de 45° d'un des cylindres mon algorithme part en poussière... Quelqu'un pourrait-il m'aider ?

    Merci d'avance,
    SeyZ.

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Points : 754
    Points
    754
    Par défaut
    Peut-on préciser si il est question de
    1- cylindre circulaire ?
    2- cylindre droit?
    si se sont 2 cylindres dorits circulaires, il n'y a pas de problème pour formaliser
    la réponse à votre question.

  3. #3
    Membre actif

    Homme Profil pro
    Software engineer
    Inscrit en
    Août 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Software engineer

    Informations forums :
    Inscription : Août 2006
    Messages : 73
    Points : 207
    Points
    207
    Par défaut
    Merci pour ta réponse, mes cylindres sont des cylindres circulaires je suppose (je ne sais pas trop ce que sont des cylindres droits). En gros voici une représentation du cylindre:


  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Pour déterminer les distances, il faut traiter successivement les distances entre tubeA et tubeB, entre tubeA et fondB (disque du bas), tubeA et fondB' (disque du haut), puis tubeB et fond A et tubeB fond A'.

    Pour celà, on se ramene à des distances :
    - de segment à segment portant sur les axes du cylindre (distance roite à droite si les points d'extrémité du segment joignant lers 2 doites - plus courte distance - sont dans les segment délimitant les extrémités du tube, droite à point si ... ou min distance entre extrémités des tubes)
    - de disque à disque portant sur les fonds du cylindre (qui fait intervenir en particulier des distances entre plan, de points à plan, ...).

    Il y a probablement un site où on peut trouver les formules.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    les problèmes de détection de collision furent largement traité sur le forum algorithme. Regardes donc de ce coté.
    Les réponses sont généralement les mêmes, ils faut regardes les distances entre les objets.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  6. #6
    Membre actif

    Homme Profil pro
    Software engineer
    Inscrit en
    Août 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Software engineer

    Informations forums :
    Inscription : Août 2006
    Messages : 73
    Points : 207
    Points
    207
    Par défaut
    ToTo j'ai trouvé ceci http://www.developpez.net/forums/sea...earchid=529765. Cela ne m'aide pas beaucoup, a part ce lien: http://www.euclideanspace.com/threed...llisiondetect/
    Mais je voudrai effectuer les tests de collision avec des cylindres.

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Quelques fonctions de détection ici (mais, pas cylinder-cylinder )
    http://www.oxforddynamics.co.uk/coll...n_routines.htm
    Sinon, un livre (toujours pas de cylinder-cylinder):
    http://realtimecollisiondetection.net/books/rtcd/

    sinon google : cylinder collision detection
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  8. #8
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    c'est pour matheux, désolé, mais tu as tout:

    http://my.fit.edu/~pierrel/papers/DETC2005-84699.pdf
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  9. #9
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    c'est effectivement un problème de math :
    - Par chaque cylindre passe une droite, donc calcule la distance minimal entre ces deux droites.
    - Ensuite il te restera à tester si la distance est inférieure à la somme des rayons cylindres.
    - Et il faudra aussi vérifier que le point le plus proche appartient aux deux cylindres.

    Mathématiques :
    - En 3D une droite est l'intersection de deux plans, c'est inutilisable.
    - Sinon une droite c'est un point et un vecteur.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  10. #10
    Membre actif

    Homme Profil pro
    Software engineer
    Inscrit en
    Août 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Software engineer

    Informations forums :
    Inscription : Août 2006
    Messages : 73
    Points : 207
    Points
    207
    Par défaut
    Parfait, je vais me débrouiller avec ce qui ma été donné. Merci beaucoup de votre aide.

    SeyZ.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction pour tester la collision entre deux objets
    Par izissie dans le forum Newton
    Réponses: 1
    Dernier message: 22/09/2010, 20h56
  2. Detection de collision entre 2 volumes.
    Par nassarane dans le forum 3D
    Réponses: 1
    Dernier message: 06/09/2010, 03h52
  3. collision entre deux mobiles
    Par Bastuccio dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 24/09/2009, 08h36
  4. collision entre deux segments
    Par [Hugo] dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 01/04/2009, 15h48
  5. Collision entre deux rectangle
    Par Ouaibou dans le forum Mathématiques
    Réponses: 4
    Dernier message: 15/04/2007, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo