Zum Inhalt

Interaktion mit CindyLab

Die Simulationsumgebung: simulation()

Beschreibung: Dieser Operator bietet einen Zugriff auf die Simulationsumgebung. Die Simulationsumgebung bietet mehrere Felder, mit denen man auf ihre globalen Eigenschaften zugreifen kann.

Name Schreibbar Typ Zweck
friction ja real Gesamtreibung der Simulation
gravity ja real Gesamtgravitation der Simulation
kinetic nein real Gesamtkinetische Energie der Simulation
ke nein real Gesamtkinetische Energie der Simulation
potential nein real Gesamtpotentielle Energie der Simulation
pe nein real Gesamtpotentielle Energie der Simulation

Eine Kraft anwenden: addforce(<mass>,<vec>)

Beschreibung: Anwendung einer Kraft <vec> auf eine vorhandene Masse <mass>. Dieser Operator ist nützlich zur Implementierung von benutzerdefinierten Kraftfeldern. Er sollte im Slot Integration Tick aufgerufen werden.


Eine Kraft festlegen: setforce(<mass>,<vec>)

Beschreibung: Festlegen der Kraft <vec> für eine vorhandene Masse <mass>. Dieser Operator ist sehr nützlich zur Implementierung von benutzerdefinierten Kraftfeldern. Er sollte im Slot Integration Tick aufgerufen werden.


Abfragen von Teilchenkräften: force(<vector>)

Beschreibung: Der Operator force ist eng mit Physik-Simulationen in CindyLab verwandt. Er kann verwendet werden, um die Kraft zu testen, die auf ein Massepartikel an einer bestimmten Position wirken würde. Der Vektor <vector> stellt die Position dar. Der Operator gibt einen zweidimensionalen Vektor zurück, der die Kraft an dieser Position ist. Wenn keine Modifizierer verwendet werden, geht der Operator davon aus, dass das Testpartikel mass=1, charge=1 und radius=1 hat (siehe Freie Masse).

Beispiel: Das folgende Bild wurde mit dem Operator drawforces und einem Farbplot des Operators force erzeugt. Es zeigt das Kraftfeld und die Kraftstärke des elektrostatischen Feldes zweier Ladungen.

A.charge=(|C,G|-3)*3;
B.charge=(|E,H|-3)*3;
f(x):=max((0,min([x,1])));
colorplot([0.1,0.1,0.1]+hue(f(abs(force(#)/3))),(-10,-10),(20,10));
drawforces(stream->true,move->0.2,color->[0,0,0],resolution->10);

Modifizierer: Es ist auch möglich, die Werte von Masse, Ladung und Radius explizit festzulegen. Jeder dieser Werte kann durch einen Modifizierer mit demselben Namen festgelegt werden. Wenn mindestens einer dieser Werte explizit festgelegt wird, werden alle nicht festgelegten Werte auf Null gesetzt. Somit testet force([0,0],charge->2) die Kraft, die für ein Partikel mit charge=2, mass=0 und radius=0 an Punkt [0,0] vorhanden wäre.


🤖 Diese Seite wurde automatisch mit KI (Claude) übersetzt und wartet noch auf Überprüfung. → Alle KI-übersetzten Seiten