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 :

Trier des vertices pour tracé de contour


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut Trier des vertices pour tracé de contour
    Salut,
    je suis confronté à un problème de tri pour tracer un polygone. J'ai tenté quelques trucs mais sans succès.
    J'ai une liste de points 2d (x,y), constamment en mouvement car liés à une simulation physique.
    A chaque cycle je récupère les coordonnées des points et je voudrais tracer un polygone n'ayant aucun segment qui se croisent.
    Si je réduis l'exemple au minimum avec 4 points ça donne ça :



    et voici ce que j'essaie d'avoir :



    J'essaie de trier les points en fonctions de leurs coordonnées pour pouvoir tracer un polygone dans le sens anti-horaire (et donc sans aucune intersection de segments).
    Sur 4 points c'est simple mais j'essaie de trouver un algo de tri généralisable à n points :



    L'idée c'est d'ailleurs de tracer le contour, donc en fait les coordonnées des points intérieurs ne me sont pas vraiment utiles. (En fait, je m'aperçois en rédigeant que ce que je cherche c'est un algo de bounding box ou plutôt de "forme englobante", "bounding shape ?")

    Il faudrait que je récupère les min x, max x, min y, max y mais je ne vois pas comment faire le croisement pour la sélection des points pertinents. Toute idée est la bienvenue ^_^

    Voilà, un grand merci à ceux qui me liront et pour l'aide future

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Djakisback Voir le message
    L'idée c'est d'ailleurs de tracer le contour, donc en fait les coordonnées des points intérieurs ne me sont pas vraiment utiles. (En fait, je m'aperçois en rédigeant que ce que je cherche c'est un algo de bounding box ou plutôt de "forme englobante", "bounding shape ?")
    Le problème avec les polygones concaves, c'est que connaitre la liste des sommets ne suffit pas a définir un seul polygone (meme non croisé).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    exemple avec 5 points:
     
    *     *      *-----*     *     *
                 |    /      | \ / |
       *         |  *        |  *  |   ...
                 |    \      |     |
    *     *      *-----*     *-----*
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Ah oui merci beaucoup je n'avais pas vu cela. Je continue mes recherches (enfin, en fait, faut déjà que j'essaie de définir ce que je veux faire ).

  4. #4
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    En fait pour être plus précis, mon but était de simuler un fluide via des sphères Bullet (moteur physique). L'idée est donc d'obtenir le contour d'un groupe de sphères, puis de tracer un polygone rempli. Mais c'est vrai qu'avec cette remarque sur les polygones, je ne vois plus trop comment choisir mes points.


  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Bonjour,

    si tu cherches la forme convexe qui englobe l'ensemble de tes points, regarde du cote des algorithmes d'enveloppe convex (convex Hull).
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  6. #6
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Merci beaucoup, oui c'est effectivement cela que je recherche, je vais voir ça de ce pas (ça va mieux quand on pose les mots ^^)

Discussions similaires

  1. [MySQL] trier des timestamps pour affichage du plus récent
    Par cyberkoa dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/03/2010, 07h21
  2. comparateur de set pour trier des vertex3D
    Par tonio96 dans le forum SL & STL
    Réponses: 3
    Dernier message: 13/10/2008, 18h30
  3. Réponses: 5
    Dernier message: 15/08/2008, 16h08
  4. [C++] quelle structure de donnée utiliser pour stocker des vertices ?
    Par johnnyjohnny dans le forum Développement 2D, 3D et Jeux
    Réponses: 14
    Dernier message: 14/07/2007, 21h44
  5. [Javascript][XSLT] Meilleur solution pour trier des données ?
    Par buzzkaido dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 11/10/2006, 13h26

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