Recherche de chemin / pathfinding particulier
Fermé
John
-
Modifié par John le 25/08/2010 à 17:24
Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 - 27 août 2010 à 14:06
Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 - 27 août 2010 à 14:06
A voir également:
- Recherche de chemin / pathfinding particulier
- Site de vente en ligne particulier - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche adresse - Guide
- Recherche musique - Guide
- Le chemin d'accès spécifié est introuvable ✓ - Forum Téléchargement
1 réponse
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
25 août 2010 à 17:10
25 août 2010 à 17:10
Bonjour,
un algorithme A* est adapté à ton problème, il faut juste que dans ta méthode de stockage des liens entres 2 points tu prennes en compte les raccourcis.
Et donc lors du déroulement de l'algo tu traites les raccourcis comme des points atteignables.
un article sur A* (en anglais, mais très bien expliqué)
https://www.gamedev.net/reference/articles/article2003.asp
un algorithme A* est adapté à ton problème, il faut juste que dans ta méthode de stockage des liens entres 2 points tu prennes en compte les raccourcis.
Et donc lors du déroulement de l'algo tu traites les raccourcis comme des points atteignables.
un article sur A* (en anglais, mais très bien expliqué)
https://www.gamedev.net/reference/articles/article2003.asp
25 août 2010 à 17:24
En effet s'il n'y a pas de vortex le chemin le plus court c'est la ligne droite entre les 2 points donc considérer les points de la carte ne possédant pas de raccourci me semble superflus.
Je précise que les données de départ sont une liste de paires de coordonnées caractérisant les extrémités des vortex (raccourcis) plus les coordonnées des points de départ et d'arrivée.
En tous cas merci pour le lien il est effectivement pratique.
25 août 2010 à 17:35
25 août 2010 à 17:49
j'ai déjà un bout de code qui me permet de calculer des chemins avec 1 ou 2ou 3 vortex mais ce n'est pas du tout optimisé et ne se repose sur aucune théorie. et un calcul avec 3 vortex eut prendre plus de 30 secondes ce qui est embêtant si je veux l'héberger sur un serveur mutualisé qui coupe les exécution qui dure plus de 30 sec....
Et puis surtout je voudrais faire un truc optimisé pour le principe. Je sens bien qu'il doit y avoir une solution mais je bute encore un peu :)
26 août 2010 à 08:38
26 août 2010 à 09:48
Soit Xa, Xb, Ya, et Yb les coordonnées en X et Y des points A et B.
X= | Xb-Xa |
Y= | Yb-Ya |
le cout entre A et B sans vortex est de : c= sqrt ( X²+Y²)
Pour éviter de me trimballer des flottant et d'utiliser la racine carrée je fais des comparaison sur les carrés. donc c = X²+Y²
Pour ce qui est du stockage du chemin s'il n'y a pas de vortex alors il c'est une paires de coordonnées celles de départ et d'arrivé.
S'il y a des vortex alors entre les 2 coordonnées précédente vienne s'insérer des couple de coordonnées représentants l'entrée et la sortie des vortex.
Je sais pas si c'est clair mais bon si c'était simple je ne demanderai pas d'aide en même temps :D