IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Plus court chemin sur une carte vectorielle (pas une grille)


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 39
    Par défaut Plus court chemin sur une carte vectorielle (pas une grille)
    Bonjour, je cherche des pistes pour coder un algorithme qui calcule le plus court chemin sur une carte à 2 dimensions, pouvant contenir des obstacles, qui seraient des polygones.

    Le trajet serait donc représenté sous forme de plusieurs lignes droites mises bout à bout.

    Tout ce que j'ai trouvé pour le moment sont des algorithmes permettant de trouver le plus court chemin dans un graphe pondéré, ce qui ne correspond pas trop (mais je peux me tromper) à ma problématique.

    J'imagine que la première étape serait de tracer une ligne droite entre mon point de départ et d'arrivée, et de vérifier si un polygone se trouve sur sa route.
    (je ne cherche pas le calcul pour tester les "collisions" entre mon chemin et les polygones hein) Mais je suis bloqué à partir de là.

    Quelques idées comme ça :
    - faire varier l'angle du premier vecteur de déplacement jusqu'à ce qu'il ne soit plus en collision avec le polygone (mais comment déterminer le pas : le nombre de degrés ajoutés/retirés à chaque itération ? Comment faire, puisque le bon angle sera probablement atteint entre 2 itérations)
    - il faudra surement calculer plusieurs chemins valides, avant de comparer leurs distances totales respectives

    Voilà, je n'ai pas beaucoup plus à ajouter, si vous avez des idées, ou juste un nom d'algorithme vers lequel je pourrais me tourner, je suis preneur =)
    Merci d'avance !

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Le plus simple est de construire un graphe réunissant tous les points de visibilité = les points de départ/arrivé/angles des obstacles + toutes les arrêtes reliant ces points sauf celles qui passent au travers des obstacles. Reste a trouver le plus court chemin dans ce graphe qui rejoint le point de départ au point d'arrivé.

    Sinon, on peut aussi créer un quadrillage afin de pouvoir utiliser les algos classiques et avoir rapidement un chemin valide. Reste a retravailler ce chemin pour passer au plus proche des obstacles.

    google: Pathfinding 2d polygons
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Août 2011
    Messages : 342
    Par défaut
    Si tu connais tes cartes à l'avance, il s'agit d'un problème classique rencontré dans les jeux vidéos. Voir pour le pathfinding. Grosso modo, tu annotes ta carte a priori.

    La solution de pseudocode correspond à du raycasting, c'est pas forcément simple mais une des solutions qu'il te reste si les cartes ne sont pas connues à l'avance..

Discussions similaires

  1. Afficher une carte vectorielle basée sur des fichiers shp (shapefiles)
    Par guda dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 29/11/2014, 10h05
  2. Réponses: 2
    Dernier message: 05/07/2010, 10h37
  3. plus court chemin sur un terrain
    Par sylvain_bos dans le forum Intelligence artificielle
    Réponses: 0
    Dernier message: 19/09/2008, 11h44
  4. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24
  5. Réponses: 2
    Dernier message: 21/03/2004, 18h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo