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

Physique Discussion :

[2D] Prédire collision entre 2 polygones


Sujet :

Physique

  1. #1
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut [2D] Prédire collision entre 2 polygones
    Salut à tous,
    C'est la première fois que je viens dans la rubrique jeux de dvlpez.com. En tout cas y'a pleins de choses sympas.

    Pour en venir à mon problème, je voudrais des conseils pour un algo qui permette de prédire la collision de deux polygones en 2D qui ont leur vitesse, direction et sens respectif.
    Si y'en a qui pigent la solution donnée sur ce lien :
    http://gpwiki.org/index.php/Polygon_Collision
    ça serait cool d'expliquer .
    Voilà merci !

  2. #2
    mat.M
    Invité(e)
    Par défaut
    Pour des polygones 2d il est souhaitable de prendre comparaison pixel par pixel.
    Cette méthode a été largement abordée sur ce forum...mais comme le dit l'article elle peut être lente.
    Tu peux utiliser des "bounding-boxes" ou avec des cercles qui délimitent un objet particulier.
    Si les 2 cercles sont en intersection il ya collision


    So how does this concretely help us decide whether polygon A and B intersect? Well, we just go over each side of each polygon and check whether it forms a separating axis. To do this we'll be using some basic vector math to squash all the points of both polygons onto a line that is perpendicular to the potential separating line (see figure 2). Now the whole problem is conveniently 1-dimensional. We can determine a region in which the points for each polygon lie, and this line is a separating axis if these regions do not overlap
    Cette méthode suppose de connaitre chaque face du polygone.
    Pour un RPG en 2d avec des personnages c'est inapplicable ;

  3. #3
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    merci quand meme mais justement ce ne sont pas des predictions ces methodes permettent juste de tester une intersection de de formes mais ce que je voudrais c'est de pouvoir connaitre le point d'impact (s'il a lieu) entre deux objets défini seulement par leur forme (polygonale seulement), par leur position et leur vecteur vitesse. En fait c'est pour avoir une gestion des collision descente pour mon jeu multijoueur . Voilà j'espere que c'est un peu plus clair Merki .

  4. #4
    mat.M
    Invité(e)
    Par défaut
    Désolé de cette réponse laconique mais à ce moment là il faut avoir recours à un algorithme d'intersection de polygones.
    Je crois que cela a déja été abordé

Discussions similaires

  1. Collision entre polygone et OBB
    Par ciberrique dans le forum Physique
    Réponses: 1
    Dernier message: 11/07/2007, 15h13
  2. Collision entre 2 polygones en 2d
    Par franco01 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/07/2006, 17h08
  3. Détection de collision entre un cube et un carré
    Par Mat 74 dans le forum Physique
    Réponses: 15
    Dernier message: 17/03/2006, 14h01
  4. GLScene et les collisions entre les objets
    Par HopeLeaves dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 13/06/2005, 19h45
  5. Réponses: 4
    Dernier message: 25/09/2004, 09h58

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