1. #1
    Membre averti Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    juillet 2006
    Messages
    555
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : juillet 2006
    Messages : 555
    Points : 397
    Points
    397

    Par défaut City cuilder : utiliser la théorie des graphes pour modéliser le réseau routier ?

    Bonjour,

    J'essaie de développer un city builder sur Unreal Engine 4 (c++).

    Pour modéliser le réseau routier et leurs intersections, j'utilise bien sur un graphe.

    Selon vous est-ce la meilleure façon de structurer mon code?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
    Enum NodeType{i, t, x} // types d'intersection, x est un carrefour , i une subdivision (pas d'intersection) pour le LOD (splines plus fluides car contenant plus de points), x un carrefour...
    Enum SegmentType { Alley, Avenue, Boulevard, Freeway, Interstate, ... }
    
    Struct Node{
          Fvector Location;
          NodeType type;
          Segment * Segments[10] // une intersection a maximum 10 routes qui convergent vers elle
    }
    
    Struct Segment{
          Node * From;
          Node * To;
          bool TwoWay; //sens unique ou double sens
          SegmentType type;
    }
    
    
    class GraphManager
    {
    	Node * Nodes[];
            Segment *  Segments[];
            int Lod; // level of details
    
    public or private :
    	
            void CreateNode(FVector Location);
            void DeleteNode(Node * Nod);
            void CreateSpline(void);
    
    ...
    
    };

  2. #2
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    août 2008
    Messages
    22 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 22 179
    Points : 119 842
    Points
    119 842

    Par défaut



    Je suppose que tu auras une série d'agents qui devront déterminer des plus courts chemins (de la maison vers le boulot, par exemple). Dans ce cas, tu n'as pas d'autre choix que d'utiliser un graphe (peu importe le nom que tu donnes) ; par contre, tu peux complètement ignorer la forme exacte de la route : tout ce que tu veux, c'est le temps pour traverser un bout de route (proportionnel à sa longueur et à la vitesse maximum, tu pourrais aussi considérer les embouteillages de la même manière).

    Si tu te limites à l'affichage, au contraire, ce que tu veux, c'est "juste" la forme exacte de la route et des intersections. Ça ressemble encore à un graphe : des nœuds (intersections) et des arêtes (routes). Cependant, la représentation en mémoire ne doit pas être identique (a priori, tu veux explicitement des listes de routes et d'intersections avec des requêtes très faciles en fonction des coordonnées, pour ne pas afficher toute la carte, mais juste la partie à l'écran ; au contraire, pour un plus court chemin, tu dois toujours travailler sur toute la carte).
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions) ? Contactez-moi par MP.

    Nouveau ! Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre averti Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    juillet 2006
    Messages
    555
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : juillet 2006
    Messages : 555
    Points : 397
    Points
    397

    Par défaut

    Salut dourouc05,

    Je souhaite calculter des paths finding effectivement pour trajet boulot dodo, dodo - ami, police - cambrioleur, etc...

    Merci

Discussions similaires

  1. un outil pour dessiner des graphes (théorie des graphes)
    Par mohsenuss91 dans le forum Logiciels Libres & Open Source
    Réponses: 1
    Dernier message: 12/05/2015, 07h52
  2. Théorie des graphes et utilisation
    Par Invité dans le forum Ada
    Réponses: 0
    Dernier message: 31/03/2010, 13h13
  3. Tutoriel pour apprendre la théorie des graphes
    Par Malick dans le forum Général Algorithmique
    Réponses: 0
    Dernier message: 28/03/2007, 12h00
  4. [Théorie des Graphes] Les opérateurs AND et OR
    Par bitou dans le forum Général Algorithmique
    Réponses: 2
    Dernier message: 18/03/2007, 03h01
  5. Théorie des graphes : Représentation GRAPHIQUE d'une matrice d'adjacence
    Par jm_gouy dans le forum Général Algorithmique
    Réponses: 3
    Dernier message: 03/05/2006, 16h53

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