Forum: PC Hard- und Software Schatten nach Löschung in Processing Graphik


von Martin O. (ossi-2)


Lesenswert?

Wenn ich in der "Processing" Umgebung weisse Linien auf den schwarzen 
Hintergrund ausgebe und diese dann durch Überschreiben mit schwarzen 
Linien an der gleichen Stelle löschen will bleiben teils graue Schatten 
von den weissen Linien übrig. Hat jemand eine Idee  um das zu verhindern 
?

von Teo D. (teoderix)


Lesenswert?

Martin O. schrieb:
> Hat jemand eine Idee  um das zu verhindern
> ?

Jo, starr nich solange auf den Monitor!

von Franko S. (frank_s866)


Lesenswert?

Breiter drüber malen, ganzes Bild neu malen, Anti Aliasing beim Linien 
malen ausschalten,....

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ja, hängt mit dem Antialiasing zusammen. In Processing gibts eine 
Option, die irgendwas / irgendwie mit "...smooth ... " heisst. Mal in 
der Referenz nachlesen, kann abgeschaltet werden.

von Bradward B. (Firma: Starfleet) (ltjg_boimler)


Lesenswert?

> Jo, starr nich solange auf den Monitor!

Da kein Foto/Screenshot gepostet wurde, sondern nur eine rudimentäre 
Beschreibung liegt die Vermutung tatsächlich nahe, es handelt sich hier 
lediglich um eine Optische Täuschung ähnlich den Machschen Streifen.

https://de.wikipedia.org/wiki/Machsche_Streifen

Ungünstige Monitoreinstellung (Overdrive?) könnte das noch begünstigen, 
also mal mit einer anderen Glotze gegentesten.

> Ja, hängt mit dem Antialiasing zusammen.

Das könnte man am besten mit einem Bildschirmfoto/Screenshot belegen. 
Und dann wäre noch die Frage, woher das vermutete Antialiasing stammt - 
OS ?, library ?, Monitor ?, GraKa ?, ...

PS: "Processing" ist Programmierlernsystem für "blutige Anfänger":
https://www.heise.de/ratgeber/Programmieren-fuer-Anfaenger-4106608.html

Der Beschreibung nach ein "kastriertes Java":
https://de.wikipedia.org/wiki/Processing

: Bearbeitet durch User
von J. S. (jojos)


Lesenswert?

Ich habe es selber noch nicht benutzt, würde es aber so versuchen:
Es gibt eine Funktion CreateGraphics die einen Rendering Context 
liefert. Das ist ein Buffer in den man zeichnet und dieser Buffer wird 
dann am Stück in die Anzeige kopiert. Damit muss man nicht aufwändig 
altes löschen und es vermeidet auch Geflacker.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Bradward B. schrieb:

> PS: "Processing" ist Programmierlernsystem für "blutige Anfänger":
> https://www.heise.de/ratgeber/Programmieren-fuer-Anfaenger-4106608.html

Klingt im ersten Moment etwas abfällig, aber der Artikel ist wirklich 
gut!

Ich verwende Processing seit einigen Jahren für Kurse von 
Programmier-Anfängern, weil es gut motivieren kann. Ich nenne es 
"Erlebnis-Programmieren".

Klassischer Fall: Der Dozent erzählt etwas über Variablen, Datentypen, 
Unterscheidungen, Schleifen. Dazu kleine Testprogramme mit Ausgabe in 
die Konsole. Viele Azubis: "Oh ... wie spannened ... eine Liste Zahlen 
im DOS-Fenster ..."

Steigt man dagegen mit Processing ein, hat man in Null-Komma-Nix ein 
Fenster mit grafischen Effekten und das sieht sogar aus wie ein 
"richtiges Programm". Das motiviert die meisten Einsteiger ganz anders! 
Natürlich führt an den "trockenen" Grundlagen nix vorbei, aber so herum 
wird mehr Interesse geweckt! Kleines Spiel mit Maus-Steuerung gefällig? 
Kein Problem ... 50 Zeilen ... usw.

Es gibt auch ein nettes Buch dazu, leider schon ein wenig veraltet, aber 
immer noch nutzbar:

https://www.amazon.com/Processing/dp/3897219972

Und Processing ist durchaus auch praktisch verwendbar. Ich habe z.B. für 
die Kinder-Animation in einem Museum ein "digitales Schattentheater" in 
Processing gemacht, ordentlich gegliedert in Klassen, mit Preferenzen, 
Setup etc. Also das geht schon.

Die Software mischt ein Live-IR-Kamerabild (USB) mit einem 
Animationsfilm und stellt beides zusammen als Rückpro über einen Beamer 
in Lebensgröße dar. Ich wüsste bis heute nicht, wie das hätte einfacher 
und zuverlässiger gehen sollen, dank mächtiger und trotzdem simpel 
verwendbarer Frameworks. Am Ende kommt ein jar-Container dabei heraus, 
der seit 3 Jahren tagtäglich zuverlässig per Autostart läuft ...

Ach ja, zum Thema: Es ist sind diese Befehle "schuld":

https://processing.org/reference/noSmooth_.html
https://processing.org/reference/smooth_.html

Übrigens ist Processing allemal schnell genug, das gesamte Bild im 
Hintergrund neu zu zeichnen und dann nur in den sichtbaren Context zu 
swappen. Das nennt man, glaube ich, "double buffer painting"?

Auch ganz ohne Smooth kann es passieren, dass einzelne "Restpixel" 
aufgrund von Rundungsfehlern stehenbleiben, wenn man versucht Linien (in 
gleicher Stärke) wieder zuzumalen. Das gibts auch in anderen 
Programmier-Umgebungen.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.