This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

 Documentation /  Mathematica /  Das Mathematica Buch /  Die Prinzipien von Mathematica /  Die Struktur von Grafik und Ton /

Grafik-Primitiven für TextDie Darstellung von Ton

2.9.17 Fortgeschrittenes Thema: Farbausgabe

Spezifikationen von Farbe für unterschiedliche Arten von Ausgabegeräten

Wenn Sie in Mathematica Grafik-Ausgabe erzeugen, gibt es entsprechend den unterschiedlichen Ausgabegeräten unterschiedliche Farbspezifikationen. Mitunter konvertieren Ausgabegeräte eine Form der Farbspezifikation möglicherweise automatisch in eine andere. Aber Mathematica stellt Grafikanweisungen zur Verfügung, mit denen Sie passende Farbspezifikationen für bestimmte Geräte direkt erzeugen können.

Farbanweisungen in Mathematica

Jede Farbanweisung in Mathematica ergibt eine definierte Farbanweisung in dem PostScript-Code, den Mathematica an Ihr Ausgabegerät schickt. So ergibt zum Beispiel die Mathematica-Anweisung RGBColor die PostScript-Anweisung setrgbcolor. Die endgültige Verarbeitung der PostScript-Farbanweisungen wird durch Ihr Ausgabegerät und den benutzten PostScript-Interpreter bestimmt.

Trotzdem werden die in den Mathematica-Farbanweisungen spezifizierten Parameter in den meisten Fällen ziemlich direkt eingesetzt, um die Intensitäten oder Dichten der Komponenten der Farbausgabe festzulegen.

Wenn dies getan ist, so sollte man sich bewußt machen, daß ein gegebener Parametersatz in einer Mathematica-Farbanweisung unterschiedlich wahrgenommene Farben auf verschiedenen Ausgabegeräten ergeben kann. Die tatsächlichen Intensitäten der Rot-, Grün- und Blau-Komponenten werden sich zum Beispiel bei verschiedenen Farbbildschirmen unterscheiden, auch wenn die Einstellungen für diese Komponenten dieselben sind. Derartige Unterschiede treten auch auf, wenn die Helligkeit oder der Kontrast eines bestimmten Farbbildschirms verändert wird.

Außerdem sollten Sie bedenken, daß die vollständige „Skala" der Farben, die Sie durch Variation der Parameter erzeugen können, kleiner ist, oft sogar wesentlich, als die Farbskala, die vom menschlichen visuellen System wahrgenommen werden kann. Obwohl der Raum der Farben, die wir wahrnehmen können, durch drei Parameter beschrieben werden kann, ist es unmöglich, alle Teile dieses Raumes durch eine Mischung einer festen Anzahl „Primärfarben" zu erreichen.

Für verschiedene Typen von Ausgabegeräten werden in der Regel verschiedene Primärfarben-Sätze zusammengestellt. Farbbildschirme, die mit emittiertem oder transmittiertem Licht arbeiten, verwenden in der Regel Rot, Grün und Blau als Primärfarben. Farbdrucker, die mit reflektiertem Licht arbeiten, verwenden hingegen in der Regel Zyan, Magenta, Gelb und Schwarz als Primärfarben. Wenn ein Farbbild gedruckt wird, werden in der Regel vier Arbeitsgänge durchlaufen, wobei in jedem eine der Primärfarben aufgetragen wird.

Während also RGBColor und Hue natürliche Farbspezifikationen für Farbbildschirme sind, ist CMYKColor die natürliche Spezifikation für den Farbdruck.

In der Voreinstellung nimmt Mathematica die Farbspezifikationen, die Sie angeben, und benutzt sie direkt. Mit der Option ColorOutput können Sie jedoch Mathematica anweisen, die Farbspezifikationen, die Sie angeben, in solche zu konvertieren, die für eine bestimmte Art von Ausgabegerät geeignet sind.

Konvertierungen der Farbausgabe

Eines der kompliziertesten Themen der Farbausgabe ist die Ausführung der „Farbseparation", die benötigt wird, um eine in den Primärfarben Rot, Grün und Blau gegebene Farbe mittels der Druckerfarben Zyan, Magenta, Gelb und Schwarz wiederzugeben. Mathematica verfügt über einen eingebauten Algorithmus für diese Konvertierung. Der Algorithmus basiert auf einer Approximation der typischen Monitorfarben und des Standardsatzes von Prozeßfarben, die beim Vierfarbendruck verwendet werden. Beachten Sie, daß die Farbwerte dieser Druckerschwärzen nicht einmal ungefähr komplementär zu typischen Monitorfarben sind, und daß die konkrete Transformation recht nichtlinear ist.

Mathematica unterstützt von sich aus zwar eine Reihe Farbkonvertierungen, Sie können aber mit ColorOutput -> f auch Ihre eigenen Farbkonvertierungen spezifizieren. Mit dieser Optionseinstellung wird die Funktion f automatisch auf jede Farbanweisung angewandt, die von Mathematica erzeugt wird.

Beachten Sie: Obwohl alle der oben erwähnten Farbanweisungen bei der Konstruktion von Grafik-Objekten benutzt werden können, so wird doch die Berechnung der simulierten Beleuchtung in Mathematica immer mit RGBColor durchgeführt. Deshalb werden alle Farbanweisungen automatisch in diese Form konvertiert, wenn simulierte Beleuchtung verwendet wird.

Dies definiert eine Transformation für RGBColor-Objekte, die die Rot-Komponente herauszieht und sie quadriert.

In[1]:= rot[RGBColor[r_, g_, b_]] = GrayLevel[r^2]

Out[1]=

Dies gibt an, daß rot einfach jede GrayLevel-Spezifikation quadriert.

In[2]:= rot[GrayLevel[g_]] = GrayLevel[g^2]

Out[2]=

Dies zeichnet die quadrierte Rot-Komponente, statt die übliche Transformation von Farbe in Schwarz und Weiß zu benutzen.

In[3]:= Plot3D[Sin[x + y], {x, -3, 3}, {y, -3, 3},
ColorOutput -> rot]

Out[3]=

Beachten Sie, daß Sie bei Angabe einer eigenen ColorOutput-Transformation spezifizieren müssen, wie die Transformation auf jede Farbanweisung wirken soll, die sich bei der Bilderstellung ergibt. Für dreidimensionale Diagramme, die mit simulierter Beleuchtung schattiert sind, müssen Sie in der Regel die Transformation zumindest für RGBColor und GrayLevel angeben.

Grafik-Primitiven für TextDie Darstellung von Ton