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

Shell et commandes GNU Discussion :

Animation 3D avec GNUPLOT


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    étudiant ingénieur génie des procédés
    Inscrit en
    Mars 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : étudiant ingénieur génie des procédés

    Informations forums :
    Inscription : Mars 2018
    Messages : 20
    Par défaut Animation 3D avec GNUPLOT
    Bonjour à tous,

    J'ai fais une simulation de transport d'humidité dans un materiau poreux par fortran, et j'ai imprimé mes résultats.
    Je cherche à réaliser une animation, j'entends par la une succession d'image, qui montrerai l'évolution de mon humidité en fonction du temps, dans l'espace.

    J'ai plusieurs blocs de données rangée de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #bloc     i
    zk  xk  yk
    ...
     
    #bloc     i+1
    zk  xk  yk
    ...
    Une fois sur GNUPLOT, j'execute tout d'abord ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set term gif animate
    set output 'animation.gif'
    imax=23
    i=0
    Puis ensuite, j'execute celui ci : (Vous l'aurez compris, mon fichier avec les données s'appelle "DATA.dat" )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    set pm3d
    set xrange [0:0.02]
    set yrange [0:0.01]
    splot "DATA.dat" with pm3d at s ; index i
    pause 0.2
    i=i+1
    if (i<=imax) reread
    il m'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    gnuplot> splot "DATA.xls" with pm3d at s ; index i
                                             ^
    "datagnu.gnu", line 4: All points y value undefined
    (le chapeau sous le point virgule)


    J'ai littéralement débuté aujourd'hui en GNUPLOT, et je suis assez fier de moi d'avoir réussi à imprimer certains résultats de la manière que je voulais, mais je n'arrive pas à réaliser d'animation!
    Merci d'avance de vous pencher sur la question, et veuillez pardonner mes fautes d'orthographes je ne suis pas très bon !

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 291
    Par défaut
    Bonjour

    Une ligne blanche : rupture dans la courbe.
    Deux lignes blanches : autre bloc.

    Ici, ton fichier d'entrée ne doit pas être le premier mais le second.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #bloc     i
    zk  xk  yk
    ...
     
    #bloc     i+1
    zk  xk  yk
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #bloc     i
    zk  xk  yk
    ...
     
     
    #bloc     i+1
    zk  xk  yk
    ...


    De plus, tu n'as pas respecté la syntaxe du mot "index". Après le point virgule, point de salut.

  3. #3
    Membre averti
    Homme Profil pro
    étudiant ingénieur génie des procédés
    Inscrit en
    Mars 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : étudiant ingénieur génie des procédés

    Informations forums :
    Inscription : Mars 2018
    Messages : 20
    Par défaut
    Merci d'avoir répondu!

    Pour le saut de ligne, justement je cherchais à faire une rupture, ce que je veux c'est qu'il me défile les différentes surfaces une par une, parce que c'est une surface qui évolue au cours du temps.

    pour "index" du coup je sépare avec une virgule?

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 291
    Par défaut
    Ce n'est pas la question.
    À ta place, je ferais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    splot "DATA.dat" index i

  5. #5
    Membre averti
    Homme Profil pro
    étudiant ingénieur génie des procédés
    Inscrit en
    Mars 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : étudiant ingénieur génie des procédés

    Informations forums :
    Inscription : Mars 2018
    Messages : 20
    Par défaut
    Finalement j'ai réussi ! voici les scripts utilisés !

    dans mon code fortran je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        CALL EXECUTE_COMMAND_LINE( "gnuplot 'format.gnu'")
    dans format.gnu je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    set term gif animate
    set output 'animation.gif'
    imax=22
    i=0
    load 'datagnu.gnu'
    dans datagnu.gnu je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    set xrange [0:0.02]
    set yrange [0:0.01]
    set zrange [0:0.606]
    set dgrid3d 30,30
    set hidden3d
    splot "DATA.dat" index i
    pause 1
    i=i+1
    if (i<=imax) reread
    Et j'obtiens bien un gif animé cohérent avec ma simulation !! Le voici ci joint !

    Nom : animation.gif
Affichages : 636
Taille : 348,6 Ko

    Sachant que mes données sont bien écrit bloc par bloc et séparé par deux saut de ligne comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #BLOC         0
    0.200000000E-01	0.800000000E-02	0.600000000
    0.200000000E-01	0.900000000E-02	0.600000000
    0.200000000E-01	0.100000000E-01	0.600000000
    ...
     
     #BLOC           1
     0.00000000    	 0.00000000    	0.443667971
     0.00000000    	0.100000000E-02	0.446617914
    ...
    En tout cas merci pour les réponses!!! À bientôt !

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

Discussions similaires

  1. animation flash avec delphi
    Par lassmust dans le forum Delphi
    Réponses: 1
    Dernier message: 10/05/2007, 19h57
  2. executer une animation flashe avec VB
    Par imgl1 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/08/2006, 22h12
  3. animation flash avec donnée XML
    Par clementine dans le forum Flash
    Réponses: 11
    Dernier message: 28/07/2006, 11h47
  4. definition des axes avec gnuplot
    Par willem77 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/04/2006, 15h23
  5. tracé avec gnuplot
    Par Bibouda dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 05/03/2006, 16h14

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