Merci pour vous réponses :
Si oui, ça ressemble à un plus court chemin euclidien.
Oui, c’est à peu près ça. Si ce n’est que l’article Wikédia a l’air de parler de cellules binaire passe/passe-pas.
Est-ce que tu as besoin d’une solution optimale, ou est-ce qu’une bonne solution (mais pas forcément la meilleur) est suffisante?
Ben ça va dépendre. Idéalement j’aimerai bien une solution optimale. Mais bien évidement, si ça implique deux semaines de calculs dès que le raster dépasse le Mpx, la question de savoir ce que je veux ou pas risque de devenir secondaire.
Tu peux regarder du côté de https://dl.acm.org/doi/10.1145/102782.102784, qui à l’air de parler exactement du problème que tu décris.
Sacré article. Mais effectivement ça à l’air de parler de la problématique. Je garde ça sous le coude.
Si tu cherches plus une solution simple à implémenter pour avoir un résultat correcte, tu peux essayer de discrétiser ton milieu, par exemple en considérant N points dans chaque régions et en créant un graphe qui connecte chaque point à tous les points de la même région et des régions adjacentes (en utilisant la loi de Snell-Descartes pour calculer la distance). Tu peux ensuite optimiser ce chemin en optimisant la position des points d’intersections entre ton chemin et les frontières entre régions.
Ce que tu appels « N points », c’est les pixels ? Dans ce cas, ça revient à ce que j’ai décris plus haut non ? Avec l’algo de Dijkstra pluto que SD. D’ailleurs je ne vois pas trop comment appliquer SD sur un graphe.
Sinon, j’ai un peu cherché hier. Et en cherchant dans les publications d’optique plutôt que de SIG, j’ai trouvé le mot clé « équation eikonale ». Il semblerai que l’algo « canonique » de résolution numérique soit la Fast Marching Method. Si quelqu’un a des information sur cet algo, d’éventuels inconvénients, etc, je suis preneur.
j’ai trouvé un module python qui à l’air de faire le taf. Il est juste pas à jour avec la dernière version de numpy. Je vais tester ça.