PatentDe  


Dokumentenidentifikation DE102006013860B4 04.09.2008
Titel Verfahren und Vorrichtung zur Erzeugung einer räumlichen Darstellung
Anmelder Daimler AG, 70327 Stuttgart, DE
Erfinder Hahn, Jörg, Dr.rer.nat., 70771 Leinfelden-Echterdingen, DE;
Polthier, Konrad, Prof. Dr., 14129 Berlin, DE
DE-Anmeldedatum 23.03.2006
DE-Aktenzeichen 102006013860
Offenlegungstag 27.09.2007
Veröffentlichungstag der Patenterteilung 04.09.2008
Veröffentlichungstag im Patentblatt 04.09.2008
IPC-Hauptklasse G06T 15/50(2006.01)A, F, I, 20060323, B, H, DE

Beschreibung[de]

Die Erfindung betrifft ein Verfahren, eine Datenverarbeitungsanlage und ein Computerprogramm-Produkt zum automatischen Erzeugen einer Darstellung eines beleuchteten physikalischen Gegenstands auf einem Bildschirmgerät einer Datenverarbeitungsanlage.

Aus "Illumination and Shading, Slides 1-36 + Bibliography, Light Sources, Empirical Illumination, Shading, Transforming Normals. Lecture 15. Slide 2.6.837 Fall 2001" sind unterschiedliche Arten von Lichtquellen, wie z. B. Punktlichtquellen und Flächenbeleuchtungen bekannt. Weiterhin werden Reflektionsmodelle, Modelle zum Schattenwurf, sowie die Bildung von Flächenelementen und deren Normalen beschrieben.

Aus "Graphics: Reflection Model, Graphics Lab, Korea University, 2004, Pgs. 1–21 + Bibliography" sind unterschiedliche Beleuchtungstypen, wie diese im Bereich der Computergrafik zum Einsatz kommen, bekannt. Es wird ambientes, diffuses oder Lambert'sches Licht, reflektiertes und gebrochenes Licht beschrieben. Weiterhin ist es daraus bekannt, dass anhand von einzelnen Intensitäten unterschiedlicher Beleuchtungstypen, die in einer einzelnen oder mehreren Beleuchtungsquelle(n) enthalten sind, eine daraus resultierende Gesamtintensität ableitbar ist.

Aus WO 2005/124695 A2 ist ein Verfahren zur automatischen Erzeugung einer räumlichen Darstellung eines durch diffuses Licht beleuchteten Körpers bekannt. Dabei werden eine Beleuchtungsrichtung einer auf den Körper einwirkenden Beleuchtung sowie ein rechnerverfügbares dreidimensionales Oberflächenmodell des Körpers vorgegeben. Weiterhin wird eine winkelabhängige Helligkeitsfunktion vorgegeben. Im Rahmen des Verfahrens wird das Oberflächenmodell in Flächenelemente zerlegt. Zu jedem Flächenelement wird anhand der Helligkeitsfunktion ein Helligkeitswert bestimmt und unter Verwendung der Flächenelemente und ihrer Helligkeitswerte die dreidimensionale Darstellung des Körpers derart erzeugt, dass ein Flächenelement umso heller dargestellt wird, je größer sein Helligkeitswert ist.

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren mit den Merkmalen des Oberbegriffs des Anspruchs 1 bereitzustellen, durch die eine sehr realistische Darstellung mit geringem Rechenaufwand erzeugt wird.

Die Aufgabe wird durch ein Verfahren gemäß Anspruch 1 gelöst. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.

Eine dreidimensionale rechnerverfügbare Darstellung eines durch diffuses Licht beleuchteten Gegenstandes wird automatisch erzeugt. Die diffuse Beleuchtung weist eine Lichtintensität auf, die rotationssymmetrisch zu einer vorgegebenen Beleuchtungsrichtung ist.

Vorgegeben werden diese Beleuchtungsrichtung sowie ein rechnerverfügbares Oberflächenmodell des Gegenstandes. Dieses Oberflächenmodell beschreibt die Oberfläche, die die Beleuchtung reflektiert und in der zu erzeugenden Darstellung gezeigt werden soll.

Um die Darstellung zu erzeugen, wird weiterhin vorgegeben:

  • – eine erste Lichtintensität als Intensität der Beleuchtung aus einer ersten Richtung,
  • – eine zweite Lichtintensität als Intensität der Beleuchtung aus einer zweiten Richtung,
  • – eine erste Helligkeitsfunktion, die die Wirkung der Beleuchtung aus der ersten Richtung beschreibt, und
  • – eine zweite Helligkeitsfunktion, die die Wirkung der Beleuchtung aus der zweiten Richtung beschreibt,

Die Darstellung wird durch folgende Schritte erzeugt:

Bildpunkte des Oberflächenmodells werden ausgewählt.

Für jeden ausgewählten Bildpunkt werden folgende Schritte durchgeführt:

  • – Der Winkel zwischen einer Normalen auf dem Oberflächenmodell im Bildpunkt und der Beleuchtungsrichtung wird berechnet.
  • – Ein erster Helligkeitswert des Bildpunkts als Funktionswert, den die erste Helligkeitsfunktion für den Winkel zwischen der Normalen und der Beleuchtungsrichtung annimmt, wird berechnet.
  • – Ein zweiter Helligkeitswert des Bildpunkts als Funktionswert, den die zweite Helligkeitsfunktion für den Winkel zwischen der Normalen und der Beleuchtungsrichtung annimmt, wird berechnet.
  • – Eine Linearkombination des ersten Helligkeitswerts und des zweiten Helligkeitswerts berechnet wird, wobei die beiden Faktoren der Linearkombination von der ersten Lichtintensität und/oder der zweiten Lichtintensität abhängen, wird berechnet.
  • – Ein Gesamt-Helligkeitswert des Bildpunkts wird unter Verwendung der Linearkombination dergestalt berechnet wird, daß der Helligkeitswert um so größer ist, je größer die Linearkombination ist.
  • – Die Darstellung wird unter Verwendung des Oberflächenmodells, der ausgewählten Bildpunkte und deren Gesamt-Helligkeitswerte dergestalt erzeugt,

    daß ein Bildpunkt um so heller dargestellt wird, je größer sein Helligkeitswert ist.

Im Folgenden wird ein Ausführungsbeispiel der Erfindung anhand der beiliegenden Figuren näher beschrieben. Dabei zeigen:

1 eine beispielhafte Architektur einer Datenverarbeitungsanlage zur Durchführung des Verfahrens;

2 vier Graphen der Funktion ICOSN für vier Parameter;

3 die Lichtverteilungsfunktion, die Helligkeitsfunktion und einige Glanzlichtfunktionen für den isotropen Himmel;

4 die Lichtverteilungsfunktion, die Helligkeitsfunktion und einige Glanzlichtfunktionen für den cosinus-förmigen Himmel;

5 die Berechnung des Winkels zwischen dem gespiegelten Betrachtungsrichtungs-Vektor und dem Richtungsvektor.

Das Ausführungsbeispiel bezieht sich auf eine beispielhafte Anwendung des Verfahrens zum Konstruieren von Kraftfahrzeugen. Der Gegenstand ist in diesem Ausführungsbeispiel ein Kraftfahrzeug oder ein Kraftfahrzeug-Bestandteil. Durch das Verfahren wird eine Darstellung erzeugt, die zeigt, wie das Kraftfahrzeug bei Beleuchtung durch eine diffuse Lichtquelle aussieht. Die Lichtquelle ist in diesem Ausführungsbeispiel vorzugsweise diffuses Licht, das von Tageslicht stammt.

1 zeigt eine beispielhafte Architektur einer Datenverarbeitungsanlage zur Durchführung des Verfahrens. Diese Datenverarbeitungsanlage umfaßt in diesem Beispiel folgende Bestandteile:

  • – eine Recheneinheit 1 zur Durchführung von Berechnungen,
  • – ein als Kathodenstrahl-Bildschirm ausgestaltetes Bildschirmgerät 2,
  • – einen Datenspeicher 3, auf den die Recheneinheit 1 über eine Informationsweiterleitungsschnittstelle Lesezugriff hat,
  • – ein erstes Eingabegerät in Form einer DV-Maus 4, die drei Tasten aufweist,
  • – ein zweites Eingabegerät in Form einer Tastatur 5 mit Tasten und
  • – eine Graphikkarte 6, die die Eingangssignale für das Bildschirmgerät 2 erzeugt.

Das Bildschirmgerät 2 stellt einen physikalischen Gegenstand dadurch dar, daß es eine Darstellung anzeigt, die aus Bildpunkten mit unterschiedlichen Lichtintensitäten besteht. Die Lichtintensität, mit der das Bildschirmgerät 2 einen Bildpunkt anzeigt, hängt von einem Eingangssignal für diesen Bildpunkt ab.

Das Bildschirmgerät 2 vermag ein Eingangssignal nur dann zu verarbeiten und in eine Lichtintensität umzusetzen, wenn das Eingangssignal in einer vorgegebenen Menge verarbeitbarer Eingangssignale liegt. Beispielsweise ist das Eingangssignal ein RGB-Vektor (RGB = red – green – blue).

Im Datenspeicher 3 sind ein rechnerverfügbares dreidimensionales Oberflächenmodell (8) des Gegenstandes, also des Kraftfahrzeugs oder des Bestandteils, sowie eine rechnerverfügbare Beschreibung der Beleuchtung dieses Gegenstandes abgespeichert.

Das Oberflächenmodell 8 beschreibt wenigstens näherungsweise die Oberfläche des dreidimensionalen Gegenstands. Dieses Oberflächenmodell 8 umfaßt alle von außen sichtbaren Ausprägungen des Gegenstands, aber nicht sein Innenleben. Dieses Oberflächenmodell 8 wird z. B. aus einem rechnerverfügbaren dreidimensionalen Konstruktionsmodell (CAD-Modell) des Gegenstands erzeugt. Das Oberflächenmodell 8 läßt sich statt dessen durch Abtasten eines physikalischen Exemplars oder physikalischen Modells des Gegenstands generieren, falls ein solches bereits verfügbar ist.

Das Oberflächenmodell 8 ist in eine große Menge von Flächenelementen zerlegt. Vorzugsweise haben die Flächenelemente die Form von Dreiecken, aber auch Vierecke oder andere Flächen sind möglich. Beispielsweise wird die Oberfläche des Oberflächenmodells 8 vernetzt, so daß Finite Elemente in Form von Flächenelementen entstehen. Die Methode der Finiten Elemente ist z. B. aus „Dubbel – Taschenbuch für den Maschinenbau", 20. Auflage, Springer-Verlag, 2001, C 48 bis C 50, bekannt. Im Oberflächenmodell 8 wird eine bestimmte Menge von Punkten festgelegt, die Knotenpunkte heißen. Als Finite Elemente werden diejenigen Flächenelemente bezeichnet, deren Geometrien durch diese Knotenpunkte definiert werden.

Das Oberflächenmodell 8 wird beispielsweise mittels Spline-Flächen erzeugt. Eine Zerlegung des Oberflächenmodells 8 in Flächenelemente, welche die Form von Dreiecken haben, wird vorzugsweise mit Hilfe einer Tesselierung, das ist eine Zerlegung dieser Spline-Flächen in Dreiecke, erzeugt. Effiziente Verfahren zum Tesselieren werden in T. Akenine-Möller & E. Haines: „Real-Time Rendering", A. K. Peters, 2nd Edition, 2002, S. 512 ff. beschrieben.

Für jedes dieser Flächenelemente wird als Normale mindestens ein Normalenvektor n berechnet. Dieser Normalenvektor n steht senkrecht auf dem Flächenelement und zeigt vom Oberflächenmodell 8 nach außen. Jeder Normalenvektor n wird normiert, so daß ||n || = 1 gilt.

Eine erste Ausführungsform der Zerlegung sieht vor, daß das Oberflächenmodell 8 die Oberfläche des darzustellenden Gegenstandes mit Hilfe von Spline-Flächen beschreibt. Die Flächenelemente werden z. B. durch Tesselierung dieser Spline-Flächen erzeugt. In der Regel haben diese Flächenelemente die Form von Dreiecken. Die Normalenvektoren der Flächenelemente werden als Kreuzprodukt (Vektorprodukt) der partiellen Ableitungen berechnet.

Eine zweite Ausführungsform setzt nicht voraus, daß die Oberfläche des Gegenstandes mittels Spline-Flächen beschrieben ist. Diese zweite Ausführungsform läßt sich auch dann anwenden, wenn das Oberflächenmodell 8 empirisch, z. B. durch Abtasten eines physikalischen Modells, gewonnen wurde. Vorzugsweise sind die Flächenelemente Dreiecke. Jeder Normalenvektor eines dreieckigen Flächenelements wird aus den Dreiecken dergestalt berechnet, daß er senkrecht auf der durch das Dreieck beschriebenen Ebene steht. Oder ein Normalenvektor für einen gemeinsamen Eckpunkt mehrerer Dreiecke wird als Mittelwert der Normalenvektoren der am Eckpunkt zusammentreffenden Dreiecke berechnet. Verfahren zum Bestimmen der Normalenvektoren von Dreiecks-Netzen und zur Aufbereitung für die graphische Darstellung sind beschrieben in T. Akenine-Möller/Haines, a. a. O., S. 447 ff.

Die Normalenvektoren zeigen vorzugsweise vom Oberflächenmodell 8 nach außen. Diese Orientierung läßt sich bei einer orientierbaren Fläche oder bei einem Oberflächenmodell 8 eines festen Körpers immer erreichen. Falls erforderlich, wird an einem Punkt eine Richtung der Normalenvektoren festgelegt, und dann werden sukzessive die Normalenvektoren benachbarter Punkte umgedreht.

Die Berechnung der Normalenvektoren wird einmal durchgeführt. Sie liefert einen Normalenvektor für jedes Flächenelement, z. B. für jeden Eckpunkt der Zerlegung. Solange weder das Oberflächenmodell 8 noch die Zerlegung in Flächenelemente verändert wird, braucht die Berechnung nicht erneut durchgeführt zu werden. Insbesondere ist keine Neuberechnung der Normalenvektoren erforderlich, wenn eine der beiden Beleuchtungsrichtungen oder die weiter unten beschriebene Betrachtungsrichtung geändert wurde, eine Darstellung bei veränderter Beleuchtung berechnet werden soll oder eine Beleuchtungsintensität oder ein Farbton der Beleuchtung oder des Gegenstandes verändert wurde.

In diesem Ausführungsbeispiel wird dem Verfahren eine Beleuchtungsrichtung r durch einen Vektor vorgegeben, der vom Oberflächenmodell 8 weg in Richtung der Lichtquelle, die den darzustellenden Gegenstand beleuchtet, zeigt. Die Lichtquelle ist beispielsweise eine diffuse Lichtquelle, z. B. das Tageslicht bei wenigstens teilweise bedecktem Himmel. Vorzugsweise ist die Intensität der Beleuchtung rotationssymmetrisch bezüglich einer gedachten Rotationsachse durch den Gegenstand.

Der Vektor der Beleuchtungsrichtung r zeigt beispielsweise zum Zenit.

Der Richtungsvektor r liegt in dieser Ausgestaltung auf der Rotationsachse der rotationssymmetrischen Beleuchtung. Beispielsweise wird die Beleuchtungsrichtung durch einen Richtungsvektor vorgegeben, der vom Oberflächenmodell weg zeigt und auf der Rotationsachse liegt. Der Richtungsvektor r zeigt also vom Gegenstand weg in Richtung der Lichtquelle, z. B. in Richtung zur Sonne oder zum Zenit. Weil es zwei Richtungsvektoren gleicher Länge, die auf der Rotationsachse liegen, gibt, wird vorzugsweise derjenige gewählt, der in die Richtung desjenigen Halbraums zeigt, aus dem mehr Licht auf den Gegenstand einwirkt. Beispielsweise zeigt der Richtungsvektor r in Richtung des Zenits, also von der Erdoberfläche senkrecht nach oben. Vorzugsweise wird der Richtungsvektor normiert, d. h. es gilt: ||r || = 1.

Bildpunkte der Flächenelemente und damit des Oberflächenmodells 8 werden ausgewählt. Die zu erzeugende Darstellung 9 umfaßt diese Bildpunkte und zeigt diese mit jeweils einem berechneten Farbton und einer berechneten Lichtintensität an.

Für jeden ausgewählten Bildpunkt BP wird ein Normalenvektor n berechnet. Falls der Bildpunkt BP im Inneren des Flächenelements liegt, wird beispielsweise der Normalenvektor des Flächenelements als der Normalenvektor n des Bildpunkts verwendet. Falls der ausgewählte Bildpunkt BP ein Eckpunkt mehrerer Flächenelemente ist, wird vorzugsweise aus den Normalenvektoren der angrenzenden Flächenelemente ein gemittelter Normalenvektor berechnet und als der Normalenvektor n des Bildpunkts BP verwendet. Hierfür wird die Summe aller Normalenvektoren der angrenzenden Flächenelemente berechnet, und die Summe wird vorzugsweise auf die Länge 1 normiert.

Für jeden ausgewählten Bildpunkt BP wird der cosinus cos(&thgr;) des Winkels &thgr; zwischen dem Normalenvektor n des Bildpunkts und dem vorgegebenen Richtungsvektor r zur diffusen Lichtquelle mittels des Skalarprodukts berechnet, und zwar gemäß der Rechenvorschrift

Vorzugsweise werden sowohl der Normalenvektor n als auch der Beleuchtungsrichtungs-Vektor r auf die Länge 1 normiert, so daß gilt: cos(&thgr;) = <n , r >.

Im Ausführungsbeispiel stammt das diffuse Licht von einer räumlich ausgedehnten Beleuchtung, deren Beleuchtungsintensität rotationssymmetrisch zur vorgegebenen Beleuchtungsrichtung ist. Ein Beispiel ist die Beleuchtung durch Tageslicht bei bedecktem Himmel, und die Beleuchtungsrichtung zeigt in Richtung des Zenits, also in die Richtung von der Erdoberfläche senkrecht nach oben. Der Himmel leuchtet in dieser Ausgestaltung von oben (nur aus Richtungen oberhalb des Horizonts) und wird als rotationssymmetrisch angenommen.

Die räumlich ausgedehnte Beleuchtung wird in Beleuchtungs-Flächenelemente zerlegt. Die Helligkeit eines derartigen Beleuchtungs-Flächenelements ist wegen der Rotationssymmetrie der Beleuchtung nur abhängig vom Winkel &zgr; zwischen dem Vektor vom Gegenstand zum Beleuchtungs-Flächenelement und dem vorgegebenen Richtungsvektor r , der in Richtung der Beleuchtungsrichtung von der Oberfläche weg zeigt und auf einer Rotationsachse der rotationssymmetrischen Beleuchtung liegt. Insbesondere im Falle der Beleuchtung durch diffuses Tageslicht ist die Beleuchtungsintensität unterhalb des Horizonts, d. h. für Winkel &zgr; größer als 90 Grad, gleich Null.

Die diffuse Lichtquelle wird durch eine Lichtverteilungsfunktion LVF beschrieben. In dieser Ausgestaltung wird die Helligkeitsfunktion durch Integration der Lichtverteilungsfunktion LVF der rotationssymmetrischen Beleuchtung berechnet. Wegen der Rotationssymmetrie gilt LVF = LVF(&zgr;), wobei &zgr; der im vorigen Absatz eingeführte Winkel ist.

Vorzugsweise wird dann, wenn die diffuse Lichtquelle der Himmel bei diffuser Beleuchtung ist, die diffuse Lichtquelle und ihre Beschreibung durch die Lichtverteilungsfunktion LVF veranschaulicht. Auf dem Bildschirmgerät 2 wird ein Himmels-Dom in Form einer „Käseglocke" dargestellt. Die Helligkeit und der Farbton werden durch LVF bestimmt. Diese Ausgestaltung ermöglicht es, die Darstellung 9 des Gegenstandes gemeinsam mit der diffusen Beleuchtung darzustellen.

Die auf einem Flächenelement des Oberflächenmodells 8 auftreffende Beleuchtungsintensität LI wird durch Integration über denjenigen Bereich der räumlich ausgedehnten Beleuchtung berechnet, der vom Flächenelement aus sichtbar ist. Die Beleuchtungsintensität LI hängt ab von dem oben beschriebenen Normalenvektor n auf dem Flächenelement. Hierbei wird der Normalenvektor auf eine Länge von 1 normiert, also gilt ||n || = 1.

Insbesondere für Echtzeit-Anwendungen werden vorzugsweise die Einflüsse anderer Objekte, z. B. Transparenz, Schatten und Reflexionen, außer Acht gelassen und nur das jeweilige Flächenelement des Oberflächenmodells 8 und die mindestens eine Lichtquelle berücksichtigt. Dann hängt die auftreffende Beleuchtungsintensität LI nur von dem Normalenvektor n , normiert auf ||n || = 1, auf dem Flächenelement ab.

Daher wird die Beleuchtungsintensität gemäß der Rechenvorschrift

berechnet. Der Integrationsbereich &OHgr; ist der Durchschnitt der oberen Hemisphäre mit dem positiven Normalenraum des Flächenelements und hat die Form eines sphärischen Zwei-Seits (Fläche zwischen zwei Großkreisen). Der Integrationsbereich wird in Beleuchtungs-Flächenelemente zerlegt. Sei für jedes Beleuchtungs-Flächenelement d&OHgr; l ein Richtungsvektor, der vom Gegenstand auf das Beleuchtungs-Flächenelement d&OHgr; zeigt. Dann ist die von diesem Beleuchtungs-Flächenelement stammende Beleuchtung gleich LVF(l )·d&OHgr;. Das Skalarprodukt <n ,l > beschreibt diejenige Komponente des einfallenden Lichts, die senkrecht auf die Oberfläche des Gegenstands auftrifft.

Hängt die Lichtverteilungsfunktion LVF nur von dem Cosinus des Winkels &zgr; ab, so ist LVF(&zgr;) = LVF[cos(&zgr;)]. Dann hängt die Beleuchtungsintensität LI nur vom Winkel &thgr; zwischen Normalenvektor n und Beleuchtungsrichtung r ab. Die Beleuchtungsintensität LI = LI(&thgr;) für ein Flächenelement wird unter Verwendung geeigneter Koordinaten berechnet. Diese Koordinaten sind vorzugsweise sphärische Polarkoordinaten (ϑ, &phgr;). Die Polarkoordinaten sind bevorzugt so ausgerichtet, daß der vorgegebene Richtungsvektor und der Normalenvektor auf dem Äquator (ϑ = 0) liegen und der vorgegebene Richtungsvektor zusätzlich auf dem 0-Meridian (&phgr; = 0) liegt. Dann ist cos(&zgr;) = cos(&phgr;)·cos(ϑ). Falls die Winkel &thgr;, ϑ und &phgr; im Bogenmaß gegeben sind, wird die Beleuchtungsintensität gemäß der Rechenvorschrift:

berechnet. Dieses Integral läßt sich zumindest numerisch berechnen. In vielen Fällen läßt es sich sogar explizit lösen, vorzugsweise unter Verwendung eines Computeralgebra-Programms. Das Ergebnis kann auch in Form einer Tabelle mit Stützpunkten oder als „Environment Map" abgelegt werden. Eine „Environment Map" ist z. B. aus Akenine-Möller/Haines, a. a. O., S. 163 f. bekannt.

Als Helligkeitsfunktion HF des Himmels wird diejenige Leuchtdichte verwendet, die entsteht, wenn das auftreffende Licht durch eine ideal matte und ideal weiße Oberfläche reflektiert wird. Gemäß dem Lambert'schen Cosinus-Gesetz ist die in eine Betrachtungsrichtung v reflektierte Lichtstärke einer ideal matten Oberfläche proportional zu cos(&bgr;). Hierbei ist &bgr; der Winkel zwischen der Betrachtungsrichtung v und einem Normalenvektor n auf der ideal matten Oberfläche. Dies bewirkt, daß die Helligkeit (die Leuchtdichte) einer solchen Oberfläche in allen Richtungen gleich groß ist, d. h. die Helligkeitsfunktion der Beleuchtung hängt nur vom Winkel &thgr; zur Lichtquelle ab: HF = HF(&thgr;).

Die gesamte Lichtstärke, die von einem Flächenelement reflektiert wird, ist

Hierbei beschreibt H die positive Hemisphäre bezüglich des Normalenvektors n .

Eine ideal weiße Oberfläche reflektiert einfallendes Licht vollständig. Daher gilt für eine ideal weiße Oberfläche: LIreflected = LI(&thgr;)

Es ist

Daher ist LI_reflected = LI(&thgr;) = &pgr;·HF(&thgr;). Hieraus folgt, daß die reflektierte Lichtstärke um den Faktor 1/&pgr; kleiner ist als die einfallende Beleuchtungsstärke, d. h. HF(&thgr;) = LI(&thgr;)/&pgr;.

Dem Verfahren wird mindestens eine Helligkeitsfunktion HF vorgegeben, die beispielsweise so wie oben beschrieben berechnet wird. Der Begriff der Funktion ist in „Dubbel – Taschenbuch für den Maschinenbau", 17. Aufl., Springer-Verlag 1990, A 4 beschrieben. Eine Funktion ordnet jedem Argument aus einer vorgegebenen Argumentmenge jeweils genau einen Funktionswert zu. Die Helligkeitsfunktion besitzt als Argumentmenge die Winkel von 0 Grad bis 180 Grad einschließlich.

Die mindestens eine vorgegebene Helligkeitsfunktion HF besitzt als Argumentmenge die Winkel von 0 Grad bis 180 Grad (einschließlich). Sie ordnet dem Argument 180 Grad den Funktionswert 0 und jedem Argument kleiner als 180 Grad je genau einen Funktionswert größer oder gleich 0 zu. Die Bildmenge, d. h. die Menge der Funktionswerte, ist also die Menge der reellen Zahlen größer oder gleich 0. Die mindestens eine Helligkeitsfunktion beschreibt die Auswirkung einer Beleuchtung auf einen beleuchteten Gegenstand.

Bevorzugt ist die Helligkeitsfunktion HF monoton fallend, d. h. wenn ein Winkel &thgr;1 kleiner als ein Winkel &thgr;2 ist, so ist HF(&thgr;1) größer oder gleich HF(&thgr;2). Möglich ist aber z. B. auch, daß die Helligkeitsfunktion HF – ausgehend von dem Argument 0 Grad – zunächst bis zu einem Maximum monoton steigend ist und dann wieder monoton fällt.

Bevorzugt wird die Helligkeitsfunktion HF auf das Intervall von 0 bis 1 normiert. Dies bedeutet, daß jeder Funktionswert der Helligkeitsfunktion kleiner oder gleich 1 ist und daß mindestens ein Funktionswert gleich 1 ist.

Vorzugsweise ist die Helligkeitsfunktion eine Funktion des Cosinus des Winkels. Sie hängt nur vom Cosinus, aber nicht vom Winkel selber, ab. In diesem Falle braucht nicht der Winkel berechnet zu werden, sondern nur der Cosinus des Winkels. Der Cosinus des Winkels &agr; zwischen zwei Vektoren a und b wird wie oben beschrieben vorzugsweise mit Hilfe des Skalarprodukts <a , b > gemäß der Formel

Der Winkel &agr; selber braucht nicht berechnet zu werden. Dies vereinfacht und beschleunigt die Berechnung des Funktionswerts der Häufigkeitsfunktion.

Weiterhin wird eine Betrachtungsrichtung v vorgegeben. Beispielsweise wird diese Betrachtungsrichtung direkt vorgegeben. Oder ein Betrachtungspunkt wird vorgegeben, z. B. der Punkt, an dem sich ein Betrachter oder eine Kamera befindet. Die Betrachtungsrichtung v wird als Richtung vom Betrachtungspunkt zum Gegenstand berechnet.

Die zu erzeugende Darstellung 9 zeigt den Gegenstand aus dieser vorgegebenen Betrachtungsrichtung v . Im Falle einer perspektivischen Darstellung per Zentralprojektion ist die Betrachtungsrichtung v die Richtung vom Zentrum der Zentralprojektion auf einen darzustellenden Bereich der Oberfläche des Gegenstandes. Diese Betrachtungsrichtung v kann vom jeweiligen Punkt auf der Oberfläche des Gegenstandes abhängen und mit diesem variieren. Im Falle einer Zentralprojektion wird daher für jeden ausgewählten Bildpunkt jeweils eine Betrachtungsrichtung v berechnet.

Ein beleuchteter physikalischer Gegenstand zeigt Glanzlichter („highlights") auf seiner Oberfläche, auch wenn die Oberfläche relativ matt ist und wenn der Gegenstand nur diffus beleuchtet ist. Ein solches Glanzlicht scheint bei Veränderung der Betrachtungsrichtung über die Oberfläche des Gegenstandes zu laufen.

Vorzugsweise wird zusätzlich die Auswirkung dieses Glanzlichts („highlight") auf die zu erzeugende Darstellung 9 des Gegenstands berücksichtigt. Diese Auswirkung hängt von der vorgegebenen Betrachtungsrichtung v auf den Gegenstand ab.

Vorzugsweise wird ermittelt, welche Flächenelemente des Oberflächenmodells 8 aus dieser Betrachtungsrichtung v sichtbar sind und daher in der zu erzeugenden Darstellung 9 angezeigt werden. Nur aus solchen Flächenelementen werden Bildpunkte BP ausgewählt. Damit wird vermieden, daß unnütze Berechnungen durchgeführt werden – nämlich Berechnungen für Bildpunkte, die in der Darstellung 9 gar nicht sichtbar sind.

Vorzugsweise wird für jedes sichtbare Flächenelement mindestens ein Bildpunkt BP ausgewählt. Beispielsweise werden die Eckpunkte jedes sichtbaren Flächenelements ausgewählt.

Im Folgenden wird die bevorzugte Ausgestaltung beschrieben, bei der die durch die Beleuchtungen hervorgerufenen Glanzlichter berücksichtigt werden. Eine ideal matte Oberfläche wirft einfallendes Licht in alle Richtungen gleichmäßig zurück und verhält sich gemäß dem Lambert-Gesetz. Eine ideal spiegelnde Oberfläche wirft einen einfallenden Lichtstrahl in genau einer Richtung zurück. Gemäß dem Reflexionsgesetz für eine ideal spiegelnde Oberfläche ist der Einfallswinkel gleich dem Ausfallswinkel. Eine reale Oberfläche verhält sich weder wie eine ideal matte noch wie eine ideal spiegelnde Oberfläche. Vielmehr streut auch eine glänzende Oberfläche das ausfallende Licht. Dies führt dazu, daß, die zurückgeworfenen Lichtstrahlen sich um die Richtung idealer Reflexion verteilen. Aus einem einfallenden Lichtstrahl entsteht so ein Bündel ausfallender Strahlen, aus einem Bündel parallel einfallender Strahlen ein ganzer Glanzfleck. Das erfindungsgemäße Verfahren erzeugt diesen Glanzfleck realitätsnah und mit geringem Rechenaufwand.

Eine reale Oberfläche streut einen Teil des einfallenden Licht matt und wirft einen anderen Teil als Glanzlicht zurück. Das erfindungsgemäße Verfahren bildet dieses Verfahren realitätsnah ab und berücksichtigt sowohl den matten als auch den glänzenden Anteil der Oberfläche.

Glanzlichter, die durch die diffuse rotationssymmetrische Beleuchtung auf der Oberfläche des dargestellten Gegenstandes hervorgerufen werden, werden in der erzeugten Darstellung realitätsnah abgebildet. Dies resultiert vor allem daher, daß auch solche Bereiche der Oberfläche mit einem Glanzlicht versehen werden, die von der Beleuchtungsrichtung r abgewandt sind und daher der Winkel &rgr; zwischen der gespiegelten Betrachtungsrichtung s und der Beleuchtungsrichtung r größer als 90 Grad ist.

Die räumlich ausgedehnte Beleuchtung beleuchtet den Gegenstand von einer Hemisphäre HS2 aus, also aus dem Teil der Sphäre, der durch eine Ebene im Raum abgegrenzt wird, also in einem „Halbraum" liegt. Im Falle der Beleuchtung durch Tageslicht ist diese Ebene die näherungsweise als eben angenommene Erdoberfläche.

Sei r ein Richtungsvektor, der parallel zur Beleuchtungsrichtung verläuft und vom Oberflächenmodell 8 weg in Richtung der auf den Gegenstand einwirkenden rotationssymmetrischen Beleuchtung zeigt. Die diffuse Beleuchtung ist rotationssymmetrisch bezüglich des vorgegebenen Richtungsvektors r . Sei v ein Vektor, der parallel zur Betrachtungsrichtung der zu erzeugenden Darstellung verläuft und vom Oberflächenmodell weg nach außen zeigt. Die räumlich ausgedehnte Beleuchtung wird durch eine Lichtverteilungsfunktion LVF, die auf der Hemisphäre definiert ist, beschrieben. Die Hemisphäre HS2 Sei für ein Flächenelement des Oberflächenmodells n ein Normalenvektor, der bezogen auf das Oberflächenmodell nach außen zeigt. Der Betrachtungsrichtungs-Vektor v wird um den Normalenvektor n gespiegelt. Der ideal gespiegelte Betrachtungsrichtungs-Vektor v wird mit s bezeichnet. Das gesamte Glanzlicht, das vom Flächenelement in Richtung von v reflektiert wird, wird als gleitender Mittelwert der durch LVF beschriebenen Beleuchtungsintensität um die ideal gespiegelte Betrachtungsrichtung s herum berechnet.

Die Helligkeit eines derartigen Beleuchtungs-Flächenelements ist wegen der Rotationssymmetrie der Beleuchtung nur abhängig vom Winkel &zgr; = &zgr;(l ) zwischen dem Vektor l vom Gegenstand zum Beleuchtungs-Flächenelement und dem vorgegebenen Richtungsvektor r . Insbesondere im Falle der Beleuchtung durch diffuses Tageslicht ist die Beleuchtungsintensität unterhalb des Horizonts, d. h. für Winkel &zgr; größer als 90 Grad, gleich Null.

Weiterhin wird eine rotationssymmetrische Glanzlicht-Streuungsfunktion GSF vorgegeben. Diese hängt nur ab vom Winkel &sgr; = &sgr;(l , s ), das ist der Winkel zwischen dem Vektor l zum Beleuchtungs-Flächenelement und dem gespiegelten Betrachtungsrichtungs-Vektor s . Die Glanzlicht-Streuungsfunktion GSF beschreibt, wie ein einfallender Lichtstrahl gestreut reflektiert wird, und umgekehrt, aus welchen Richtungen Lichtstrahlen stammen, die in die Betrachtungsrichtung reflektiert werden.

Das Glanzlicht, das insgesamt vom Flächenelement reflektiert wird, hängt ab von dem Betrachtungsrichtungs-Vektor v und wird gemäß der Rechenvorschrift

berechnet.

Bei exakter Berechnung ist der Integrationsbereich &OHgr; derjenige Teil des Himmels, der von dem Flächenelement aus sichtbar ist, also die Durchschnittsmenge aus der Hemisphäre HS2 mit dem positiven Normalenraum des Flächenelements und dem positiven Halbraum bezüglich des gespiegelten Betrachtungsrichtungs-Vektors s . Dieser Integrationsbereich &OHgr; hat im allgemeinen Fall die Form eines sphärischen Dreiecks (Drei-Seits), das von drei Ebenen begrenzt wird. Die eine Ebene begrenzt die Hemisphäre und steht senkrecht auf dem Richtungsvektor r . Das Flächenelement liegt in der zweiten Ebene, die daher senkrecht auf dem Normalenvektor n steht. Die dritte Ebene steht senkrecht auf dem gespiegelten Betrachtungsrichtungs-Vektor s , der positive Halbraum liegt auf der der Beleuchtungsquelle zugewandten Seite.

Vorzugsweise wird die rotationssymmetrische Glanzlicht-Streuungsfunktion GSF auf 1 normiert. Dies wird erreicht, indem GSF so bestimmt wird, daß

gilt. Hierbei wird über die gesamte Sphäre S2 integriert.

Weil die Glanzlicht-Streuungsfunktion GSF rotationssymmetrisch ist, gilt:

Also wird GSF so bestimmt, daß gilt:

Diese Berechnungsvorschrift wird vereinfacht. Die Vereinfachung liefert eine Glanzlichtfunktion, die nur von dem Winkel &rgr; zwischen dem gespiegelten Betrachtungsrichtungs-Vektor s und dem Richtungsvektor r der Beleuchtung, also dem gespiegelten Vektor in Richtung der Rotationsachse der rotationssymmetrischen Beleuchtung, abhängt.

Bei der Vereinfachung wird der Einfluß des Normalenvektors n auf das Glanzlicht bei der Integration vernachlässigt. Der Normalenvektor n beeinflußt bei der exakten Lösung nicht die zu integrierende Funktion. Der Normalenvektor n beschränkt bei der exakten Lösung lediglich den Integrationsbereich &OHgr; und somit die Auswahl derjenigen Beleuchtungs-Flächenelemente, die zu der Integration beitragen. Denn nur solche Flächenelemente tragen zur Integration bei, die im positiven Normalenraum liegen. Der hauptsächliche Anteil zur Beleuchtungsintensität stammt von den Flächenelementen, die annähernd senkrecht auf der gespiegelten Betrachtungsrichtung s stehen, denn vorzugsweise nimmt die Glanzlicht-Streuungsfunktion GSF für kleine Winkel ihre größten Werte an. Wird die Einschränkung des Integrationsbereichs durch den Normalenvektor n vernachlässigt, so wird der Integrationsbereich &OHgr; vergrößert. Aus dem Drei-Seit &OHgr; wird ein sphärisches Zwei-Seit &Lgr;, nämlich der Durchschnitt der oberen Hemisphäre HS2 mit dem positiven Halbraum der gespiegelten Betrachtungsrichtung s . Die Glanzlichtfunktion GL vereinfacht sich hierdurch zu

Da die reflektierte Betrachtungsrichtung immer im positiven Normalenraum liegt, kommen durch die Vergrößerung des Integrationsbereichs &OHgr; nur Flächenelemente hinzu, die ohnehin einen kleineren Beitrag liefern.

Wenn die drei Vektoren – Normalenvektor n , gespiegelte Betrachtungsrichtung s und Richtungsvektor l – coplanar sind, also alle in einer Ebene liegen, so hat der durch die drei Vektoren bestimmte Integrationsbereich &OHgr; bereits die Form eines sphärischen Zwei-Seits. Falls zusätzlich der Normalenvektor n zwischen dem Richtungsvektor l und der gespiegelten Betrachtungsrichtung s liegt, so stimmen der vereinfachte Integrationsbereich &Lgr; und der korrekte Integrationsbereich &OHgr; überein. Der exakte Integrationsbereich &OHgr; ist dann nämlich der Durchschnitt der oberen Hemisphäre HS2 mit dem positiven Halbraum der gespiegelten Betrachtungsrichtung s . Und dann stimmt das vereinfachte Integral mit dem ursprünglichen überein.

Das obige Integral wird gelöst. Die Lösung hängt nur vom Winkel &rgr; = &rgr;(r , s ) ab. Dadurch wird eine Glanzlichtfunktion GF = GF(&rgr;) = GL(v ) generiert.

Vorzugsweise wird die Glanzlichtfunktion GF unter Verwendung sphärischer Polarkoordinaten (ϑ, &phgr;) berechnet. Die Polarkoordinaten sind bevorzugt so ausgerichtet, daß der vorgegebene Richtungsvektor r der Beleuchtungsrichtung und die gespiegelte Betrachtungsrichtung s auf dem Äquator (ϑ = 0) liegen und der vorgegebene Richtungsvektor r zusätzlich auf dem 0-Meridian (&phgr; = 0) liegt. Dann ist

Vorzugsweise hängen sowohl die Lichtverteilungsfunktion LVF als auch die Glanzlicht-Streuungsfunktion GSF nur vom Cosinus der Winkel &zgr; bzw. &sgr; ab. Dann gilt LVF(&zgr;) = LVF[cos(&zgr;)] und GSF(&sgr;) = GSF[cos(&sgr;)]. Diese beiden Funktionen lassen sich mit Hilfe der Formeln, die in den oben eingeführten Polarkoordinaten gültig sind, wie folgt vereinfachen: Es gilt: cos(&zgr;) = cos(ϑ)cos(&phgr;) und cos(&sgr;) = cos(ϑ)·cos(&phgr; – &thgr;). Die Glanz-Lichtfunktion GF wird gemäß der folgenden Rechenvorschrift berechnet:

Dieses Integral läßt sich zumindest numerisch berechnen. In vielen Fällen läßt es sich sogar explizit lösen, vorzugsweise unter Verwendung eines Computeralgebra-Programms. Das Ergebnis kann auch in Form einer Tabelle mit Stützpunkten oder als „Environment Map" abgelegt werden. Eine „Environment Map" ist z. B. aus Akenine-Möller/Haines, a. a. O., S. 163 f. bekannt. Vorzugsweise hat die Glanzlicht-Streuungsfunktion &sgr; → GSF(&sgr;) glockenförmige Gestalt, nimmt ihr Maximum für &sgr; = 0 an, fällt monoton ab und ist gleich 0 für Winkel &sgr; > 90 Grad. Letzteres besagt, daß die Glanzlicht-Streuungsfunktion GSF auf der Sphäre l → GSF(&sgr;(l , s )) ihren Träger in der positiven Hemisphäre um s hat.

Eine Ausgestaltung sieht vor, als Glanzlicht-Streuungsfunktion GSF die Funktion

für &sgr; <= 90 Grad und GSF(&sgr;) = 0 für &sgr; > 90 Grad zu verwenden. Als Normierungsfaktor wird
verwendet, denn
und somit
Hierbei ist HS2 der Träger der Glanzlicht-Streuungsfunktion GSF, nämlich die positive Hemisphäre bezüglich der gespiegelten Betrachtungsrichtung s .

In dieser Ausgestaltung tritt ein Koeffizient m auf. Dieser Koeffizient hängt vom Material der Oberfläche des Gegenstandes ab. Je „härter" dieses Material ist, desto stärker konzentriert sich das erzeugte Glanzlicht auf die Richtung der idealen Reflexion, und desto stärker wird die Glanzlicht-Streuungsfunktion GSF = GSF[m] konzentriert.

Für m → ∞ wird das Glanzlicht zum ideal reflektierten Himmelslicht, also gilt:

Diese Glanzlicht-Streuungsfunktion GSF führt bei Verwendung der oben eingeführten Polarkoordinaten zu folgender Glanzlichtfunktion GF:

In dieser Formel wird der Winkel &rgr; im Bogenmaß angegeben. In den folgenden Rechenvorschriften wird der Winkel in Grad angegeben. Bekanntlich wird ein Winkel von Grad in Bogenmaß umgerechnet, indem er mit &pgr;/180 multipliziert wird.

Im Folgenden wird eine bevorzugte Ausgestaltung, um die Wirkung der Beleuchtung durch die diffuse Lichtquelle zu beschreiben, dargestellt. Vorgegeben sind zwei verschiedene Lichtintensitäten LI_LQ_z und LI_LQ_h, die zusammen die Beleuchtung durch die diffuse Lichtquelle festlegen. Im Falle von diffusem Tageslicht beschreibt LI_LQ_z die Lichtintensität der diffusen Beleuchtung in Richtung des Zenits, und LI_LQ_h beschreibt die Lichtintensität der diffusen Beleuchtung in Richtung des Horizonts.

In einer Ausführungsform gibt ein Benutzer diese beiden Lichtintensitäten vor. Beispielsweise weist die Datenverarbeitungsanlage von 1 einen Schieberegler als ein Eingabegerät auf. Oder auf dem Bildschirmgerät 2 wird ein virtueller Schieberegler angezeigt, den ein Benutzer mit den Eingabegeräten 4 und/oder 5 benutzen kann und dadurch die beiden Lichtintensitäten stufenlos verändern kann.

Die diffuse Lichtquelle wird vorzugsweise durch drei Funktionen beschrieben, nämlich durch die Lichtverteilungsfunktion &zgr; → LVF(&zgr;), die Helligkeitsfunktion &thgr; → HF(&thgr;) und die Glanzlichtfunktion &rgr; → GF(&rgr;).

Der Winkel &thgr; wird im Folgenden stets im Bogenmaß angegeben und liegt zwischen 0 und &pgr;.

Die Lichtverteilfunktion LVF hängt in dieser bevorzugten Ausgestaltung nur von cos(&zgr;) ab und hat die Form LVF(&zgr;) = LI_LQ_h·[1 – cos(&zgr;)] + LI_LQ_z·cos(&zgr;) = LI_LQ_h + (LI_LQ_z – LI_LQ_h)·cos(&zgr;)

Hieraus resultiert die Helligkeitsfunktion HF = HF(&thgr;) mit HF(&thgr;) = LI_LQ_h·HF1(&thgr;) + (LI_LQ_z – LI_LQ_h)·HFc(&thgr;).

HF ist also eine Linearkombination zweier anteiliger Helligkeitsfunktionen HF1 und HFc. Die beiden anteiligen Helligkeitsfunktionen HF1 und HFc werden vorzugsweise gemäß folgenden Rechenvorschriften berechnet:

Auch die Glanzlichtfunktion GF ist eine Linearkombination zweier anteiliger Glanzlichtfunktionen und hat die Gestalt GF(&rgr;) = LI_LQ_h·GF1(&rgr;) + (LI_LQ_z – LI_LQ_h)·GFc(&rgr;).

Die beiden anteiligen Glanzlichtfunktionen GF1 und GFc werden gemäß folgenden Rechenvorschriften berechnet:

Der Parameter m hängt wie oben beschrieben vom Material der Oberfläche des Gegenstandes ab. ICOSN hängt vom Winkel &rgr; und von der Zahl m ab und wird gemäß der Berechnungsvorschrift

berechnet.

Zwar ist es möglich, dieses Integral exakt mit Hilfe einer analytischen Rechenvorschrift zu berechnen. Bevorzugt wird ICOSN(m, &rgr;) aber rekursiv mit Hilfe folgender Vorschrift berechnet, die für n = 1, 2, ..., m gilt:

HF1 und GF1 sind die Helligkeitsfunktion bzw. die Glanzlichtfunktion des isotropen Himmels. HFc und GFc sind die Helligkeitsfunktion bzw. die Glanzlichtfunktion des „cosinus-förmigen" Himmels.

Der isotrope Himmel weist die Lichtverteilungsfunktion LVF mit LVF(&zgr;) = 1 für &zgr; < 90 Grad und LVF(&xgr;) = 0 für &zgr; ≥ 90 Grad auf. Hieraus resultiert die Helligkeitsfunktion HF_iso des isotropen Himmels mit

Die Glanzlichtfunktion GF_iso des isotropen Himmels ist

In allen diesen Glanzlichtfunktionen tritt die Funktion ICOSN auf, die vom Winkel &rgr; sowie vom Parameter m abhängt. 2 zeigt Graphen der Funktion ICOSN für vier Werte von m abhängig vom Winkel &rgr;. Auf der x-Achse ist jeweils der Winkel &rgr; aufgetragen. Gezeigt werden die Graphen für m = 1 (Kurve 151), m = 2 (Kurve 152), m = 8 (Kurve 153), m = 64 (Kurve 154).

3 zeigt die Lichtverteilungsfunktion LVF_iso, die Helligkeitsfunktion HF_iso und einige Glanzlichtfunktionen GF_iso = GF_iso[m] für den isotropen Himmel. In 3 sind auf der x-Achse die Argumente zwischen 0 Grad und 180 Grad eingetragen. Die Lichtverteilungsfunktion LVF_iso des isotropen Himmels ist in 3 durch die Kurve 119 dargestellt, die Helligkeitsfunktion HF_iso durch die Kurve 110. Weiterhin sind die Kurven einiger Glanzlichtfunktionen GF_iso[m] für unterschiedliche Parameter m gezeigt, nämlich für m = 1 (Kurve 111), m = 2 (Kurve 112), m = 8 (Kurve 113) und m = 64 (Kurve 114). Die beiden Kurven 111 und 110 sind identisch.

Der sogenannte „cosinus-förmige Himmel" besitzt die Lichtverteilungsfunktion LVF mit

für &zgr; < 90 Grad und LVF(&zgr;) = 0 für &zgr; ≥ 90 Grad.

Hieraus resultiert die Helligkeitsfunktion HF_cos des cosinus-förmigen Himmels mit

Seine Glanzlichtfunktionen GF_cos hat die Form

4 zeigt die Lichtverteilungsfunktion LVF_cos, die Helligkeitsfunktion HF_cos und einige Glanzlichtfunktionen GF_cos = GF_cos[m] für den cosinus-förmigen Himmel. Die Lichtverteilungsfunktion LVF des cosinus-förmigen Himmels ist in 4 durch die Kurve 129 dargestellt, die Helligkeitsfunktion HF durch die Kurve 120. Weiterhin sind die Kurven einiger Glanzlichtfunktionen GF[m] für unterschiedliche Parameter m gezeigt, nämlich für m = 1 (Kurve 121), m = 2 (Kurve 122), m = 8 (Kurve 123) und m = 64 (Kurve 124). Die Kurven 121 und 120 sind identisch.

Im Folgenden wird beschrieben, wie die Darstellung 9 des Gegenstandes erzeugt wird.

Wie oben beschrieben, werden Bildpunkte der Flächenelemente ausgewählt. Für jeden ausgewählten Bildpunkt BP wird die vorgegebene Betrachtungsrichtung v um die Normale n des Bildpunkts BP gespiegelt. Die Spiegelung bildet das physikalische Reflexionsgesetz einer ideal spiegelnden Oberfläche nach. Die Normale n , die Betrachtungsrichtung v und die gespiegelte Betrachtungsrichtung s liegen alle in einer Ebene. Durch die Spiegelung wird eine gespiegelte Betrachtungsrichtung s generiert.

5 veranschaulicht, wie der Betrachtungsrichtungs-Vektor v gespiegelt wird und wie der Winkel &rgr; zwischen einem Vektor in Richtung der gespiegelten Betrachtungsrichtung s und einem Richtungsvektor r der Beleuchtung berechnet wird. FE ist ein Flächenelement. Der Winkel &agr; zwischen der Normale n und der Betrachtungsrichtung v ist gleich dem Winkel &bgr; zwischen der Normalen n und der gespiegelten Betrachtungsrichtung s .

Vorzugsweise wird die gespiegelte Betrachtungsrichtung s durch die Rechenvorschrift s = 2·cos(&bgr;)·nv berechnet. Hierbei ist cos(&bgr;) der cosinus des Winkels &bgr; zwischen den beiden Vektoren n und v .

Vorzugsweise haben sowohl der Normalenvektor n als auch der Betrachtungsrichtungs-Vektor v die Länge 1, d. h. es gilt ||n || = ||v || = ||s || = 1. Dann vereinfacht sich die Berechnungsvorschrift zu

Hierbei ist <n , v > das Skalarprodukt dieser beiden Vektoren. Denn es gilt: <n, v> = cos(&bgr;)·||n||·||v||.

Berechnet wird der Winkel &rgr; zwischen der gespiegelten Betrachtungsrichtung s und der Beleuchtungsrichtung r .

Für jeden ausgewählten Bildpunkt BP wird ein Helligkeitswert HW_BP berechnet. Dieser Helligkeitswert HW_BP beschreibt die Auswirkung der Beleuchtung durch das diffuse Licht auf den Gegenstand im Bildpunkt BP. Der Helligkeitswert hängt von einem Beleuchtungswert BL_BP und einem Glanzlichtwert GW_BP des Bildpunkts BP ab.

Für jeden ausgewählten Bildpunkt BP wird ein Basis-Farbton FT_BP vorgegeben. Dieser Basis-Farbton FT_BP beschreibt die Mattheit oder diffuse Reflexion, also ein Farbton, der nicht von der Betrachtungsrichtung abhängt. Beispielsweise wird für jedes Flächenelement der oben beschriebenen Zerlegung ein solcher Basis-Farbton vorgegeben, und jeder Bildpunkt des Flächenelements erhält denselben Basis-Farbton. Möglich ist auch, für jeden Eckpunkt eines Flächenelements einen Basis-Farbton vorzugeben und den Basis-Farbton eines Bildpunkts im Inneren durch Interpolation über die Basis-Farbtöne der Eckpunkte zu berechnen. Die Interpolation hängt von der Position des Bildpunkts im Flächenelement ab. Diese Basis-Farbtöne der Bildpunkte lassen sich unabhängig von den Beleuchtungen und deren Farbtönen und Lichtintensitäten festlegen und verändern.

Vorzugsweise wird der Basis-Farbton jedes Bildpunkts BP in Form eines RGB-Vektors vorgegeben. Jeder Basis-Farbton FT_BP in Form eines RGB-Vektors besteht dann aus drei Werten, nämlich einem Rotwert FT_BP_r, einem Grünwert FT_BP_g und einem Blauwert FT_BP_b. Der Rotwert gibt an, welcher prozentuale Anteil von einfallendem rotem Licht reflektiert wird. Entsprechend geben der Grünwert und der Blauwert an, welcher Anteil von grünem bzw. blauem Licht reflektiert wird. Das Verhältnis der Werte zueinander bestimmt den Basis-Farbton. Der Basis-Farbton gibt an, in welcher Farbe und Helligkeit weißes Licht reflektiert wird. Möglich ist auch, den Basis-Farbton mit mehr als drei verschiedenen Spektralwerten zu beschreiben. Im allgemeinen Fall wird der Basis-Farbton jedes Bildpunkts BP als ein Vektor

codiert.

Bevorzugt wird weiterhin für jeden ausgewählten Bildpunkt BP neben dem Basis-Farbton FT_BP auch ein Glanzlicht-Farbton GFT_BP jedes Bildpunkts BP vorgegeben. Auch dieser Glanzlicht-Farbton wird im allgemeinen Fall durch einen Vektor

codiert. Beispielsweise wird der Glanzlicht-Farbton GFT_BP als RGB-Vektor mit dem Rotwert GFT_BP_r, einem Grünwert GFT_BP_g und einem Blauwert GFT_BP_b codiert.

Die beiden vorgegebenen Lichtintensitäten LI_LQ_h und LI_LQ_z werden bevorzugt ebenfalls als Vektoren

bzw.
codiert, beispielsweise als RGB-Vektoren. Die erste Lichtintensität LI_LQ_z hat – bei Codierung als RGB-Vektor – den Rotwert LI_LQ_z_r, den Grünwert LI_LQ_z_g und den Blauwert LI_LQ_z_b. Die zweite Lichtintensität LI_LQ_h hat den Rotwert LI_LQ_h_r, den Grünwert LI_LQ_h_g und den Blauwert LI_LQ_h_b.

Die Lichtverteilfunktion LVF sowie die aus LVF wie oben beschrieben resultierende Helligkeitsfunktion HF und die Glanzlichtfunktion GF werden dann ebenfalls als Vektoren codiert:

und

Auch der Gesamt-Helligkeitswert HW_BP des Bildpunkts BP ist bevorzugt ein Vektor

beispielsweise ein RGB-Vektor mit dem Rotwert HW_BP_r, dem Grünwert HW_BP_g und dem Blauwert HW_BP_b.

Der Beleuchtungswert BL_BP hängt nicht ab von der Betrachtungsrichtung v und von Glanzlichtern. Er ist bevorzugt ebenfalls ein Vektor

beispielsweise ein RGB-Vektor mit dem Rotwert BL_BP_r, dem Grünwert BL_BP_g und dem Blauwert BL_BP_b.

Ein Glanzlichtwert GW_BP des Bildpunkts BP wird berechnet, und zwar als Funktionswert GF(&rgr;) der vorgegebenen Glanzlichtfunktion GF. Der Glanzlichtwert GW_BP ist dann am größten, wenn die gespiegelte Betrachtungsrichtung s parallel zu einer Richtung der stärksten Beleuchtungsintensität der diffusen Beleuchtung verläuft.

Auch der Glanzlichtwert des Bildpunkts BP ist bevorzugt ein Vektor

beispielsweise ein RGB-Vektor mit dem Rotwert GW_BP_r, dem Grünwert GW_BP_g und dem Blauwert GW_BP_b.

Der Beleuchtungswert

wird bevorzugt gemäß der Rechenvorschrift
berechnet. Dieser Vektor wird komponentenweise multipliziert. Im Falle von RGB-Vektoren werden der Rotwert, der Grünwert und der Blauwert gemäß folgender Rechenvorschriften berechnet: BL_BP_r = HF_r(&thgr;)·FT_BP_r BL_BP_g = HF_g(&thgr;)·FT_BP_g BL_BP_b = HE_b(&thgr;)·FT_BP_b

Hierbei ist &thgr; der Winkel zwischen dem Normalenvektor n im Bildpunkt und der Beleuchtungsrichtung r . Der Funktionswert HF(&thgr;) wird bevorzugt einmal berechnet und dann zwischengespeichert und für jede Komponente des Codierungsvektors wiederverwendet.

Der Glanzlichtwert

wird bevorzugt gemäß der Rechenvorschrift
berechnet, und zwar durch komponentenweise Multiplikation. Hierbei ist &rgr; der Winkel zwischen der gespiegelten Betrachtungsrichtung s und der Beleuchtungsrichtung r .

Im Falle von RGB-Vektoren werden der Rotwert, der Grünwert und der Blauwert gemäß folgender Rechenvorschriften berechnet: GW_BP_r = GF_r(&rgr;)·GFT_BP_r GW_BP_g = GF_g(&rgr;)·GFT_BP_g GW_BP_b = GF_b(&rgr;)·GFT_BP_b

Aus dem Beleuchtungswert

und dem Glanzlichtwert
wird ein Gesamt-Helligkeitswert
des ausgewählten Bildpunkts BP berechnet, und zwar bevorzugt gemäß der Rechenvorschrift
Hierbei werden die Vektoren komponentenweise addiert. Im Falle von RGB-Vektoren geschieht dies durch die Rechenvorschriften HW_BP_r = BL_BP_r + GW_BP_r HW_BP_g = BL_BP_g + GW_BP_g HW_BP_b = BL_BP_b + GW_BP_b

Eine Darstellung 9 des Gegenstandes wird erzeugt. Hierfür werden das Oberflächenmodell 8 sowie die ausgewählten Bildpunkte BP dieses Oberflächenmodells 8 und der jeweilige Helligkeitswert

jedes ausgewählten Bildpunkts BP verwendet.

Der erfindungsgemäß erzeugte farbige Himmel ermöglicht eine realistischere Darstellung von bestimmten Situationen, z. B. klarer Himmel, der am Horizont heller und mehr gräulich und am Zenit etwas dunkler und mehr bläulich ist, oder auch die bei Fotographen von Automobilen beliebte Beleuchtung kurz nach Sonnenuntergang mit hellem rötlichem Horizont und sehr dunklem bläulichem Zenit.

Die Erfindung zeigt einen Weg auf, die Beleuchtung durch eine farbige (nicht monochrome) Lichtquelle auf dem Rechner nachzubilden. Diese Beleuchtung erzeugt auf den damit beleuchteten Gegenständigen einen leichten Farbverlauf, der insbesondere metallische Gegenstände realistischer erscheinen läßt.

Die Einstell-Parameter (Horizont- und Zenitfarbe) sind unmittelbar verständlich und können unmittelbar am Bildschirm dargestellt werden. Die Erfindung stellt eine korrekte Nachbildung einer diffusen Lichtquelle, die auch als solche korrekt dargestellt wird. Das macht die gesamte Ausleuchtung des am Bildschirm dargestellten Bildes stimmiger, und es ist einsichtig, wo die Beleuchtung herkommt.

Für die Realisierung wird der so definierte blaue Himmel mit einer konventionellen gerichteten Lichtquelle ergänzt, die die Beleuchtung durch die Sonne darstellt. Vorteilhaft erhält die Sonne eine gelb-rötliche Farbe, der Himmel eine bläuliche Farbe. Dies gibt einen realistischen Eindruck der Beleuchtung an einem sonnigen Tag.

Liste der verwendeten Bezugszeichen und Symbole


Anspruch[de]
Verfahren zum Erzeugen einer dreidimensionalen rechnerverfügbaren Darstellung (9) eines durch diffuses Licht beleuchteten Gegenstandes, wobei

– die Lichtintensität der Beleuchtung rotationssymmetrisch zu einer vorgegebenen Beleuchtungsrichtung (r ) ist und

– ein rechnerverfügbares Oberflächenmodell (8) des Gegenstandes vorgegeben wird

und das Verfahren die Schritte umfaßt, die automatisch unter Verwendung einer Datenverarbeitungsanlage durchgeführt werden, daß

– Bildpunkte (BP) des Oberflächenmodells (8) ausgewählt werden,

– für jeden ausgewählten Bildpunkt (BP) der Winkel (&thgr;) zwischen einer Normalen (n ) auf dem Oberflächenmodell (8) im Bildpunkt (BP) und der Beleuchtungsrichtung (r ) berechnet wird,

– für jeden ausgewählten Bildpunkt (BP) jeweils ein Gesamt-Helligkeitswert (HW_BP) unter Verwendung des Winkels (&thgr;) zwischen der Normalen (n ) und der Beleuchtungsrichtung (r ) berechnet wird und

– die Darstellung (9) unter Verwendung des Oberflächenmodells (8), der ausgewählten Bildpunkte (BP) und deren Gesamt-Helligkeitswerte (HW_BP) dergestalt erzeugt wird,

– daß ein Bildpunkt (BP) um so heller dargestellt wird, je größer sein Gesamt-Helligkeitswert (HW_BP) ist,

– wobei eine erste Lichtintensität (LI_LQ_z) als Intensität der Beleuchtung aus einer ersten Richtung,

– eine zweite Lichtintensität (LI_LQ_h) als Intensität der Beleuchtung aus einer zweiten Richtung,

– eine erste Helligkeitsfunktion (HF1), die die Wirkung der Beleuchtung aus der ersten Richtung beschreibt, und

– eine zweite Helligkeitsfunktion (HFc), die die Wirkung der Beleuchtung aus der zweiten Richtung beschreibt,

vorgegeben werden,

für jeden ausgewählten Bildpunkt (BP)

– ein erster Helligkeitswert (HF1(&thgr;)) des Bildpunkts (BP) als Funktionswert, den die erste Helligkeitsfunktion (HF1) für den Winkel (&thgr;) zwischen der Normalen (n ) und der Beleuchtungsrichtung (r ) annimmt,

– ein zweiter Helligkeitswert (HFc(&thgr;)) des Bildpunkts (BP) als Funktionswert, den die zweite Helligkeitsfunktion (HFc) für den Winkel (&thgr;) zwischen der Normalen (n ) und der Beleuchtungsrichtung (r ) annimmt, und

– eine Linearkombination des ersten Helligkeitswerts (HF1(&thgr;)) und des zweiten Helligkeitswerts (HFc(&thgr;)) berechnet werden,

– wobei die beiden Faktoren der Linearkombination von der ersten Lichtintensität (LI_LQ_z) und/oder der zweiten Lichtintensität (LI_LQ_h) abhängen,

und der Gesamt-Helligkeitswert (HW_BP) des Bildpunkts (BP) unter Verwendung der Linearkombination dergestalt berechnet wird, daß der Gesamt-Helligkeitswert (HW_BP) um so größer ist, je größer die Linearkombination ist,

dadurch gekennzeichnet, dass

– eine Betrachtungsrichtung (v ) als eine Richtung, aus der die zu erzeugende Darstellung (9) den Gegenstand zeigt,

– eine erste Glanzlichtfunktion (GF1), die die Stärke von Glanzlichtern, die durch die Beleuchtung aus der ersten Richtung hervorgerufen werden, beschreibt, und

– eine zweite Glanzlichtfunktion (GFc), die die Stärke von Glanzlichtern, die durch die Beleuchtung aus der zweiten Richtung hervorgerufen werden, beschreibt,

vorgegeben werden,

für jeden ausgewählten Bildpunkt (BP)

– die Betrachtungsrichtung (v ) um die Normale (n ) auf dem Oberflächenmodell (8) im Bildpunkt (BP) gespiegelt wird,

– der Winkel (&rgr;) zwischen der gespiegelten Betrachtungsrichtung (s ) und der Beleuchtungsrichtung (v ),

– ein erster Glanzlichtwert (GF1(&rgr;)) des Bildpunkts (BP) als Funktionswert, den die erste Glanzlichtfunktion (GF1) für den Winkel (&rgr;) zwischen der Normalen (n ) und der gespiegelten Betrachtungsrichtung (s ) annimmt,

– ein zweiter Glanzlichtwert (GFc(&rgr;)) des Bildpunkts (BP) als Funktionswert, den die zweite Glanzlichtfunktion (GF1) für den Winkel (&rgr;) zwischen der Normalen (n ) und der gespiegelten Betrachtungsrichtung (s ) annimmt,

– eine Linearkombination des ersten Glanzlichtwerts (GF1(&rgr;)) und des zweiten Glanzlichtwerts (GFc(&rgr;)) berechnet wird, wobei die beiden Faktoren der Linearkombination von der ersten Lichtintensität (LI_LQ_z) und/oder der zweiten Lichtintensität (LI_LQ_h) abhängen,

berechnet werden

und der Gesamt-Helligkeitswert (HW_BP) jedes ausgewählten Bildpunkts (BP) unter Verwendung

– der Helligkeitswerte-Linearkombination und

– der Glanzlichtwerte-Linearkombination

berechnet wird.
Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß für jeden ausgewählten Bildpunkt (BP) die Linearkombination als der Gesamt-Helligkeitswert (HW_BP) des Bildpunkts (BP) verwendet wird. Verfahren nach Anspruch 2,

dadurch gekennzeichnet, daß

der Gesamt-Helligkeitswert (HW_BP) jedes ausgewählten Bildpunkts (BP) als Summe

– der Helligkeitswerte-Linearkombination und

– der Glanzlichtwerte-Linearkombination

berechnet wird.
Verfahren nach einem der Ansprüche 1 bis 3,

dadurch gekennzeichnet, daß

– als die erste Lichtintensität (LI_LQ_z) eine erste Farbton-Lichtintensitäts-Codierung


– als die zweite Lichtintensität (LI_LQ_h) eine zweite Farbton-Lichtintensitäts-Codierung
der ersten Beleuchtung

– sowie für jeden ausgewählten Bildpunkt (BP) je ein Basis-Farbton-Codierung


vorgegeben werden

wobei sich alle vorgegebenen Codierungen auf einen Satz von vorgegebenen Referenz-Farbtönen beziehen,

und für jeden ausgewählten Bildpunkt (BP)

– als die beiden Faktoren der Helligkeitswerte-Linearkombination zwei Faktor-Codierungen, die von der ersten Farbton-Lichtintensitäts-Codierung
und/oder der zweiten Farbton-Lichtintensitäts-Codierung
sowie der Basis-Farbton-Codierung
abhängen, und

– als der Gesamt-Helligkeitswert des Bildpunkts (B) eine Gesamt-Helligkeitswert-Codierung


berechnet werden,

wobei sich alle berechneten Codierungen auf den Satz von Referenz-Farbtönen beziehen.
Verfahren nach einem der Ansprüche 1 bis 4,

dadurch gekennzeichnet, daß

die erste Richtung die vorgegebene Beleuchtungsrichtung (r ) ist und

die zweite Richtung senkrecht auf der vorgegebene Beleuchtungsrichtung (r ) steht.
Verfahren nach einem der Ansprüche 1 bis 5,

dadurch gekennzeichnet, daß

der Gegenstand durch diffuses Tageslicht beleuchtet wird und

die Beleuchtungsrichtung (r ) vom Gegenstand in Richtung des Zenits zeigt.
Computerprogramm-Produkt, das in den internen Speicher eines Computers geladen werden kann und Softwareabschnitte umfaßt, mit denen ein Verfahren nach einem der Ansprüche 1 bis 6 ausführbar ist, wenn das Produkt auf einem Computer läuft. Computerprogramm-Produkt, das auf einem von einem Computer lesbaren Medium gespeichert ist und das von einem Computer lesbare Programm-Mittel aufweist, die den Computer veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 6 auszuführen. Digitales Speichermedium mit elektronisch auslesbaren Steuersignalen, die so mit einer programmierbaren Datenverarbeitungsanlage zusammenwirken können, daß ein Verfahren nach einem der Ansprüche 1 bis 6 ausführbar ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com