Programme de calcul de coordonnées
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Programme de calcul de coordonnées



  1. #1
    Azghar

    Programme de calcul de coordonnées


    ------

    Bonjour,
    Je suis actuellement en début de sup PCSI, donc mes connaissances en programmation sont pour le moment nulles (plus pour longtemps), et pas très conséquentes en maths physique.
    J'aimerai faire un programme de calcul de coordonnées de n particules, possédant une masse et soumises uniquement à la force gravitationnelle.
    J'aimerai le faire en python.
    Je commencerais mes test par un système a 3 objets.
    Pour la partie calcul, je me demandais si il était possible d'additionner des vecteurs.
    En effet ce que je veux faire, c'est à chaque instant t, calculer pour une particule, la somme des vecteurs accélération provoquées par les toutes les autres particules, et répéter l'opération pour chaque particule, et pour chaque instant t.
    J'ai griffonné deux trois trucs sur une feuille, quand j'ai le temps je l'écrirais ici, ça vous parlera peut être plus.

    à votre avis, c'est possible ou inaccessible ?
    Des conseils?

    -----

  2. #2
    Arzhur

    Re : Programme de calcul de coordonnées

    Je commencerais mes test par un système a 3 objets.
    Je te conseillerais plutôt de commencer avec 2 objets ( il te sera plus facile de vérifier le résultat du programme)

    Pour la partie calcul, je me demandais si il était possible d'additionner des vecteurs
    Oui tu peux additionner des vecteurs....normalement en PCSI on sait faire ça non ? (ou alors j'ai pas compris ta question)

    à votre avis, c'est possible ou inaccessible ?
    ca dépend comment tu comptes gérer le cas ou 2 particules sont très très proches

  3. #3
    Azghar

    Re : Programme de calcul de coordonnées

    Oui tu peux additionner des vecteurs....normalement en PCSI on sait faire ça non ? (ou alors j'ai pas compris ta question)
    Je voulais dire par là : est-il possible d'additionner des vecteurs dans python ? et est-ce que python comprend ce qu'est un vecteur ?

    Et l'idée de commencer par seulement deux objets est bonne, je vais faire ça.
    Dernière modification par Azghar ; 10/09/2014 à 12h09.

  4. #4
    Arzhur

    Re : Programme de calcul de coordonnées

    Je voulais dire par là : est-il possible d'additionner des vecteurs dans python ? et est-ce que python comprend ce qu'est un vecteur ?
    De base je dirais que non ( mais je me trompe peut-être), il faut lui apprendre :

    Tu peux utiliser une lib comme Numpy qui permet d'utiliser des vecteurs, ou encore créer ta propre classe "Vecteur" (je sais pas si la programmation objet te parle), ou alors tu t'en fiches et tu utilises une liste de 3 nombres (en faisant gaffe quand tu additionnes).

  5. A voir en vidéo sur Futura
  6. #5
    eudea-panjclinne

    Re : Programme de calcul de coordonnées

    Citation Envoyé par Azghar
    J'aimerai faire un programme de calcul de coordonnées de n particules, possédant une masse et soumises uniquement à la force gravitationnelle.
    J'aimerai le faire en python.
    Bonne idée mais il y a du travail.
    1ere partie : Faire d'abord un algorithme, comme tu as du en faire en terminale qui réponds à ta question. Utilise le langage mathématique. Le problème n'est pas simple, il faut résoudre dans le cas de 3 corps ou plus des équations différentielles du second ordre. Comme tu veux résoudre ce problème par informatique il faudra utiliser une intégration numérique des équations différentielles : au moins la méthode d'Euler que tu connais peut-être. Il y a déjà un certain travail, il faudra effectivement utiliser des vecteurs pour se ramener à des équations différentielles du premier ordre...
    2e partie : Utiliser un langage de programmation, ils se valent tous, mais pour programmer ce que tu veux il te faudra connaître les bases minimales du langage - tu parles de Python - Normalement (Python ou Scilab) tu devrais en faire en PCSI et en apprendre les bases. Si tu es pressé, il existe de nombreux sites qui initient à Python, bien sûr on peut créer des vecteurs sous python, ce sont des listes, mais il te faudra créer les fonctions qui font les opérations élémentaires sur ces vecteurs à moins de trouver quelque part les librairies de fonctions toutes faites. Mais le plus intéressant pour qui commence la programmation c'est de les créer parce que c'est très formateur.

  7. #6
    Azghar

    Re : Programme de calcul de coordonnées

    Merci à vous deux pour vos réponses.

    Je vais commencer l'algorithme pour n=2 et voir quels problèmes je rencontrerai.
    D'ici là , je pense que je verrais les équations différentielles en cours, et que j'en saurais plus sur le python (qui effectivement est au programme)

  8. #7
    mickan

    Re : Programme de calcul de coordonnées

    Bonjour,

    Tu peux créé une classe particule, d'attribut les coordonnées (x,y,z) et la vitesse(vx,vy,vz), et avec une méthode +setter et getter(ou plus si besoin), la premiere prend en argument une particule et renvoi un array avec les forces Fx,Fy et Fz.


    Tu instancie n particules,
    Pour chaque temps,
    pour chaque particules tu calcul la force exercé par les autres particules.
    Par exemple tu créé 3 tableaux (Fx,Fy,Fz) de n cases, la i-eme case contient la force selon(x,y ou z) de la i-eme particule.
    Tu effectue le mouvement des particules, par exemple dans la classe particule tu créé une méthode move(Fx,Fy,Fz).
    Tu incrémente le temps.

  9. #8
    CM63

    Re : Programme de calcul de coordonnées

    C'est le premier programme graphique sous Python que j'ai fait, avec une plugin Tcl/Tk. Je représentais le déplacement des planètes. J'avais dû mettre une loi universelle de la gravitation en 1/d au lieu de 1/d2 sinon ça explosait ! Cela me donnait une idée du big bang: comment faire exploser des particules qui ne sont soumises qu'à des forces d’attraction
    Dernière modification par CM63 ; 10/09/2014 à 22h18.
    Quoi? Quelque chose que je ne connais pas et qui me fait l'affront d'exister?!

  10. #9
    mickan

    Re : Programme de calcul de coordonnées

    En s'assurant a chaque itération de respecter l'intégrale premiere du mouvement, il n'y a aucune raison.

  11. #10
    Azghar

    Re : Programme de calcul de coordonnées

    Je retiens l'idée du tableau a n case, instinctivement sans connaitre le python, je voulais le faire mais je savais pas.que c'était possible. Mon rêve ce serait de choisir n avant de lancer les calculs, sans retoucher au code. Du coup le tableau s'adapterait?
    Je ne savais pas qu'il y avait des plugins sur python, a quoi servent-ils?
    Bon pour le moment je dois apprendre a programmer car la je ne peux rien faire.
    Une fois que j'aurais les.coordonnés , il me faudra créer une interface 3D pour rentrer les coordonnés et apprécier le mouvement du système, c'est possible sous python?

  12. #11
    Arzhur

    Re : Programme de calcul de coordonnées

    Bon pour le moment je dois apprendre a programmer
    C'est en effet une bonne idée


    Mon rêve ce serait de choisir n avant de lancer les calculs, sans retoucher au code. Du coup le tableau s'adapterait?
    Ca dépend de ton algo, mais logiquement si tu défini une taille N, c'est pour l'utiliser en suite...


    Une fois que j'aurais les.coordonnés , il me faudra créer une interface 3D pour rentrer les coordonnés et apprécier le mouvement du système, c'est possible sous python?
    Y'a une lib pour ça : VPython....donc oui


    Par contre faire une belle interface (qui fonctionne bien) est très vite prise en tête.

  13. #12
    Azghar

    Re : Programme de calcul de coordonnées

    On ne peut pas laisser n en variable ? En faisant en sorte que la valeur n soit demandée quand on lance le programme. (Je me réfère à ce que je faisais en terminale sur les calculatrice, ou il était possible de faire ça justement)

  14. #13
    mickan

    Re : Programme de calcul de coordonnées

    Code:
    n = input("choix du nombre de particule: ")

  15. #14
    Arzhur

    Re : Programme de calcul de coordonnées

    On ne peut pas laisser n en variable ?
    Pardon, mais quand tu m'as dis "n", j'ai sous entendu que c'était forcement une variable. Après tu peux la définir "en dur" dans ton code ou "dynamiquement" au démarrage ou exécution de ton programme...comme tu veux/peux

  16. #15
    Azghar

    Re : Programme de calcul de coordonnées

    Très bien, merci à tous, je vous tiendrais au courant lorsque le projet se concretisera

Discussions similaires

  1. Calcul de coordonnées 3D
    Par invite4a4db57f dans le forum Mathématiques du collège et du lycée
    Réponses: 6
    Dernier message: 15/08/2012, 13h16
  2. Calcul de coordonnées
    Par haast dans le forum Archives
    Réponses: 2
    Dernier message: 02/12/2010, 11h42
  3. programme pour ti 89 en coordonnées polaires d'une spirale de Cornu???
    Par invite47e0ec41 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 03/12/2009, 11h05
  4. calcul de coordonnées!
    Par totoscill dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 11/12/2006, 14h36
  5. programme TI, coordonnées az
    Par chr57 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 0
    Dernier message: 16/08/2006, 17h40