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 :

aide pour pendule simple


Sujet :

Calcul scientifique Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 0
    Points
    0
    Par défaut aide pour pendule simple
    Bonjour à tous je suis un étudient en informatique en 6 ème année (terminale pour les français ) et je dois réaliser un pendule simple avec python pour la fin de l'anné voici mon code source:

    Code python : 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
    35
    36
    37
    38
    from tkinter import *
    def clic(event): # La fonction correspondant à un clic (ou touche clavier)
     
         global x,y
         x=100
         y=100
     
    def bouge(): #La fonction principale qui anime notre objet
        global x,y,dx,dy
        A=0
        w=0
        t=0
        dt=1
        sin=0
        cos=0
        x+=A*sin*w*t
        y=A*cos*w*t
        t=t+dt
     
        can.bind("<f>",clic) #Relie l’évènement du clic à la fonction clic
        can.coords(balle,x,y,x+10,y+10) #Affiche l’objet aux nouvelles coordonnées
        fenetre.after(1,bouge) #Rafraîchit la fenêtre
     
    # Création de la fenêtre
    fenetre=Tk()
    fenetre.title(" Mon animation ")
    can=Canvas(fenetre,bg="yellow",height="600",width="600")
    can.pack()
    can.focus_set()
     
    # Création et initialisation des variables
    x,y=100,100
    dx,dy=1,1
    balle=can.create_oval(x,y,x+10,y+10,fill="red")
     
    #Programme principal
    bouge()
    fenetre.mainloop()


    Mon professeur m'a dit d'utiliser les équation suivante pour réaliser ce projet:
    x=A*sin*w*t
    y=A*cos*w*t
    t=t+dt
    mais je n'arrive pas vraiment a les mettre en apllication pour réaliser ce pendule pouvez vous m'aider svp?
    et si vous d'autre alternative a me proposer je suis tout oui à condition de m'expliquer . Merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    def bouge(): #La fonction principale qui anime notre objet
        global x,y,dx,dy
        A=0
        w=0
        t=0
        dt=1
        sin=0
        cos=0
        x+=A*sin*w*t
        y=A*cos*w*t
        t=t+dt
    Soyons réaliste, si A, w, t, sin et cos sont tous égaux à zéro, qu'est-ce que tu espères de x+=A*sin*w*t ?

    sinus et cosinus appartiennent au module math, donc il faut les importer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    from math import sin, cos

  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,

    Programmer, c'est comme organiser les étapes d'un voyage en se souvenant que nous ne sommes pas des oiseaux.

    Un pendule analogique c'est 3 cercles ayant le même centre.
    Les aiguilles seront un "rayon" de chaque cercle qu'il va faudra déplacer d'un petit "arc".
    Pour les secondes, le petit "arc" sera de 1/60ième ou de 1/120ième...

    La première étape du voyage pourrait être de prendre un cercle ce centre (x, y), de rayon R et de tracer les N rayons qui seront la position successive d'une aiguille.
    On connaît déjà les coordonnées du point de départ (le centre), il faut calculer les coordonnées de l'autre point.
    C'est une fonction qui prend en paramètres:
    • le n° du rayon (dans 0..N-1),
    • le nombre d'arcs (N),
    • le rayon du cercle

    Soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def point(no_rayon, narcs, rayon):
         pass
    Le "pass" est là pour dire "pas la peine de se lancer dans le codage tout de suite, regardons d'abord comment faire le pas suivant.

    Le pas suivant sera de tracer les N rayons du cercle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def cercle(narcs, cx, cy, rayon):
          for i in range(narcs):
               x, y = point(i+1, narcs, rayon)
               canvas.create_line(cx, cy, x, y)
    Mon professeur m'a dit d'utiliser les équation suivante pour réaliser ce projet:
    x=A*sin*w*t
    y=A*cos*w*t
    t=t+dt
    mais je n'arrive pas vraiment a les mettre en application pour réaliser ce pendule pouvez vous m'aider svp?
    Ces formules devraient être dans la fonction "point".
    t = t+dt a été remplacé par le numéro du rayon qui servira a déplacer l'aiguille à t+dt.

    Après il faudra faire bouger l'aiguille,
    puis empiler les heures, minutes, secondes
    puis...

    - 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
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 0
    Points
    0
    Par défaut Merci
    Merci je n'avait pas fait attetion

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 0
    Points
    0
    Par défaut Merci
    Merci Je vais toute de suite mettre ça en application

Discussions similaires

  1. [MySQL] besoin d'aide pour requete simple !
    Par Joejac dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 09/12/2011, 19h02
  2. AIDE pour un simple changement de repére
    Par la_fouf dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 27/04/2010, 22h56
  3. Aide pour programme simple ?
    Par maitremechant dans le forum Pascal
    Réponses: 19
    Dernier message: 23/09/2008, 01h06
  4. [MySQL]Aide pour requête simple
    Par Pill_S dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/12/2007, 10h40
  5. Besoin d'aide pour requête simple
    Par vallica dans le forum Requêtes
    Réponses: 6
    Dernier message: 16/02/2007, 09h33

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