|
|
"Farblichter" (additive Farbmischung) erstellen/ze |
|
leon81 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 08:08
Titel: "Farblichter" (additive Farbmischung) erstellen/ze
|
 |
Hallo Zusammen,
ich würde gerne mit Matlab so genannte "Farblichter" erzeugen. Darum handelt es sich um die bekannte additive Farbmischungsdarstellung, nur eben mit kontinuierlichen Übergängen.
siehe auch:
http://de.academic.ru/pictures/dewi.....ive_RGB_Circles-48bpp.png
Hat jemand eine Idee, wie so etwas in Matlab zu realisieren ist?
Bitte um Vorschläge und danke vorab herzlichst!
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 09:20
Titel: Re: "Farblichter" (additive Farbmischung) erstelle
|
 |
Hallo leon81,
Zunächst brauchst du für jeden einzelnen Farbkanal einen Kreis mit nach aussen abnehmender Intensität. Dies ist mit der Kresiformel leicht zu erzeugen:
Dabei ist r der Radius, xc und yc die Koordinaten des Mittelpunktes und x und y durchlaufen alle Punkte des zu zeigenden Bildes. Nun müssen die Intensitäten noch normiert werden, so dass die Werte zwischen 0 und 1 liegen. Wenn Du im Zentrum der Darstellung ein reines Weiss haben möchtest, brauchen die Intensitäten im Zentrum eine ausgedehnte Fläche mit dem vollen Wert 1. Der genaue Intensitätsverlauf hängt dann von Deinen Wünschen ab.
So erzeugst Du 3 Bilder für die Fraben rot, grün und blau mit unterschiedlichen Mittelpunkten. Schließlich mischst Du die Kanäle:
Gruß, Jan
|
|
|
leon81 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 09:41
Titel:
|
 |
Hallo Jan,
vielen Dank erstmal, das sieht ja schon sehr gut aus. Werde ich ausprobieren!
Wie deklariere ich x und y (bin nicht der große Matlab-Experte)?
Danke und Grüße!
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 14:27
Titel:
|
 |
Hallo leon81,
Entweder in einer Schleife - mal angenommen Dein Bild hat 200x200 pixels:
Effizienter geht das mit BSXFUN, aber ich glaube auf die auf ein zehntel Sekunde kommt es nicht an.
Gruß, Jan
|
|
|
leon81 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.07.2011, 14:12
Titel:
|
 |
Hallo Jan,
könntest Du bitte bei Gelegenheit Deinen Vorschlag codiert etwas genauer darlegen? Hab inzwischen ein wenig rumgespielt, wenn ich Dich richtig verstanden habe dann:
1) für jeden Kreis ein Bild erstellen und die Pixel entsprechend der Kreisformel (Polarkoordinaten x=cos(phi) und y=sin(phi)) in Abhängigkeit vom iterativ zunehmenden Radius aus Mittelpunktsicht einfärben
2) diese drei Bilder zusammenstecken
Problem:
bin noch auf der Suche nach einer Zeichnungsvorschrift. Gibt's denn keine einfache Funktion wie "circle" o.ä.?
vielen Dank und Gruß!
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.07.2011, 15:50
Titel:
|
 |
Hallo leon81,
Ich habe bereits alle notwendigen Zeilen gepostet. Du müsstest sie nur noch aneinander hängen... SIN und COS sind dabei viel zu unpraktisch. Die Kreisformel ist besser:
Die Zentren, die Skalierung der Scheibe und die Funktion mit der die Intensitöt zum Rand abfällt kannst Du selber an Deine Bedürfnisse anpassen.
Ein CIRCLE Befehl würde bei Deinem Problem wohl nicht weiter helfen, da Du weder einen Kreis noch eine normale Kreisscheibe brauchst.
Gruß, Jan
|
|
|
leon81 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.07.2011, 12:02
Titel:
|
 |
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|