CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

PathFinding : A* ... variante ?

deeplo
deeplo
Niveau 4
15 avril 2012 à 22:39:31

j'ai codé un algo A* vite fait sous python histoire de prototyper le fonctionnement
(http://deeplo.free.fr/a-star.py pour les petits curieux)

Ca génère une image png sur fond blanc avec des pixels noirs (les cases ou on ne peut pas aller) et le tracé du chemin du point vert vers le point rouge. Dans les conditions de déplacement, je n'autorise que les déplacements que j'appelle orthogonaux (haut, bas, gauche, droite)
Les autres couleurs sont :

le jaune : les points de la liste ouverte qui ne sont pas passés ds la liste valide
le bleu clair : les points de la liste valide qui ne font pas partie du chemin trouvé.
Le bleu foncé est le chemin solution

A la ligne 127, le critere de validité pour le chemin est : 'd+step' : d, la distance euclidienne au carrée, et step, le nombre de cases deja parcourues depuis le debut du chemin pour la case en cours. En pondérant ces deux valeurs l'une par rapport à l'autre j'ai des comportements qui varient mais qui donnent quand meme sensiblement le meme resultat on va dire.... peu importe je m'etale là ;-)

Maintenant j'ai une question : je cherche à trouver d'autres manières d'utiliser cet algo (le modifier quoi) et je me demandais si calculer les chemins en partant à la fois du point vert et du point rouge et modifier la fonction heuristique pour que chacun des "demi-chemins" se dirigent vers l'autre (normalement ils devraient converger l'un vers l'autre : en fait c'est comme si je calculais deux chemins au lieu d'un seul et que la destination bougeait à chaque tour.)

Est ce que cela a un sens de faire ça ? Est que cela peut permettre d'optimiser le chemin (en tps de calcul ou bien distance finale trouvée) ?
J'aurais tendance à dire que cela ne change rien, ou pas grand chose, mais j'aurais aimé avoir l'avis de la communauté la-dessus avant de le prototyper (oui je suis flemmard, c'est l'âge ;))

@+ les geeks !

godrik
godrik
Niveau 30
16 avril 2012 à 01:26:29

Je ne pense pas que commencer des deux cotes va t'etre d'une quelconque utilite dans ton cas.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment