mod.Goo

v1.03 20.10.18


Goo!
Das Modul "Goo"

Dies ist ein Modul von Martin Bohnet.

Goo dient zum gezielten Vergrößern oder Verkleinern (also Verzerren) kreisförmiger bzw. elliptischer Bereiche. Die Berechnung der Verzerrung innerhalb des ausgewählten Bereichs erfolgt auf der Basis von Polarkoordinaten, weshalb die bearbeitete Grafik von einem Zentrum wegzufließen bzw. auf ein Zentrum zuzustürzen scheint.

Das Modul verarbeitet Kreisflächen bis zum Maximum von 100 Pixeln Radius (flache Ellipsen bis zu 160 Pixeln auf der längeren Achse). Das entspricht einer Fläche von etwa 490 Kacheln (630 bei flacher Ellipse). Sollte die Fläche über den Bildschirmrand hinausragen, passt das Modul automatisch den Radius so an, dass die Ellipse noch vollständig auf den Bildschirm passt. Wem die Positionseingabe über die Zahlenfelder (Center X bzw. Center Y und Radius) zu umständlich ist, kann den Bereich mit Set Position direkt in der Grafikanzeige bestimmen.

Dazu wird das zuletzt gerenderte Bild angezeigt. Für die Positionierung setzt man mit dem ersten Klick den Mittelpunkt der Ellipse fest, worauf eine flimmernde Markierung an diesem Punkt zurückbleibt. Der zweite Klick definiert den "Radius". Auch hier wird so angepasst, dass die Ellipse vollständig auf den Bildschirm passt. <STOP> beendet die Eingabe ohne Veränderungen an den Koordinaten.

Hinweis: Dieser 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 dagegen immer korrekt.

Das Auswahlgadget unterhalb von "Speedmode" legt die Form des zu bearbeitenden Ausschnitts fest: Circle (im Bild) erzeugt einen Kreis, d.h. die Verzerrung erfolgt gleichmäßig in alle Richtungen. Flat Ellipse und High Ellipse erzeugen Ellipsen mit dem Halbachsenverhältnis 1:2, wobei sich die Einstellung im Radius-Gadget auf die jeweils größere Halbachse bezieht. Flat Ellipse wirkt hauptsächlich auf die Breite, High Ellipse auf die Höhe des zu bearbeitenden Ausschnitts. Achtung: Die Einstellung der Ellipsenform beeinflusst auch die Radiusberechnung unter Set Position, also die Form immer als erstes einstellen!

Mit BlowUp wird die Vergrößerung des gewählten Ausschnitts in Gang gesetzt, mit Shrink die Verkleinerung. Nach der Berechnung kehrt das Programm in den Goo-Requester zurück. Beide Operationen laufen nicht verlustfrei ab, weshalb keine durch die jeweils andere komplett rückgängig gemacht werden kann. Um bei mehrmaliger Anwendung Streifenmuster am Rand oder große einfarbige Flächen im Zentrum zu vermeiden, sollte man Center X/Y und/oder Radius nur geringfügig variieren.

Da die Berechnung des Verzerrungseffektes aufwendig und langwierig ist, hat Goo einen 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. Bei abgeschaltetem Bildschirm ändert sich als Aktivitätsanzeige fortlaufend die Bildschirmfarbe. Wer lieber die Statusanzeige im Auge behält, sollte diese Option auf "Off" (Voreinstellung) belassen.

Mit Leave verlässt man das Modul.


Eigenschaften:
lässt Farben/Graustufen unbeeinflusst, wiederholt anwendbar, eingeschränkt umkehrbar.


Korrespondierende Module:
Spin (Drehen um beliebige Werte); Twirl (Verwirbeln)


Beispiel:

Beispielbild Goo
Bei diesem Videodigitizer-Bild wurden rechts die Augen durch jeweils zweimalige Anwendung von BlowUp
und Circle vergrößert, die Nase mit Shrink und High Ellipse gestaucht und mit BlowUp und Flat Ellipse
verbreitert. Der Mund wurde durch Shrink und Flat Ellipse schmaler gemacht.
(Beispiel erzeugt von Martin Bohnet)
Beispielbild Goo
In diesem Farbbild wurde das Auge auf der linken Seite mit Circle und zweimal BlowUp vergrößert.
(Das Originalbild sieht man hier in den Beispielen.)

zurück - zum Standardmodifier-Menü

Arndt Dettke
support@godot64.de