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

Mathématiques Discussion :

Polygone minimum englobant


Sujet :

Mathématiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut Polygone minimum englobant
    Bonjour,

    j'ai un petit probleme de geometrie que je n'arrive pas à resoudre:

    j'ai une liste de rectangles (4 coordonnées [x,y] par rectangle).
    Je dois determiner le polygone englobant tous ces rectangles.

    Avec le module Math-Geometry-Planar, j'arrive à obtenir le rectangle minimum englobant (plus grand que le polygone que je veux pouvoir obtenir en général) ou l'enveloppe convexe englobant ces polygones... qui est presque ce que je veux sauf que c'est convexe, justement... (c'est à dire encore plus grand que le polygone que je dois obtenir, generalement).

    Sur l'image, on devine en traits fins 2 rectangles (1 petit et un plus grand dessous). En traits gras, c'est le polygone minimum englobant mes 2 rectangles. C'est ce que je veux obtenir, mais je n'y arrive pas.

    Y-a-t-il un géomathématicien dans la salle ?

    Merci de m'avoir lu...
    Images attachées Images attachées  

  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 : 53
    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
    il faut une methode optimisée pour les rectangles, ou une methode générale ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut
    MMmh... il me faut une methode qui marche, je n'ai pas besoin d'un truc optimisé niveau vitesse d'exécution, je n'aurai pas des milliers de rectangles dans ma liste.

    Je précisais juste ce dont je disposais. Mon principal souci, c'est le fait que le polygone final (l'enveloppe) peut etre concave.
    Autre précision: je controle l'ordre et le sens des points de mes rectangles.

    En fait, en terme math je crois que je cherche l'union de tous mes polygones ? mais je ne suis pas matheux, je cherche un pédagogue en plus d'un geomathicien

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Regarde du coté des algorithmes d'union de polygones, cela ce trouve facilement sur le net. Ton problème est juste un cas particulier ou tous les polygones sont des rectangles.

  5. #5
    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 : 53
    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
    Oups... désolé pour l'attente, un petit pb avec une base SQL

    En fait, en terme math je crois que je cherche l'union de tous mes polygones ? mais je ne suis pas matheux, je cherche un pédagogue en plus d'un geomathicien
    Arf... pas de bol, moi je fais juste dans l'algorithmie.

    Citation Envoyé par Splug Voir le message
    MMmh... il me faut une methode qui marche, je n'ai pas besoin d'un truc optimisé niveau vitesse d'exécution, je n'aurai pas des milliers de rectangles dans ma liste.

    Bon, deja il faut savoir que ce probleme (minimum area hull) n'est pas simple.

    Une methode simple (mais pas rapide), consiste a partir d'un sommet (exterieur) et suivre une des arretes. A chaque intersection, on choisi de se déplacer sur une arrete qui mene directement a un sommet/intersection exterieur.

    Ca a l'air compliqué comme ca, mais on peut faire plein d'optimisation et calculer les intersections et les points exterieurs au fur et a mesure de la progression.

    Hum... je viens de me relire et ca n'a pas l'air clair. Essaye avec un papier et un crayon et dis moi si tu vois de quoi je parle...
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut
    Une methode simple (mais pas rapide), consiste a partir d'un sommet (exterieur) et suivre une des arretes. A chaque intersection, on choisi de se déplacer sur une arrete qui mene directement a un sommet/intersection exterieur.

    Ca a l'air compliqué comme ca, mais on peut faire plein d'optimisation et calculer les intersections et les points exterieurs au fur et a mesure de la progression.
    Oui, je vois tout à fait la méthode, c'est comme ça que ferait mon cerveau, mais je ne vois pas comment écrire ça en code ... , le fait de suivre les arretes. Ca devient vectoriel là et ce n'est pas non plus mon fort (me demandez pas ce que je fous à faire ça, dans ce cas, svp )

    Merci en tout cas pour ta réponse pseudocode

  7. #7
    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 : 53
    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 Splug Voir le message
    Oui, je vois tout à fait la méthode, c'est comme ça que ferait mon cerveau, mais je ne vois pas comment écrire ça en code ... , le fait de suivre les arretes. Ca devient vectoriel là et ce n'est pas non plus mon fort (me demandez pas ce que je fous à faire ça, dans ce cas, svp )

    Merci en tout cas pour ta réponse pseudocode
    Deja, si tu as pigé le principe, c'est bon.

    Maintenant, tu peux chercher/copier/coller sur le net l'algo de Weiler-Atherton qui est une application de ce principe.

    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

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

Discussions similaires

  1. Polygone au volume minimum
    Par Wizard50 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 02/01/2014, 14h59
  2. Comment detecter un polygon sous le curseur
    Par FreshVic dans le forum OpenGL
    Réponses: 2
    Dernier message: 04/07/2003, 11h48
  3. Triangulation de Polygones
    Par seb_lisha dans le forum DirectX
    Réponses: 1
    Dernier message: 01/07/2003, 13h40
  4. [Algo] Point à l'intérieur d'un polygone ?
    Par kebby dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/05/2003, 14h22
  5. une ligne et un polygone convexe
    Par rekam dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 20/12/2002, 11h39

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