mod.Spin - mod.Twirl

v1.02 30.04.18 · v1.01 01.11.98


Twirl
Das Modul "Twirl"
Spin
Das Modul "Spin"

Spin und Twirl wurden von Martin Bohnet verfasst.

Diese beiden Module beeinflussen kreisförmige Bildschirmbereiche. Spin dreht diesen Bereich, Twirl verwirbelt ihn wie in einem Wasserstrudel.

Die Module können 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, verkleinern die Module 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.

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".

Hinweis: Der visuell definierte Radius ist kein wirklicher Radius, da hierbei entweder der X- oder der Y-Abstand ü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 jedoch immer korrekt.

Bei Spin muss hinter "Angle" zusätzlich die Gradzahl angegeben werden, um die der Kreisbereich gedreht werden soll. Die Eingabe wird als Gradzahl einer Drehung im mathematisch positiven Drehsinn interpretiert (gegen den Uhrzeigersinn). Bei einer Drehung im Uhrzeigersinn muss der beabsichtigte Winkel von 360° subtrahiert werden (hier im Bild: 315°, das entspricht 45° im Uhrzeigersinn). Da bei einer Umrechnung einer Kreisbewegung in ein rechtwinkliges Punktesystem immer gerundet werden muss (außer bei Vielfachen von 90°), ist es nicht empfehlenswert, einen Bereich in mehreren Schritten zu drehen. Spin akzeptiert Eingaben zwischen 1 und 359 Grad bei Angle.

Bei Twirl kann man die Drehrichtung mit Hilfe von "Direction" wählen. "Pos" dreht mathematisch positiv, "Neg" mathematisch negativ. "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.

Da die Berechnungen bei beiden Modulen 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. Wer lieber die Statusanzeige im Auge behält, sollte diese Option auf "Off" (Voreinstellung) belassen.

Hinweis: Alle Winkelangaben beziehen sich auf quadratische Pixel und können u.U. je nach Bildschirm- bzw. Druckereinstellung verzerrt dargestellt werden. Im Ergebnis verschiedentlich auftretende Streupixel (siehe Beispiel) sind auf Rundungsfehler zurückzuführen und unvermeidlich. Man muss sie ggf. mit PixelEdit entfernen.

Tipp: Für Spin sind freistehende Bildobjekte wie z.B. einzelne Buchstaben am besten geeignet.


Eigenschaften:
zerstört den Speicherbereich des gerenderten Bildes, lässt Farben/Graustufen unbeeinflusst, eingeschränkt wiederholt anwendbar, nicht umkehrbar (außer bei Spin, wenn Vielfache von 90° eingegeben werden).


Spin und Twirl
In der linken Bildhälfte wurde ein Bildausschnitt von 80 Pixeln im mathematisch positiven Sinne um 25° gedreht (nach links).
Der Bildausschnitt in der rechten Bildhälfte verdeutlicht die Twirl-Verwirbelung, hier mit einem Amount von 2, Drehrichtung ebenfalls positiv.

zurück - zum Standardmodifier-Menü

Arndt Dettke
support@godot64.de