mod.Twirl

v1.03 20.10.18


Twirl
Das Modul "Twirl"

Twirl wurde von Martin Bohnet verfasst.

Twirl beeinflusst einen kreisförmigen Bildschirmbereich. Es verwirbelt ihn wie in einem Wasserstrudel.

Twirl kann Kreisflächen bis zum Maximum von 100 Pixeln Radius verarbeiten. Das entspricht einer Bildschirmfläche von etwa 490 Kacheln. Sollte der Kreis über den Bildschirmrand hinausragen, verkleinert Twirl automatisch den Radius, so dass die zu bearbeitende Kreisfläche noch vollständig auf den Bildschirm passt. Höchste x-Ordinate ist 316, höchste y-Ordinate ist 196. Der höchstmögliche Radius beträgt 100 Pixel. Der höchstmögliche Wert bei Amount ist 30, höhere Werte würden keinen Sinn machen.

Wem die Positionseingabe über die Zahlenfelder ("Center X" bzw. "Y" und "Radius") zu umständlich ist, kann den Kreisbereich mit Set Position direkt in der Grafik eingeben. Dazu wird zunächst das zuletzt gerenderte Bild angezeigt. Mit dem ersten Mausklick legt man den Mittelpunkt der Kreisfläche fest, worauf eine flimmernde Markierung an diesem Punkt zurückbleibt. Der zweite Klick definiert den "Radius". <STOP> beendet die Eingabe ohne Veränderungen an den Koordinaten.

Hinweis: Der visuell definierte Radius ist kein wirklicher Radius, da hierbei entweder der X- oder der Y-Abstand vom Startpunkt übernommen wird, je nachdem, welcher größer ist. Deshalb sollte man nur waagerecht oder senkrecht vom Mittelpunkt des Kreises aus gesehen klicken, dann erhält man in etwa den korrekten Radius. (Die Formel r² = x² + y² für das Berechnen des Radius aus x- und y-Ordinate war uns für das Modul zu aufwendig.) Der von Hand eingegebene Radius ist immer korrekt.

Die Drehrichtung von Twirl kann man mit Hilfe von "Direction" wählen. "Pos" dreht die Verwirbelung mathematisch positiv (nach links), "Neg" mathematisch negativ (also nach rechts). "Amount" gibt an, wie groß der Drehunterschied zwischen zwei benachbarten konzentrischen Ringen bei der Verwirbelung sein soll. Ein Wert von 3 entspricht etwa einem Grad Unterschied, den Gesamtdrehwinkel in der Mitte ermittelt man durch die Formel: (Amount / 3) × Radius. Höchstwert für Amount ist 30 (darüber hätte man nur noch konzentrische Kreise).

Da die Berechnungen recht aufwendig und langwierig sind, existiert der Speedmode. Ist dieser aktiviert ("On"), wird beim C64 der Bildschirm abgeschaltet, was die Berechnung um ca. 8% beschleunigt. Beim C128 wird zusätzlich der Prozessor in den 2MHz-Modus geschaltet, wodurch der Geschwindigkeitszuwachs insgesamt etwa 110% beträgt. In diesem Modus ändert sich fortwährend die Bildschirmfarbe, um zu zeigen, dass der C64 noch arbeitet. Wer lieber die Statusanzeige im Auge behält, sollte die Speedmode-Option auf "Off" (Voreinstellung) belassen.

Hinweis: Im Ergebnis verschiedentlich auftretende Streupixel (siehe Beispiel) sind auf Rundungsfehler zurückzuführen und unvermeidlich. Man muss sie ggf. mit RemIsoPixels und PixelEdit entfernen.


Eigenschaften:
zerstört den Speicherbereich des gerenderten Bildes, lässt Farben/Graustufen unbeeinflusst, eingeschränkt wiederholt anwendbar, eingeschränkt umkehrbar.


Korrespondierende Module:
Goo (Verzerren); Spin (Drehen um beliebige Werte)


Twirl
Das Bild verdeutlicht die Twirl-Verwirbelung, hier mit einem Amount
von 2, Drehrichtung positiv.

zurück - zum Standardmodifier-Menü

Arndt Dettke
support@godot64.de