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 :

Moteur physique pour disque


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Points : 89
    Points
    89
    Par défaut Moteur physique pour disque
    bonjour,
    je me demande quel est la meilleur structure de donnée (octree, grille...) pour gérer les collisions entre des disques de différente taille dans un monde 2d continue.

    Merci

  2. #2
    Membre habitué Avatar de sologne
    Homme Profil pro
    Chargé de missions
    Inscrit en
    Mai 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Chargé de missions
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 73
    Points : 125
    Points
    125
    Par défaut
    Bonjour,

    un octree est à mon sens plus utiliser pour de la 3D puisqu'il permet de divisiser un volume en deux dans les trois dimensions : 2^3=8.

    dans un monde 2D, je travaillerais soit avec une grille, sois avec les coordonnées des centre des disques et les rayons respectif. Car connaissant les cordonnées du centre (X1,Y1) du disque 1 de rayon R1 et celles du disque 2 (X2,Y2) et de rayon R2, on peut savoir si D1 intersect D2.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Points : 89
    Points
    89
    Par défaut
    Bonjour,
    effectivement par habitude j'ai écrit octree mais je pensait quadtree.
    Mais je n'ai pas l'impression aussi que le quadtree soit adapté pour ce type de calcul de contact.

    La grille non plus car mes disque sont de taille différente, et suivant la taille des disques l'efficacité changera ou alors il faut pensé multi-grille ?.

    Pour le calcul de distance entre disque il n'est pas question à cause du nombre d'element dans l'application. Il ne doit être utilisé qu'après une réduction des posibilité de contact.

  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
    Le quadtree me semble être la bonne base.
    Mais il faut l'adapter en acceptant que les noeuds (et pas seulement les feuilles) puissent contenir des cercles.

    Quand on cherche si un cercle C peut occasionner une collision, on recherchera des collisions avec des cercles appartenant non seulement au noeud contenant C et à ses fils, mais aussi à ses parents (sans traiter leur descendance).
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

Discussions similaires

  1. Moteur physique pour un simulateur de dés
    Par yabb85 dans le forum Physique
    Réponses: 3
    Dernier message: 16/08/2012, 18h36
  2. Moteur physique pour Android ?
    Par S4milli4 dans le forum Android
    Réponses: 2
    Dernier message: 02/03/2011, 17h48
  3. Réponses: 0
    Dernier message: 26/09/2009, 12h36
  4. Réponses: 0
    Dernier message: 26/09/2009, 12h36
  5. choisir un moteur physique pour linux et windows
    Par Asmod_D dans le forum Physique
    Réponses: 15
    Dernier message: 09/05/2008, 19h38

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