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 :

rectangulation: transformer amas points 2d en rectangles


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Par défaut rectangulation: transformer amas points 2d en rectangles
    Bonjour,

    comment avoir la meillleure "rectangulation" à partir d'un amas de points 2d (et le plus rapidement possible)

    j'ai besoin d'implémenter cet algo pour un petit jeu en 2d:
    transformer un amas de pixels (peu éparpillés) en union de rectangles pleins, les plus grands possibles (idée proche de la triangulation, mais l'objectif est d'avoir des rectangles)

    en fait il faut convertir la map (fichier image) presque entièrement dessinée dans un logiciel de dessin
    en union de plusieurs rectangles de taille différente: car ils sont utilisés dans un moteur physique qui ne se nourrit que de rectangles

    donc j'ai trouvé une solution (la plus simple):

    on prend un point au hasard de l'amas de pixels, on créé un rectangle de 1 sur 1 et on l'élargit tant qu'on peu (super l'algo!!!)

    je ne sais pas s'il y en a une mielleure, voilà je vous pose la question:
    comment avoir la meillleure "rectangulation" à partir d'un amas de points (et le plus rapidement possible)

    merci
    Images attachées Images attachées  

  2. #2
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    J'ai bein peur qu'il n'existe pas de "meilleure rectangulation", mais bien plusieurs "meilleures rectangulations" toutes équivalentes.

    Encore faut-il savoir ce que tu appelles de "meilleur rectangulation" !
    Je penses que tu doit vouloir dire un agencement de rectangles tels que la surface gaspillée à cause d'un point trop éloignée dans un carré soit minimale.

    Maintenant reste à l'expliciter sous forme mathématique.

    En attendant tu as pensé à un algorithme qui par du rectangle le plus grand encadrant tout tes points, et tu affine récursivement pour diminuer la surface gaspillée ? (L'inverse de ta solution qui fait grandir les rectangles).

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    oui mchk0123 a donné le bon indice sur la méthode à suivre....

    Tu procèdes par découpage itératif descendant :

    D'abord point xmin, xmax, ymin, ymax

    Puis tu divises en 4 : au moins 1 point dans un des 1/4, tu continues la division dans ce quart, etc....

Discussions similaires

  1. Transformer le point du pavé numérique en virgule
    Par SurfingJeff dans le forum Langage
    Réponses: 4
    Dernier message: 04/11/2008, 10h58
  2. Réponses: 0
    Dernier message: 25/08/2008, 21h32
  3. caractère cyrillique transformé en point d'interrogation
    Par TobTob dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 20/11/2007, 21h28
  4. transformer les points en virgules
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 19h35
  5. transformation de point
    Par clettebou dans le forum OpenGL
    Réponses: 1
    Dernier message: 14/04/2005, 10h11

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