Partage
  • Partager sur Facebook
  • Partager sur Twitter

reperer des imbrications

poupées-russe ...

Sujet résolu
    10 juin 2008 à 8:52:00

    bonjour à tous ...

    voilà je travail sur une grille où j'ai des éléments "cellules" qui vont occupé des case.

    donc je peu obtenir des structure comme cela :

    *********
    **XXXXX**
    **X***X**
    **XX*XX**
    *********


    qui peut evoluer en

    *********
    **XXXXX**
    **X%%%X**
    **XXXXX**
    *********



    par exemple: avec X des cellules et * et % des cases vide

    mais les cases % vont avoir des caractéristiques différentes des cases *

    et donc mon problème est comment je peut reussir à savoir que j'ai des cases "vides" emprisonnées dans un groupe de cellule ?
    • Partager sur Facebook
    • Partager sur Twitter
    Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité. Vous êtes perdu ?, là ce sera trop loin.
      10 juin 2008 à 9:11:42

      Salut.
      Tu as plusieur possibilité.
      1- tu cherche un X et tu parcoure les voisin jusqu'à revenir à ton X => contour fermé

      2- une sorte de LPE (Ligne de partage des eux) marcherai très bien
      http://urfist.enc.sorbonne.fr/image_numerique/lpe.htm

      3- tu prend une case vide (zone de taille 1). Tu parcoure récursivement les voisins pour faire grossir ta zone jusqu'à ne plus pouvoir. Si tu ne peut agrandir ta zone à cause des X ce sont des %
      Le principe : http://www.owlnet.rice.edu/~elec539/Projects97/WDEKnow/
      • Partager sur Facebook
      • Partager sur Twitter
        10 juin 2008 à 9:49:27

        Citation : mongaulois

        1- tu cherche un X et tu parcoure les voisin jusqu'à revenir à ton X => contour fermé

        ça revient presque à généré un graph ? non ?

        Citation : mongaulois

        une sorte de LPE (Ligne de partage des eux) marcherai très bien


        je vois pas trop comment faire ....

        Citation : mongaulois

        tu prend une case vide (zone de taille 1). Tu parcoure récursivement les voisins pour faire grossir ta zone jusqu'à ne plus pouvoir. Si tu ne peut agrandir ta zone à cause des X ce sont des %



        ça risque pas d'étre très gourmant en temps machine ? parcequ'il vas falloir que je test chaqu'un de mes cases vides ... mais sinon c'est vers cette solution que je comptait m'orienté ...
        alors j'ai un question subsidiaire ... => comment mémoriser alors la zone prisoniere pour eviter de resters 10 fois une zone de 11 cases .??
        • Partager sur Facebook
        • Partager sur Twitter
        Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité. Vous êtes perdu ?, là ce sera trop loin.
          10 juin 2008 à 9:56:50

          Citation : DrDam

          ça revient presque à généré un graph ? non ?


          Si tu veut ou à un contour en image.


          Citation

          Citation : mongaulois

          tu prend une case vide (zone de taille 1). Tu parcoure récursivement les voisins pour faire grossir ta zone jusqu'à ne plus pouvoir. Si tu ne peut agrandir ta zone à cause des X ce sont des %



          ça risque pas d'étre très gourmant en temps machine ? parcequ'il vas falloir que je test chaqu'un de mes cases vides ... mais sinon c'est vers cette solution que je comptait m'orienté ...


          Ca depend, tu as beaucoup de case? Toute façon, tu devra bien parcourire tes cases. Par exemple pour chercher les X

          Citation

          alors j'ai un question subsidiaire ... => comment mémoriser alors la zone prisoniere pour eviter de resters 10 fois une zone de 11 cases .??


          Tu utilise une matrice (image) qui étiquette les éléments que tu as parcourue.
          • Partager sur Facebook
          • Partager sur Twitter
            10 juin 2008 à 10:30:51

            tiens au passage je fait des liens vers des sujets connex :
            mon problème de matrice
            le projet dans sont entier

            Citation : mongaulois

            Ca depend, tu as beaucoup de case? Toute façon, tu devra bien parcourire tes cases.

            au final j'aimerai avoir un espace de au mini 100*100*100 cases ...donc "histoire de bien comprendre comment faire" , je commence par de la 2D ...


            Citation : mongaulois

            Par exemple pour chercher les X

            bah justement ... c'est une question que j'ai encore ... car mes "X" vont etre dess objet organiser en liste chainé ... et possédant chacun ses coordonné ...
            Je pense que je peu gerer mes X sans avoir besoin d'une "matrice MONDE" par contre pour les cases vides, cette matrice est obligatoire ....( je lui donnerai la position des X ).... mais je ne sais pas encore comment la gerer
            • Partager sur Facebook
            • Partager sur Twitter
            Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité. Vous êtes perdu ?, là ce sera trop loin.
              10 juin 2008 à 12:05:24

              Citation : DrDam


              Citation : mongaulois

              Par exemple pour chercher les X

              bah justement ... c'est une question que j'ai encore ... car mes "X" vont etre dess objet organiser en liste chainé ... et possédant chacun ses coordonné ...
              Je pense que je peu gerer mes X sans avoir besoin d'une "matrice MONDE" par contre pour les cases vides, cette matrice est obligatoire ....( je lui donnerai la position des X ).... mais je ne sais pas encore comment la gerer


              Tu veut faire en 3D.
              A mon avis partir d'une matrice MONDE pour de la 3D ce n'est pas le top...

              Un class forme que contient des points X avec une fonction inside( const CPoint &) correspondrais mieux. Par exemple cette class pourrai être un sous ensemble de point représentant une boite (sous forme d'une matrice 3D, pourquoi pas).
              Cela marcherai en 2D aussi.

              Aprés je ne sait pas trop ce que tu veut faire.
              Pour regrouper tes X, le mieux , comme il y as moins de X que de vide, serait de prendre X et regrouper tout les X en parcourant récursivement les X voisin. Ensuite tu recommence avec un X non regroupé etc, etc, etc
              Tu doit regarder les 8+9+9 =26 voisins.

              • Partager sur Facebook
              • Partager sur Twitter
                10 juin 2008 à 12:18:43

                merci ...

                a toi ...
                • Partager sur Facebook
                • Partager sur Twitter
                Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité. Vous êtes perdu ?, là ce sera trop loin.

                reperer des imbrications

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown