Vous recherchez un algorithme en entonnoir.
Ici, vous êtes simple
http://digestingduck.blogspot.com.es/2010/03/simple-stupid-funnel-algorithm.html
Fondamentalement, l'algorithme identifie les bords comme des portails et crée un entonnoir qui est testé par rapport au sommet des bords pour vérifier s'ils sont à l'intérieur de l'entonnoir ou non.
À l'étape A, l'entonnoir est construit avec la position de départ et le portail traversé par une ligne jaune.
À l'étape B, le portail suivant est vérifié, le sommet supérieur est à l'intérieur de l'entonnoir, de sorte que la ligne supérieure de l'entonnoir passe maintenant à travers. Mais le sommet inférieur est hors de l'entonnoir parce que la ligne rouge est sous la ligne verte, donc la ligne inférieure ne passera pas par elle, elle continuera à passer par le sommet inférieur du portail précédent.
Comme vous pouvez vérifier que l'entonnoir sera plus petit et plus petit, jusqu'à l'étape F, où il n'est pas possible de construire l'entonnoir, car la ligne rouge fait un mauvais entonnoir, donc le sommet supérieur est choisi comme nouveau point de départ et un nouvel entonnoir serait être construit si le point final n'est pas dans ce maillage.
Sachez que ce type d'algorithme permet également de résoudre simplement le problème de taille du modèle, car vous pouvez considérer que les portails sont plus petits du 2xradius de votre modèle.