mod.Goo

v1.01 07.11.98


Goo!
Das Modul "Goo"

Dies ist ein Modul von Martin Bohnet.

Dieses Modul dient zum gezielten Vergrößern oder Verkleinern kreisförmiger ("Circle") bzw. elliptischer Bereiche ("Flat ellipse" oder "High ellipse"). Die Berechnung erfolgt auf der Basis von Polarkoordinaten, weshalb die bearbeitete Grafik von einem Zentrum wegzufließen bzw. auf ein Zentrum zuzustürzen scheint.

Das Modul kann Kreisflächen bis zum Maximum von 100 Pixeln Radius (flache Ellipsen bis zu 160 Pixeln auf der größeren Achse) verarbeiten. Das entspricht einer Fläche von etwa 490 Kacheln (630 bei flacher Ellipse). Sollte die Fläche über den Bildschirmrand hinausragen, passt das Modul autmatisch den Radius an, so dass die Fläche noch 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 direkt in der Grafikanzeige eingeben.

Dazu wird das zuletzt gerenderte Bild angezeigt. Wurde es seit dem letzten Rendern verändert, rendert mod.Goo neu (unabhängig von den Screencontrols in 16 Farben Multicolor). Während des Rendervorgangs färbt sich der Bildrahmen rot, um anzuzeigen, dass keine Eingaben möglich sind. Mit dem ersten Klick setzt man den Mittelpunkt fest, worauf eine blinkende Markierung an diesem Punkt zurückbleibt. Der zweite Klick definiert den Radius, wobei entweder der X- oder Y-Abstand vom Zentrum übernommen wird, je nachdem, welcher größer ist. Auch hier wird der Radius so angepasst, dass die Fläche vollständig auf den Bildschirm passt.

Das Gadget unter "Speedmode" legt die Form des zu bearbeitenden Ausschnittes fest: Circle erzeugt einen Kreis, d.h. die Verzerrung erfolgt gleichmäßig in alle Richtungen. Flat ellipse und High ellipse erzeugen Ellipsen mit dem Halbachsenverhältniss 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 Formeinstellung beeinflusst auch die Radiusberechnung unter Set, also die Form immer als erstes einstellen!

Mit Enlarge wird die Vergrößerung, mit Shrink die Verkleinerung des gewählten Ausschnitts in Gang gesetzt. Nach der Berechnung kehrt das Programm in den Goo-Requester zurück.

Beide Operationen laufen nicht verlustfrei ab, weshalb keine durch die jeweils andere 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" und/oder "Radius" nur geringfügig variieren.

Da die Berechnung des Verzerreffektes aufwendig und langwierig ist, hat mod.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. Wer lieber die Statusanzeige im Auge behält, sollte diese Option auf "Off" (Voreinstellung) belassen.

Mit Quit verlässt man das Modul.


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


Beispiel:

Beispielbild Goo
Bei diesem Videodigitizer-Bild wurden rechts die Augen durch jeweils zweimalige Anwendung von Enlarge und Circle vergrößert, die
Nase mit Shrink und High ellipse gestaucht und mit Enlarge und Flat ellipse verbreitert. Der Mund wurde durch Shrink und Flat ellipse
verschmälert.

zurück - zum Standardmodifier-Menü

Arndt Dettke
support@godot64.de