Das JavaZ Projekt

Dynamischer Rahmen

Erstellungstool: environment

Einen Gravitations-Eiffelturm-Umriss mit dem environment-Tool abprallen lassen.

Ein Gravitations-Eiffelturm-Umriss mit dem environment-Tool

So wie ein Bild auf einen Rahmen beschränkt ist, dürfen massPoints nicht über die Leinwand hinausgehen, sonst würde die Zeichnung durch ihre fortgesetzte Bewegung einfach verschwinden. Um dies zu verhindern, müssen die massPoints in einem solchen Fall gegen unsichtbare Wände stoßen. Diese werden über ein weiteres Erstellungstool definiert:

environment

Das environment-Tool entspricht standardmäßig dem Rahmen des Canvas. Es kann aber auch dynamisch neu definiert werden: Wände können sich innerhalb (Cropping) oder außerhalb der Leinwand (Passepartout) bewegen, was zu einem dynamischen Crop-Effekt führt. Ohne großen Aufwand lassen sich mit diesem Tool unerwartete spektakuläre Effekte erzielen:

Das environment Tool

Das Werkzeug environment verarbeitet einen massPoint, der sich über eine bestimmte Grenze hinaus bewegt. Wenn ein massPoint einen beliebigen Rand trifft, prallt er ab und bleibt auf dem Bildschirm.

Für ein genaues Abprallen muss der massPoint zu dem Punkt zurückverfolgt werden, an dem er zum ersten Mal auf die Wand trifft. Wenn der massPoint eine vertikale Grenze (rechte oder linke Seite) trifft, wird die horizontale Geschwindigkeitskomponente umgekehrt. Analog wird die vertikale Geschwindigkeit umgekehrt, wenn er auf eine horizontale Grenze trifft. Um den massPoint zur Ruhe kommen zu lassen, wird ein Abprallfaktor auf die umgekehrte Geschwindigkeit angewendet, der den Verlust an kinetischer Energie simuliert. Das ist natürlich keine Hardcore-Physik, sondern eine ziemlich realistische grundlegende Simulationstechnik.