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