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

Mathématiques Discussion :

Incompréhension sur mon code (physique)


Sujet :

Mathématiques

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2020
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2020
    Messages : 53
    Points : 38
    Points
    38
    Par défaut Incompréhension sur mon code (physique)
    Bonjour,

    j'essaie de simuler un proton avec un électron, ils ont la même charge mais la différence de masse est d'un facteur 2000. Normalement si je ne me trompe pas, dans la simulation le proton plus lourd devrait avoir l'air immobile pendant que l'électron tourne autour ?

    Ce n'est pas ce qui se produit, les 2 s'attirent et ont la même quantité de mouvement... Voici le code, j'utilise panda3d :

    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
    def update(self, task):
     
            #distance entre les corps
            dmatrice = self.p - self.e
            dcarre = pow(dmatrice[0],2) + pow(dmatrice[1],2) + pow(dmatrice[2],2)
     
            #force appliquée aux corps
            constante = 0.2
            f = 1/dcarre * constante
            fmatrice = dmatrice *f/sqrt(dcarre)
            self.ve += (fmatrice /2000)
            self.vp -= fmatrice
            self.e -= self.ve
            self.p += self.vp
            self.electron.setPos(tuple(self.e))
            self.proton.setPos(tuple(self.p))
     
            return task.cont

    Est ce un problème de raisonnement ou de code ?

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 276
    Points : 13 553
    Points
    13 553
    Par défaut
    Bonjour

    Le soleil tourne-t-il autour de la terre ? Ou la terre tourne-t-elle autour du soleil ? C'est toujours la même blague dans laquelle trop de monde bute. (Même "qui veut gagner des millions ?" se trompe). La vérité est que les deux se tournent autour, et les deux phrases sont correctes. Là où ça commence à merder c'est quand on parle de Mars. Mars tourne-t-elle autour de la terre ? Évidemment non. Galilée, tout ça, etc.

    Quand tu dis que ton proton devrait avoir l'air immobile, j'aimerais savoir ton point de vue. Si ta référence est le proton, alors, oui, par définition, le proton est immobile par rapport au proton. Si ton référentiel est l'électron, c'est l'électron qui semblera immobile. Si c'est le centre de masse, tous les objets bougent.

    La différence de masse est intéressante, car le soleil a une masse 330.000 fois celle de la Terre. À tout seigneur, tout honneur, on fabrique un système héliocentrique où le soleil est immobile. Il n'est pas farfelu de faire en sorte que ton proton soit considéré immobile. Mais du coup, tu feras comment avec plusieurs protons ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2020
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2020
    Messages : 53
    Points : 38
    Points
    38
    Par défaut
    En fait je veux plutot dire que les particules tournent à égale distance du centre de masse, cela doit il se produire ?

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2020
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2020
    Messages : 53
    Points : 38
    Points
    38
    Par défaut
    Bon, je viens de résoudre mon problème par je ne sais quel hasard, j'obtiens un beau barycentre décallé vers le proton, merci pour votre aide

  5. #5
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 145
    Points : 9 607
    Points
    9 607
    Par défaut
    Ce serait sympa de poster le code corrigé, pour clore la discussion.

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 446
    Points : 5 867
    Points
    5 867
    Par défaut
    salut

    le barycentre ce calcul pourtant simplement
    On définit le barycentre de deux points A et B du plan affectés des coefficients de pondération a et b (avec la somme a + b non nulle) comme l'unique point O vérifiant la relation vectorielle

    m1.OA + m2.OB = 0
    on utilise la relation de chasle

    m1.OA+m2(OA+AB) = 0
    (m1+m2).OA+m2.AB = 0
    OA = (m2/(m1+m2))*AB

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2020
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2020
    Messages : 53
    Points : 38
    Points
    38
    Par défaut
    Voici le code qui marche :
    Code : 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
        def update(self, task):
     
            #distance entre les corps
            dmatrice = self.p - self.e
            dcarre = pow(dmatrice[0],2) + pow(dmatrice[1],2) + pow(dmatrice[2],2)
     
            #force appliquée aux corps
            constante = 10
            f = (1/dcarre) * constante
            fmatrice = dmatrice *(f/sqrt(dcarre))
     
            self.ve += fmatrice
            self.e += self.ve
            self.electron.setPos(tuple(self.e))
     
            self.vp -= fmatrice/2000
            self.p += self.vp
            self.proton.setPos(tuple(self.p))
     
            return task.cont

  8. #8
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 446
    Points : 5 867
    Points
    5 867
    Par défaut
    salut

    cela fonctionne parceque tu as atribue artificiellement une masse de 2000
    mais t'a formule ne me semble pas exacte a long terme

    nous savons que la distance entre A et B ce calcule de cette façon

    Distance =√((Xb−Xa)2+(Yb−Ya)2+(Zb−Za)2)
    jusqu'ici dans ton code tout semble correcte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       def update(self, task):
     
            #distance entre les corps
            dmatrice = self.p - self.e
            dcarre = pow(dmatrice[0],2) + pow(dmatrice[1],2) + pow(dmatrice[2],2)
    ensuite tu lui aplique une constance qui sort dont ne sais ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      #force appliquée aux corps
            constante = 10
            f = (1/dcarre) * constante
            fmatrice = dmatrice *(f/sqrt(dcarre))
    alors qu'un simple
    aurais suffit
    ensuite l'application des masses de chaque element aurait du etre appliqué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       # Cas Calcul Distance OA (Centre -> A)
       #M masse des elements
       fdistOA = fdistAB * (Mb/(Ma+Mb))
    une fois ces elements trouvés il ne te reste plus qu'a les appliqué afin de les positionner correctement
    de plus cela te permet de visualiser le centre de gravité pour ton debogage si tu le souaite

    ... dans le cas que tu nous presente nous avons deux constantes ne sachant pas a quoi elles corespondent
    10 et 2000
    il est certain que vp seras toujours 2000 fois inferieur a ve mais est vraiment la realité ?

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

Discussions similaires

  1. incompréhension de problème sur mon code
    Par worox dans le forum Lua
    Réponses: 1
    Dernier message: 24/08/2021, 22h32
  2. Demande d'aide sur mon code
    Par b.soufiane dans le forum C++
    Réponses: 6
    Dernier message: 07/12/2007, 17h36
  3. petit probleme sur mon code
    Par MORPHEUS50 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/05/2007, 19h16
  4. [FFT] Votre avis sur mon code
    Par deubelte dans le forum C++
    Réponses: 1
    Dernier message: 10/02/2007, 21h14
  5. Doute sur mon code, découpage de texte
    Par goblin dans le forum Langage
    Réponses: 3
    Dernier message: 16/10/2006, 21h26

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