|
SurfaceColor
SurfaceColor[dcol] ist eine dreidimensionale Grafikanweisung, die bestimmt, daß die nachfolgenden Polygone als diffuse Reflektoren für Licht der Farbe dcol agieren sollen.
SurfaceColor[dcol, scol] bestimmt, daß außerdem eine Komponente spiegelnder Reflexion enthalten sein soll, wobei die Farbe durch scol spezifiziert wird.
SurfaceColor[dcol, scol, n] bestimmt, daß die Reflexion mit dem Exponenten n erfolgen soll.
SurfaceColor-Anweisungen geben Oberflächeneigenschaften an, die die Wirkung von simulierter Beleuchtung auf Polygone festlegen.
SurfaceColor-Anweisungen können innerhalb von FaceForm-Anweisungen erscheinen.
Ist keine SurfaceColor-Anweisung angegeben, wird angenommen, daß Polygone weiße diffuse Reflektoren von Licht sind, die das Lambertsche Reflexionsgesetz erfüllen, so daß die Intensität reflektierten Lichtes mal der Intensität des einfallenden Lichtes ist, wobei der Winkel zwischen der Richtung des einfallenden Lichtes und der Polygon-Normalen ist. Ist , so gibt es kein reflektiertes Licht.
SurfaceColor[GrayLevel[a]] gibt an, daß Polygone als diffuse Reflektoren agieren sollen, jedoch mit Albedo a. Die Intensität des reflektierten Lichtes ist deshalb a-mal der Intensität des einfallenden Lichtes, multipliziert mit , und von derselben Farbe.
SurfaceColor[RGBColor[r, g, b]] gibt an: Die roten, grünen und blauen Komponenten des reflektierten Lichtes sollten jeweils r, g und b mal denen des einfallenden Lichtes, multipliziert mit , sein.
Das zweite Element in SurfaceColor[dcol, scol] bestimmt eine Komponente spiegelnder Reflexion. scol muß eine GrayLevel, Hue oder RGBColor-Spezifikation sein. Die Farbkomponenten von scol liefern die Anteile jeder Farbkomponente in der einfallenden Intensität, die von der Oberfläche spiegelungsartig reflektiert werden.
Der Parameter n liefert den Spiegel-Exponenten. Die Intensität spiegelartig im Winkel von der Spiegelreflexionsrichtung reflektierten Lichtes nimmt bei größer werdendem wie ab. Sie ist Null für .
Für reale Materialien liegt n in der Regel zwischen ungefähr 1 und einigen Hundert. Bei einem groben polygonalen Gitternetz sind Werte von n unter 10 gewöhnlich am geeignetsten. Der Vorgabewert für n ist 1.
Mathematica implementiert eine Version des Phong-Beleuchtungsmodells, bei der die Intensität reflektierten Lichtes schematisch durch gegeben ist.
Die Lichtintensität von diffuser und Spiegelreflexion wird jeweils für jede Farbkomponente linear addiert. Die schließlich für ein bestimmtes Polygon gezeigte Farbe ist die Summe der Beiträge von jeder Lichtquelle sowie des Streulichtes.
Siehe Das Mathematica Buch: 2.9.12.
Siehe auch: Lighting, LightSources, AmbientLight.
|