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

OpenGL Discussion :

lire un fichier DATA


Sujet :

OpenGL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 78
    Points : 34
    Points
    34
    Par défaut lire un fichier DATA
    Bonsoir,

    comment faire pour qu'openGL lise un fichier de données numériques et en fasse un plot, c'est à dire une representation graphique ?

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Cela dépend du fichiers de données. C'est ton boulot de lire les données, les mettre en mémoire et après l'affiche.

    Il y a deux problèmes :

    - Lire le fichier et le mettre dans une structure de données appropriée

    - Lire cette structure pour faire ton plot.

    Pour la première partie, voir le forum spécifique...

    Pour la deuxième partie, il faudra être plus précis sur ce que tu veux...

    Jc

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 78
    Points : 34
    Points
    34
    Par défaut
    bon, je précise encore : disons qu'on a un fichier texte ou autre qui contient sur deux colonnes des nombres ( abscisses et ordonnées ) comment faire pour les afficher dans openGL sous forme de graphiques ? voilà c'est clair ?

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Tu n'as pas vraiment répondu à la question. Qu'est-ce qui te pose problème, la lecture du fichier ou l'affichage ? Qu'est-ce que tu as déjà essayé ? Tu bloques sur quoi ?

  5. #5
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par germanium
    bon, je précise encore : disons qu'on a un fichier texte ou autre qui contient sur deux colonnes des nombres ( abscisses et ordonnées ) comment faire pour les afficher dans openGL sous forme de graphiques ? voilà c'est clair ?
    C'est très clair, ton problème se divise toujours de la même façon :
    - Lire le fichier et le mettre dans une structure de données appropriée

    - Lire cette structure pour faire ton plot.
    Ne pense pas que je ne veux pas aider. Je veux juste que tu prennes conscience qu'il y a un premier problème (chargement du fichier en mémoire sous forme de structure de données) qui est indépendant à OpenGL et donc la résolution de ce problème ne se fera pas ici mais dans le forum spécifique au langage que tu souhaites utiliser.

    La façon d'expliquer à OpenGL comment gérer ces points dépendra de comment ils sont mis en mémoire... Le deuxième problème, tristement, ne peut donc que se résoudre après que tu aies décider comment tu souhaites résoudre le premier problème.

    Finalement, tu dis que tu as 2 colonnes, donc OpenGL n'est peut-être pas la meilleure solution pour afficher du 2D sauf si c'est déjà inclu dans un programme 3D, est-ce la cas?

    Car sinon, le programme gnuplot fait très bien ce boulot, encore faut-il que tu sois sous le bon système d'exploitation...

    Voilà pourquoi je dis qu'il faut être plus précis dans les questions posées...

    Jc

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 78
    Points : 34
    Points
    34
    Par défaut
    j'utilise déjà gnuplot depuis longtemps, mais j'ai besoin d'afficher de la 3d avec opengl à partir des nombres calculés avec du c++ sur compilateur vc++

  7. #7
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par germanium
    j'utilise déjà gnuplot depuis longtemps, mais j'ai besoin d'afficher de la 3d avec opengl à partir des nombres calculés avec du c++ sur compilateur vc++
    Donc tu as soit 2 colonnes et ton programme calcule la troisième dimension, soit ton fichier a 3 dimensions...

    Pour afficher un ensemble de points, il faudra que tu décides de la structures de données qui contient tous les points que tu veux afficher, est-ce déjà fait?

    Jc

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 78
    Points : 34
    Points
    34
    Par défaut
    deux colonnes de nombres pour la 2D ou trois colonnes pour la 3D, c'est évident non ? ces nombres doivent etre introduits dans openGL pour qu'il en fasse des "vertices" ou des points ayant pour coordonnées ces nombres;
    je pose la question autrement : comment dessiner des centaines de points ou de vertex ? on ne va pas s'amuser à introduire leurs coordonnées à la main;non ?

  9. #9
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Pour la 3ème fois :

    Voici l'algorithme :

    - Lire le fichier et remplir un tableau de coordonnées 2D/3D

    - Parcourir le tableau pour dessiner les points 2D/3D

    Jc

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 78
    Points : 34
    Points
    34
    Par défaut
    oui d'accord, mais concrètement quelles sont les fonctions d'openGL qui permettent de traduire ces deux étapes là ?

  11. #11
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par germanium
    oui d'accord, mais concrètement quelles sont les fonctions d'openGL qui permettent de traduire ces deux étapes là ?
    Ok, pour la 4ème fois :

    - Lire le fichier et remplir un tableau de coordonnées 2D/3D
    Aucune fonction OpenGL n'est nécessaire. Est-ce assez clair ?

    Si tu sais lire un fichier et le mettre dans un tableau dans ton langage de prédilection, alors c'est dans ce langage que tu feras cette mise en place.

    Si tu ne sais pas le faire, c'est une question pour le forum spécialisé...

    - Parcourir le tableau pour dessiner les points 2D/3D
    Comment faire pour afficher des points?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    glBegin(GL_POINTS);
    /* Parcourir ton tableau et afficher chaque point */
    Pour chaque point p de ton tableau messuperpoints
      Faire
      glVertex3f(p.x,p.y,p.z); //ou glVertex2f(p.x,p.y)
      Fin Pour
    glEnd();
    Mais ceci suppose que :

    - Ta fenêtre a été correctement créé ce qui n'est pas fait par OpenGL mais par SDL/Glut/Win API ou une autre bibliothéque...

    - Tu as mis en place la vue correctement avec gluLookAt par exemple

    Jc

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/08/2009, 15h53
  2. Réponses: 5
    Dernier message: 02/02/2006, 23h31
  3. Réponses: 5
    Dernier message: 11/01/2004, 20h17
  4. Lire un fichier de 50 gb
    Par Maryves dans le forum MFC
    Réponses: 2
    Dernier message: 08/01/2004, 14h08
  5. Lire le fichier du port série
    Par saibe dans le forum Linux
    Réponses: 7
    Dernier message: 09/04/2003, 09h29

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