PunktSim
t = 0.000 s
Startet…

Variablen

Physik-Code

läuft für jeden Körper, einmal pro Zeitschritt

Ausgabe

Fehler und print()

        

Simulation

Diagramme

So funktioniert PunktSim

Die Idee

Du schreibst die Physik eines Zeitschritts für einen Körper. Die App führt deinen Code für jeden Körper aus (außer für feste Körper), stellt die Zeit um dt weiter und wiederholt das.

F = vec(0, -m*g)    # die Kraft auf den Körper
a = F / m           # zweites Newtonsches Gesetz
v = v + a*dt        # Geschwindigkeit nach dem Schritt
r = r + v*dt        # Ort nach dem Schritt

Namen, die du im Code verwenden kannst

m r v a FMasse, Ort, Geschwindigkeit, Beschleunigung und Kraft des aktuellen Körpers. r v a F sind Vektoren. Was du ihnen zuweist, bleibt für den nächsten Schritt erhalten.
KörpervariablenDeine eigenen zusätzlichen Variablen aus dem Bereich Variablen (z. B. eine Ladung q). Sie bleiben ebenfalls von Schritt zu Schritt erhalten.
andere NamenTemporär: nach dem Schritt sind sie weg. In Diagrammen kannst du sie trotzdem anzeigen (z. B. eine Energie E).
ParameterKonstanten aus dem Bereich Variablen, z. B. g.
t dtAktuelle Zeit und Zeitschritt.
othersListe der anderen Körper: o.r, o.v, o.m, o.name, o.index, … Sie enthalten die Werte vom Anfang des Schritts, deshalb spielt die Reihenfolge der Körper keine Rolle.
bodiesAlle Körper, einschließlich des aktuellen.
name indexName und Nummer (0, 1, 2, …) des aktuellen Körpers.

Vektoren

vec(x, y)Ein neuer Vektor. Komponenten: r.x, r.y.
a + b, a - b, 2*a, a/2Rechnen mit Vektoren.
mag(v) oder abs(v)Betrag (Länge). mag2(v) ist das Betragsquadrat.
hat(v)Einheitsvektor (Länge 1) in Richtung von v.
dot(a, b)Skalarprodukt (eine Zahl).
cross(a, b)Kreuzprodukt: für zwei Vektoren die z-Komponente. cross(v, B) mit einer Zahl B behandelt B als Vektor, der aus dem Bildschirm heraus zeigt.
rotate(v, angle)Gegen den Uhrzeigersinn gedreht (Winkel im Bogenmaß). angle(v) ist die Richtung von v.
polar(length, angle)Ein Vektor aus Länge und Richtung.

Mathematik

Alles aus Pythons math-Modul: sqrt sin cos tan atan2 exp log pi radians degrees … Andere Module wie random oder numpy lassen sich importieren.

Startwerte

Jedes Feld im Bereich Variablen ist ein Python-Ausdruck und darf Parameter verwenden, z. B. v0*cos(radians(30)). Kommazahlen schreibst du wie in Python mit Punkt: 9.81, nicht 9,81.

Tipps