bonjour,
pour un projet, j'ai besoin de decouper une matrice de case de type differents en sous carré de même type. le but etant de realiser un graph de zones connexes servant pour hierarchiser un algo de pathfinding.
pour cela nous avons realiser une version simple de qui consiste en gros a faire
en considerant qu'un carré est valide quand il ne contient que des cases du même type et non deja utilisée dans un autre carré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 pour chaque case de la matrice on crée un carré d'1 case tantque on peut construire un carré valide on agrandit le carré fintantQue finpour
le probleme est que des que le contenu de la matrice se complexifie, on se retouve avec un graphe de voisinage qui ne contient quasiment que des carré de la taille d'une case... bref on en revient presque à la matrice, ce qui fait perdre tout l'interet de la hierarchie du pathfinder...
etant donné qu'on utilise ici un algo glouton qui est loins de nous donner une solution optimal en terme de nombre de case dans le graph, si vous pouviez m'indiquer comment approcher de l'optimalitée (en nombre de sous carré)
en fait on ne cheche pas forcement l'optimalitée mais une approche, etant donnée qu'on souhaite un algorithme "relativement" rapide, etant donné que le temps d'analyse d'une carte est deja tres long a cause d'autres analyse effectuée dessus et j'ai bien peur de ne voir de solution que par essais succecifs...![]()
Partager