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

Turbo Pascal Discussion :

Afficher un graphe [Turbo Pascal]


Sujet :

Turbo Pascal

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut Afficher un graphe
    Salut tout le monde...
    Je suis en train de faire un tp sur les graphes. L'utilisateur entre le graphe sous forme matricielle... MAIS je dois afficher le résultat comme un graphe (des noeuds et des arcs)... Ma question est : est-ce qu'il possible de faire ça avec Turbo Pascal ? Si oui, quelqu'un peut m'orienter svp ???

    Merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut
    Vous pouvez réaliser une merveilleuse interface avec le turbo pascal 7.0
    Voici un petit coup de main
    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
    uses Graph;
     
    var
     dot, net: Integer;
     dotnet: Integer;
    begin
     dot := Detect;
     InitGraph(dot, net,'c:\tp\bgi\');
     if GraphResult <> grOk then
       Halt(1);
     for dotnet := 1 to 20 do
       Arc(100, 300, 0, 90, dotnet * 10);
     Readln;
     CloseGraph;
    end.

  3. #3
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour
    Citation Envoyé par dot-_-net
    Vous pouvez réaliser une merveilleuse interface avec le turbo pascal 7.0
    Voici un petit coup de main
    Si info_amel debute les interfaces graphiques je crois qu'il lui serait plus utiles que tu lui presente un petit avec des noms de variables significatifs pour qu'il comprenne mieux (Exemple ton code)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     var
     dot, net: Integer;
     dotnet: Integer;
    En plus l'aide de TP7 est bien riche .....

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Die,

    Oui, c'est possible, mais c'est un problème assez compliqué pour que la représentation soit correcte, c'est à dire éviter le recouvrement des noeuds, éviter de faire des spaghetti avec les arcs... ça dépend entre autres du nombre d'arcs admis par noeud.
    Globalement, c'est un problème de placement sur une surface, et il vaut peut-être mieux poser la question das le forum "Algorithmes". A côté de cela, l'implémentation sera une partie de plaisir.

    Question existentielle : pourquoi se limiter à Turbo Pascal, qui, bien entendu, fut un bon outil, mais est très largement dépassé par des compilateurs plus récents, qui savent faire ce que TP fait, en mieux, plus rapide, plus souple... et bien d'autres choses que les limitations de TP interdisaient.

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut
    salut tout le monde et merçi pour votre aide

    mais ... quand j'ai chercher dans l'aide j'ai trouver q'on peux dessiner un noeud , an arc mais le probleme est comment doit je les classer en évitant comme à dit droggo les spagetti des arc en plus les arc doivent etre orienter comment je peut fair ça ????

    si qulqun connait qu'il est possible de le faire ça fait plaisir de m'aider ..

    et s'il est imposible avec turbo pascal 7 , alors est ce que le probleme va etre résolus si change vers DELPHI ou non ????

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Fio,
    Citation Envoyé par info_amel Voir le message
    salut tout le monde et merçi pour votre aide

    mais ... quand j'ai chercher dans l'aide j'ai trouver q'on peux dessiner un noeud , an arc mais le probleme est comment doit je les classer en évitant comme à dit droggo les spagetti des arc en plus les arc doivent etre orienter comment je peut fair ça ????

    si qulqun connait qu'il est possible de le faire ça fait plaisir de m'aider ..

    et s'il est imposible avec turbo pascal 7 , alors est ce que le probleme va etre résolus si change vers DELPHI ou non ????
    Non, ce n'est pas impossible avec TP7, mais d'autres compilateurs plus récents font TOUT ce que TP7 fait, et beaucoup plus de choses interdites à TP7.
    De plus, certains de ces compilateurs sont gratuits, alors pourquoi s'en priver ?

    Pour ton problème, comme je l'ai déjà dit, c'est d'abord une question d'algorithme. L'implémentation dans un langage quelconque sera pure formalité une fois que tu l'auras.

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut
    Citation Envoyé par info_amel Voir le message
    salut tout le monde et merçi pour votre aide

    mais ... quand j'ai chercher dans l'aide j'ai trouver q'on peux dessiner un noeud , an arc mais le probleme est comment doit je les classer en évitant comme à dit droggo les spagetti des arc en plus les arc doivent etre orienter comment je peut fair ça ????

    si qulqun connait qu'il est possible de le faire ça fait plaisir de m'aider ..

    et s'il est imposible avec turbo pascal 7 , alors est ce que le probleme va etre résolus si change vers DELPHI ou non ????
    Bien sure que c’est possible de réaliser ton projet sous turbo pascal
    Commence a développez ton projet mon frère et je te garantie mon aide

  8. #8
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut
    slt tout le monde

    finallement j'ai réalisé une grande partie de mon tp

    ben j'ai dessiner les noeuds , les arcs sont aucun mélange , mais il me reste une seule chose est comment orienter mes arcs car mon graphe est un graphe orienté, j'ai chercher normallement bien dans l'aide mais je n'ai pas trouver un arc orienté !!!

    ben je vois que il me faux de trouver les coordonnées d'un point d'arcs et j'essaye de dessiner deux petites droite pour que j'obtient une fleche mais malheureusement je ne sait pas comment implimenter cette idée !!!!

    j'espere que quelqu'un peut m'aider avec une implémentation de mon idée ou avec une autre idée...

    merçi d'avance

  9. #9
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Gio,

    Bravo.

    Pour ta flèche, il n'y a effectivement pas d'autre moyen que de faire ça à la main.

    - Calculer le point final de l'arc (attention, c'est le point qui touche le noeud sur lequel il arrive, pas forcément le point final au sens origine..fin de l'arc pour le graphisme de TP)

    - Pour ce point, calculer la tangente, afin de tracer une flèche correcte

    - Et tracer la flèche.

  10. #10
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut
    Citation Envoyé par droggo Voir le message
    Gio,

    - Pour ce point, calculer la tangente, afin de tracer une flèche correcte

    - Et tracer la flèche.
    merçi pour ton aide mais peux tu m'explique un peux je n'ai pas bien compris ce que je doit faire

  11. #11
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Qoi,

    Quand je parlais de tangente, c'est parce que j'ai admis que tu traçais les arcs avec ... des arcs de cercles.

    Si tu les traces avec des segments de droite, alors tu gagnes l'étape calcul de la tangente : ta droite est celle qui va servir de directrice pour la pointe de la flèche, sinon, avec les arcs de cercle, c'est la tangente au cercle au point considéré qu'il faudra utiliser.

    Pour que la flèche soit esthétique, il faut que les 2 traits qui la représentent soient symétriques par rapport à la droite directrice, c'est un simple petit calcul à faire : tu as la droite, tu veux tracer 2 petits segments de quelques pixels s'écartant de x degrés de cette droite, en tenant compte quand même de l'orientation désirée (que la flèche pointe vers la cible, quoi).

  12. #12
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut
    salut
    ben malheureusement je n'ai pas pu arriver au solution !!!

    ce que j'ai comme données sont :
    -> les coordonnées du noeud du départ et ainsi de l'arrivée (le centre du cercle qui représente le noeud).
    -> le rayon du cercle qui represente le noeud.

    c'est à dire les coordonnées du point ou je vais dessiner la fleche est celle de l'intersection entre le cercle du noeud de départ avec la droite qui représente l'arc....

    alors comment trouver ces coordonées ???

    j'espere que j'ai bien expliquer

  13. #13
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Xie,

    C'est de la pure géométrie, quasiment basique.

    On en revient toujours là : fais-toi un dessin, et regarde quelles sont les valeurs à calculer.
    Ça revient à calculer l'intersection d'une droite, dont tu connais l'équation, avec un cercle, dont tu connais le centre et le rayon. Rien de compliqué là-dedans par rapport à ce que tu as dû faire pour mettre en page la représentation de ton graphe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme pour afficher un graph
    Par superspike23 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 08/02/2008, 17h36
  2. Un algorithme simple pour afficher un graphe
    Par wondersonic dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 04/02/2008, 00h23
  3. afficher arbre, graph
    Par CaptainChoc dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 14/09/2006, 14h55
  4. Afficher un graphe
    Par Luffy Duck dans le forum MFC
    Réponses: 8
    Dernier message: 23/03/2006, 20h09
  5. Afficher un graphe en 2D (glOrtho2D)
    Par bigquick dans le forum OpenGL
    Réponses: 5
    Dernier message: 03/08/2005, 16h02

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