[Wissenschaftlich-technische Berechnung von Python] Zeichnungsanimation der parabolischen Bewegung mit Locus, Matplotlib

Einführung

Verwenden der ArtistAnimation-Methode von matplotlib, Die Bewegung eines Objekts, das eine parabolische Bewegung ausführt, wird mit einer Flugbahn angezeigt. Hier wurde ** eine Methode verwendet, um zwei Bilder des Ortsbereichs und des sich bewegenden Teils des Objekts überlappend anzuzeigen **. ** Es ist eine einfache und einfache Art zu denken, aber es kann nützlich sein, wenn Sie eine schnelle Visualisierung wünschen. .. ** **.


Inhalt

** Es handelt sich um ein vertikales Wurfproblem in Richtung des gleichmäßigen Schwerefelds in Richtung $ y $ und Richtung $ \ theta $. ** **.

Wenn die Zeit $ t = 0 $ ist, die Position des Qualitätspunktes $ (x_0, y_0) $ ist und die Größe der Anfangsgeschwindigkeit $ V_0 $ ist, dann sind die Qualitätspunkte $ x (t) $ und $ y (t) zum Zeitpunkt $ t $. ) $ Koordinaten sind wie folgt. Die Bewegung dieses Qualitätspunktes zeichnet eine parabolische Linie. x(t) = x_0 + V_0 \ cos(\theta) y(t)= y_0 + V_0 \ sin(\theta)-0.5\ \ g\ t^2

Setzen Sie in diesem Problem $ V_0 = 100 $ m / s, $ (x_0, y_0) = (0, 0) $, $ \ theta = \ pi / 4 $ (= 45 Grad), um die Bewegung des Qualitätspunkts zu zeichnen. ..


Code

locus.py


"""
Animierte parabolische Bewegung mit einer Flugbahn
Animation with a locus
"""

import matplotlib.pyplot as plt
%matplotlib nbagg  # Jupyter-Hinzufügen, wenn Animation im Notizbuch angezeigt wird
from matplotlib.animation import ArtistAnimation #Importieren Sie Methoden zum Erstellen von Animationen
import numpy as np

fig = plt.figure()

anim = [] #Eine Liste zum Speichern der Daten des für die Animation gezeichneten Para-Para-Diagramms
tt = np.arange(0,15,0.5) #Zeiteinstellung für das Zeichnen: t=0 von 0 bis 15.In 5 Schritten.

x_all=[] #Liste zum Speichern von Daten an allen x Positionen
y_all=[] #Liste zum Speichern von Daten aller y-Positionen

#Anfangsbedingungen einstellen
V0 =100 #Die Größe der Anfangsgeschwindigkeit: 100 m/s
theta=np.pi/4
x0=0 #Ausgangsposition: x=0
y0=0 #Ausgangsposition: y = 0
g=9.8 #Schwerkraftkonstante[m/s^2]

for t in tt:
    x= [V0*np.cos(theta)*t+x0]  # x(t)Beschreibung von
    y = [-( g/2)*t**2+V0*np.sin(theta)*t+y0] # y(t)Beschreibung von
    x_all.append(x[0]) #Speichert Daten jeden Moment von x
    y_all.append(y[0]) #Speichern Sie Daten jeden Moment von y

    #Erstellen Sie zwei Bilder, den Qualitätspunkt zum Zeitpunkt t und den Bewegungsort bis zum Zeitpunkt t, und speichern Sie sie zur Animation in der Liste.
    im=plt.plot(x,y,'o', x_all,y_all, '--', color='red',markersize=10, linewidth = 2, aa=True)
    anim.append(im)


anim = ArtistAnimation(fig, anim) #Animationserstellung

#Zeichnen Sie Anpassungen
plt.xlabel('X',fontsize=18) # 
plt.ylabel('Y',fontsize=18)
plt.xlim(0, 1100)
plt.ylim(-10,300)
plt.hlines([0], 0, 2000, linestyles="-")  # y=Zeichnen Sie eine Linie bei 0.

fig.show() 
anim.save("t.gif", writer='imagemagick')   #Animation.Speichern Sie es als GIF und erstellen Sie eine GIF-Animationsdatei.

Ergebnis

t.gif

Eine Animation der Bewegung des Pfandes bei einer Anfangsgeschwindigkeit von 100 m / s in einer schrägen Richtung von 45 Grad mit einer Flugbahn.


Korrektur- / Änderungsprotokoll:

  1. August 2017: ** Masse m in y (t) entfernt **. Vielen Dank an T_Shinaji für den Hinweis!

  2. August 2017: Geändert von anim.save ("t.gif") zu ** anim.save ("t.gif", writer = 'imagemagick') **. Vielen Dank an yoddy für den Hinweis!


Verweise

Für Künstleranimation, chez_sugis Animation mit matplotlib Ich durfte mich beziehen.

Recommended Posts

[Wissenschaftlich-technische Berechnung von Python] Zeichnungsanimation der parabolischen Bewegung mit Locus, Matplotlib
[Wissenschaftlich-technische Berechnung von Python] Zeichnung von 3D-gekrümmter Oberfläche, Oberfläche, Drahtrahmen, Visualisierung, Matplotlib
[Wissenschaftlich-technische Berechnung mit Python] Zeichnen, Visualisieren, Matplotlib von 2D-Konturlinien (Farbkonturen) usw.
[Wissenschaftlich-technische Berechnung mit Python] Histogramm, Visualisierung, Matplotlib
[Wissenschaftlich-technische Berechnung mit Python] Logistisches Diagramm, Visualisierung, Matplotlib
[Wissenschaftlich-technische Berechnung mit Python] Polarkoordinatendiagramm, Visualisierung, Matplotlib
[Wissenschaftlich-technische Berechnung mit Python] Zeichnen, visualisieren, matplotlib 2D-Daten mit Fehlerleiste
[Wissenschaftlich-technische Berechnung von Python] Grundlegende Operation des Arrays, numpy
[Wissenschaftlich-technische Berechnung mit Python] Plot, Visualisierung, Matplotlib von 2D-Daten, die aus einer Datei gelesen wurden
[Wissenschaftlich-technische Berechnung mit Python] Summenberechnung, numerische Berechnung
[Wissenschaftlich-technische Berechnung mit Python] Beispiel für die Visualisierung von Vektorfeld, elektrostatischem Magnetfeld, Matplotlib
[Wissenschaftliche und technische Berechnung von Python] Zeichnung fraktaler Figuren [Shelpinsky-Dreieck, Bernsley-Farn, fraktaler Baum]
Wissenschaftlich-technische Berechnung mit Python] Zeichnen und Visualisieren von 3D-Isoplanes und deren Querschnittsansichten mit Mayavi
[Wissenschaftlich-technische Berechnung von Python] Anpassung durch nichtlineare Funktion, Zustandsgleichung, scipy
[Wissenschaftlich-technische Berechnung mit Python] Berechnung des Matrixprodukts mit @ operator, python3.5 oder höher, numpy
[Wissenschaftlich-technische Berechnung mit Python] Inverse Matrixberechnung, numpy
[Wissenschaftlich-technische Berechnung mit Python] Lagrange-Interpolation, numerische Berechnung
[Wissenschaftlich-technische Berechnung von Python] Numerische Berechnung zur Ermittlung des Ableitungswerts (Differential)
[Wissenschaftlich-technische Berechnung mit Python] Analytische Lösungssympathie zur Lösung von Gleichungen
[Wissenschaftlich-technische Berechnung mit Python] Monte-Carlo-Integration, numerische Berechnung, Numpy
[Wissenschaftlich-technische Berechnung mit Python] Numerische Lösung der gewöhnlichen Differentialgleichung zweiter Ordnung, Anfangswertproblem, numerische Berechnung
[Wissenschaftlich-technische Berechnung mit Python] Liste der Matrizen, die in Hinpan in der numerischen linearen Algebra vorkommen
[Wissenschaftlich-technische Berechnung durch Python] Liste der Verwendung von (speziellen) Funktionen, die in der Physik unter Verwendung von scipy verwendet werden
[Wissenschaftlich-technische Berechnung nach Python] Numerische Lösung des Problems des eindimensionalen harmonischen Oszillators nach der Speed-Berle-Methode
[Wissenschaftlich-technische Berechnung nach Python] Numerische Lösung des Eigenwertproblems der Matrix durch Potenzmultiplikation, numerische lineare Algebra
Erstellen Sie eine Plotanimation mit Python + Matplotlib
[Wissenschaftlich-technische Berechnung mit Python] Lösen simultaner linearer Gleichungen, numerische Berechnung, Numpy
[Wissenschaftlich-technische Berechnung von Python] 1-dimensionale 3D-diskrete Hochgeschwindigkeits-Fourier-Transformation, scipy
[Wissenschaftlich-technische Berechnung mit Python] 2D-Random-Walk (Drunken-Walk-Problem), numerische Berechnung
[Wissenschaftlich-technische Berechnung nach Python] Monte-Carlo-Simulation nach der Metropolenmethode der Thermodynamik des 2D-Anstiegsspinsystems
[Wissenschaftlich-technische Berechnung nach Python] Ableitung analytischer Lösungen für quadratische und kubische Gleichungen, mathematische Formeln, Sympy
[Wissenschaftlich-technische Berechnung nach Python] Numerische Lösung der eindimensionalen instationären Wärmeleitungsgleichung nach der Crank-Nicholson-Methode (implizite Methode) und der FTCS-Methode (positive Lösungsmethode), parabolische partielle Differentialgleichung
1. Mit Python 1-3 gelernte Statistiken. Berechnung verschiedener Statistiken (Statistiken)
Zeichnen mit Matrix-Reinventor von Python Image Processing-
[Wissenschaftlich-technische Berechnung mit Python] Lösen gewöhnlicher Differentialgleichungen, mathematischer Formeln, Sympy
[Wissenschaftlich-technische Berechnung durch Python] Lösung des Randwertproblems gewöhnlicher Differentialgleichungen im Matrixformat, numerische Berechnung
[Wissenschaftlich-technische Berechnung mit Python] Lösen (verallgemeinerter) Eigenwertprobleme mit numpy / scipy mithilfe von Bibliotheken
[Wissenschaftlich-technische Berechnung mit Python] Lösen der gewöhnlichen Differentialgleichung zweiter Ordnung nach der Numerov-Methode, numerische Berechnung
[Wissenschaftlich-technische Berechnung nach Python] Lösen der eindimensionalen Newton-Gleichung nach der Runge-Kutta-Methode 4. Ordnung
[Python] Grenzachse des 3D-Graphen mit Matplotlib
1. Mit Python 1-2 gelernte Statistiken. Berechnung verschiedener Statistiken (Numpy)
Berechnung der technischen Indikatoren durch TA-Lib und Pandas
Die Basis der Graphentheorie mit Matplotlib-Animation
[Python] Passen Sie Colormap an, wenn Sie Diagramme mit matplotlib zeichnen
[Wissenschaftlich-technische Berechnung nach Python] Numerische Lösung von 1-dimensionalen und 2-dimensionalen Wellengleichungen nach der FTCS-Methode (explizite Methode), doppelt gekrümmte partielle Differentialgleichungen
Animation mit matplotlib
Animation mit matplotlib
[Wissenschaftlich-technische Berechnung durch Python] Erzeugung ungleichmäßiger Zufallszahlen mit gegebener Wahrscheinlichkeitsdichtefunktion, Monte-Carlo-Simulation
Memo von "Cython beschleunigt Python durch Fusion mit C"
[Wissenschaftlich-technische Berechnung mit Python] Numerische Lösung gewöhnlicher Differentialgleichungen erster Ordnung, Anfangswertproblem, numerische Berechnung
[Wissenschaftlich-technische Berechnung von Python] Wellen "Stöhnen" und Gruppengeschwindigkeit, Wellenüberlagerung, Visualisierung, Physik der High School
Heatmap von Python + matplotlib
Echtzeitzeichnung mit Matplotlib
Zeichnen mit Python Tinker
Installation von matplotlib (Python 3.3.2)
Numerische Berechnung mit Python
Führen Sie mit Python und Matplotlib eine Isostromanalyse offener Wasserkanäle durch
[Einführung in Data Scientist] Grundlagen der wissenschaftlichen Berechnung, Datenverarbeitung und Verwendung der Grafikzeichnungsbibliothek ♬ Grundlagen von Matplotlib
[Wissenschaftlich-technische Berechnung nach Python] Numerische Lösung der zweidimensionalen Laplace-Poisson-Gleichung für die elektrostatische Position nach der Jacobi-Methode, elliptische partielle Differentialgleichung, Randwertproblem