Darstellung
Sprache

Zurück zur Übersicht

Showcase 18 · Chaos

Abweichung

Zwei Himmel, zwei gleiche Systeme aus drei Körpern, die sich gegenseitig anziehen. Links und rechts läuft exakt dieselbe Rechnung, Schritt für Schritt. Verschieben Sie im rechten Himmel einen Körper um einen winzigen Betrag. Eine Weile sehen beide Leuchtspuren noch gleich aus. Dann trennen sie sich, und aus einer Zukunft werden zwei.

Die Live-Demo benötigt JavaScript. Die Erklärung unten ist auch ohne sie lesbar.

So funktioniert es

Drei gleich schwere Körper ziehen sich nach Newton an; die Schwerkraft ist auf kurze Entfernung geglättet, damit sich keine zwei Körper zu einem engen Paar verhaken. Ein Integrator rechnet ihre Bewegung in festen, kleinen Schritten voraus, für beide Himmel mit genau denselben Zahlen; ohne Eingriff bleiben sie deshalb bis auf das letzte Bit gleich. Greifen Sie im rechten Himmel einen Körper, wird er zuerst wieder seinem Zwilling links gleichgesetzt; dann dürfen Sie ihn innerhalb des gestrichelten Rings verschieben, oder Sie schubsen ihn mit dem Knopf um die eingestellte Größe quer zu seiner Bewegungsrichtung. Das Drei-Körper-Problem ist chaotisch: Jede Begegnung zweier Körper vergrößert den Unterschied, bis er so groß ist wie das System selbst. Ein tausendmal kleinerer Schubs verschiebt diesen Moment nur um wenige Umläufe.

Gezeichnet wird mit Canvas 2D, ohne WebGL. Jeder Körper hinterlässt eine Spur aus den letzten Positionen, die mit dem Alter verblasst. Im rechten Himmel zeigen hohle Ringe, wo die Körper ohne Schubs stünden; die Linie dazu ist der Abstand. Er wird als Anteil an der Breite eines Himmels angegeben, „Getrennt nach“ zählt die Sekunden, bis er 5 % überschreitet. Damit kein Körper für immer verschwindet, holt ein weicher Rand ihn zurück; diesen Rand gibt es nur auf der Bühne, nicht in der Physik. Bei reduzierter Bewegung läuft keine Animation; nach einem Schubs werden beide Himmel sofort bis kurz nach dem Moment gerechnet, in dem sie sich trennen, und als Standbild gezeichnet. Alle Farben stammen aus den Design-Tokens.