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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2016
    Messages : 2
    Points : 1
    Points
    1

    Par défaut Remplir polygone avec rectangle

    Bonjour,

    Je suis à la recherche d'un algorithme ou d'un code permettant de remplir un polygone avec des rectangles.
    Je ne trouve rien pourtant je me doute que quelque chose doit exister. Peut être que je n'utilise pas les bons mots clés.

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    juin 2007
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 4 060
    Points : 7 118
    Points
    7 118

    Par défaut

    Y-a-t-il d'autres contraintes comme par exemple un nombre maximum de rectangles ?
    Tout le polygone doit-il être rempli ?
    Et enfin, uniquement par curiosité : ça te servira à quoi ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2016
    Messages : 2
    Points : 1
    Points
    1

    Par défaut

    bonjour,
    non pas de limitation sur le nombre de rectangle.
    Oui le polygone doit etre rempli.
    Je fait des analyses avec un instrument et sur des images je choisis une zone d'interet quelconque. L'instrument n'accepte que des zones rectangulaires a analyser.

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    juin 2007
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 4 060
    Points : 7 118
    Points
    7 118

    Par défaut

    Y-a-t-il des contraintes sur tes polygones, comme par exemple nombres maximum de côtés, convexe, concave... ?
    Lorsque le polygone sera rempli de grands rectangles, les derniers rectangles ne contiendront que quelques pixels. Est-ce nécessaire de ne pas déborder du polygone ?
    Un polygone est-il assez petit pour être modélisé par une patrice de pixel ? Car dans le cas contraire, il faudra ajouter une technique de parcours du polygone via une map à échelle réduite.

    Je vois essentiellement 2 approches :
    1. méthode algébrique, intersection de droites. Peut importe la taille du polygone.
    2. méthode par remplissage d'une matrice de points. Le polygone doit être assez petit pour tenir en RAM. Ou alors il faut réduire l'échelle.


    La méthode par remplissage me semble la plus rapide à mettre en place, et probablement la plus simple. Tout d'abord, créer une matrice rectangulaire des points. Mettre -1 lorsque le point est hors du polygone, 0 sinon.
    Ensuite, trouver le centre du polygone. Ce point est le début du premier rectangle, le marquer à 1. Tu vas tenter de l'agrandir dans toutes les directions. Chaque fois que tu parviens à ajouter une ligne au rectangle, tu marques avec des 1. Lorsque tu ne peux plus agrandir, tu choisis un point à 0, tu le marques à 2 puis tu tentes d'agrandir le rectangle.
    A chaque nouveau rectangle, tu incrémentes la valeur de 1.
    Le point problématique qui reste à résoudre est la méthode d'agrandissement. En effet, si tu agrandis au maximum en largeur, tu vas très vite être bloqué pour l'agrandissement en hauteur. tu peux peut-être tenter de trouver des carrés au lieu de rectangle pour le début de l'algo. Au fur et a mesure que le découpage avance, il sera préférable d'utiliser des rectangles pour limiter ne nombre total de découpage.
    Il va falloir expérimenter par toi-même.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

Discussions similaires

  1. remplir tableau avec une seule instruction !
    Par tlemcenvisit dans le forum C++
    Réponses: 3
    Dernier message: 21/06/2014, 18h22
  2. Envellope d'un polygone avec anneau
    Par Graffito dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 08/01/2008, 15h23
  3. [VB.NET] remplir dataset avec procedure stockée
    Par HULK dans le forum Windows Forms
    Réponses: 7
    Dernier message: 18/07/2006, 12h05
  4. Remplir Etat avec les données d'une requête
    Par emeraudes dans le forum IHM
    Réponses: 9
    Dernier message: 31/05/2006, 16h55
  5. [VBA-E]Remplir combobox avec contenu d'une feuille Excel
    Par Deejoh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/03/2006, 16h16

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