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

Calcul scientifique Python Discussion :

Courbe animée - Problème de rafraichissement


Sujet :

Calcul scientifique Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Courbe animée - Problème de rafraichissement
    Bonjour,
    Je cherche à produire une courbe animée, évoluant en fonction d'un paramètre variant dans une plage donnée.
    Par exemple un sinus dont le déphasage varie.

    from pylab import *
    import time
    ion()
    x = arange(0,2*pi,0.01)
    line, = plot(x,1*sin(x))
    for i in arange(1,20):
    ....line.set_ydata(sin(x+i/10.0))
    ....draw()
    #....time.sleep(0.1)

    Constat : ouverture de la fenêtre graphique... qui reste blanche.
    Puis apparition du dernier frame.
    J'ai essayé de placer une temporisation.
    Sans effet.

    Est-ce que qqu'un aurait un tuyau pour comprendre ce soucis de rafraîchissement ?

    Merci bien.

  2. #2
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Bonjours karpov,
    comme tu est nouveau, je vais t'expliquer pourquoi personne ne répondra a ton poste:
    Si tu veut avoirs des réponses il faut:
    1) Utiliser le bouton # afin d'insérer du code entre les balises de code qui sera indenter automatiquement (tu a mis des points) et colorer syntaxiquement.
    2) Que tu soit un peu plus précis quand tu décrit ton problème, en faite le plus précis possible, par exemple tu ne mentionne pas quel module tu utilise (je ne sais pas si pylab implémente un display) pour l'affichage de ta courbe.
    3) Inutile que je précise pour finir que la politesse est de rigueur et que le style SMS est a proscrire.
    Je ne peut vraiment pas t'aider au vue des informations que tu donne, désolé.

    Ton code entre des balise de code ressemble a cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    from pylab import *
    import time
    ion()
    x = arange(0,2*pi,0.01)
    line, = plot(x,1*sin(x))
    for i in arange(1,20):
      line.set_ydata(sin(x+i/10.0))
      draw()
      #....time.sleep(0.1)
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Si on reformule votre question en "comment réaliser une animation avec matplotlib", on trouve toute une section de demos dans la doc.

    Pour ce qui est "do it yourself", l'affichage est géré par une librairie graphique (Tk, Wx, Qt,...) qui est "event driven".
    Pour qu'elle puisse "rafraichir" le display, il faut que les "events" soient consommes.
    Avec time.sleep(0.1), les "events" s'empilent et ne seront consommes qu'a la fin, tous d'un coup.

    => Il faut "coopérer" avec la librairie graphique.
    Le principe est toujours le même... a la place du "change", "sleep",...
    on déclare un timer qui tous les X secondes appelle un callback (fonction) qui effectue le change.
    Les détails de la réalisation dépendent de la librairie graphique utilisée.

    On peut aussi garder le sleep mais il faut dans ce cas vider la pile d’événement a la main en appelant la fonction adhoc. Mais ce n'est pas recommandable.


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci à Luke spywoker pour les conseils d'utilisation du forum.
    Je serai plus attentif à cela à l'avenir.
    Quant aux pistes données par wiztricks, je m'y plonge fissa
    Merci bien.

Discussions similaires

  1. Problème de rafraichissement sur une animation
    Par Romich dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 25/05/2009, 20h16
  2. Problème de rafraichissement.
    Par beyo dans le forum ASP
    Réponses: 5
    Dernier message: 18/03/2005, 16h27
  3. [SWING] Problème de rafraichissement
    Par david71 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 24/05/2004, 15h38
  4. [JTree]problème de rafraichissement
    Par peppena dans le forum Composants
    Réponses: 9
    Dernier message: 20/01/2004, 14h06
  5. Toujours un problème de rafraichissement de DBGrid
    Par tripper.dim dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/12/2002, 13h15

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