Kapitel 3: Farben und Primitive
Farbe als physikalisches und biologisches Phaenomen (reflektiertes Licht, RGB-Farbraum als Wuerfel, additive Mischung, S/M/L-Zapfen) sowie geometrische Primitive, deren Eigenschaften alle aus den Vertices ableitbar sind und die per Triangle Strips speichersparend abgelegt werden.
Ueberblick
Kapitel 3 klaert, woraus eine grafische Szene besteht: aus Farben und geometrischen Primitiven (primitives). Der rote Faden verlaeuft von der Physik der Farbe ueber ihr digitales Modell (RGB) und die menschliche Wahrnehmung bis zur Frage, wie Geometrie moeglichst kompakt gespeichert wird.
- Farbe entsteht durch reflektiertes Licht (reflected light): ein Objekt absorbiert bestimmte Wellenlaengen und reflektiert die anderen.
- Digital wird Farbe im RGB-Farbraum (RGB color space) beschrieben, dargestellt als Einheitswuerfel (unit cube).
- Farben mischen sich am Bildschirm additiv (additive mixing): Lichtanteile werden addiert.
- Das RGB-Modell hat eine biologische Grundlage: drei Zapfentypen (S/M/L cones) registrieren unterschiedliche Wellenlaengen (trichromatisches Sehen).
- Eine Szene besteht aus Primitiven, deren Bestandteile (Kanten, Flaechen, Normalen, Ausrichtung) alle aus den Vertices (vertices) ableitbar sind.
- Triangle Strips (Dreiecksstreifen) sparen Vertices, indem benachbarte Dreiecke Eckpunkte teilen.
Quelle laut Extraktion: VC_Grafik_Kapitel_3_und_4_ss2026.pdf, Hochschule Darmstadt, Visual Computing SS2026 (Hergenroether / Froemmer / Meyer), Modul "Grafische Objekte und deren Programmierung".
Was ist Farbe? (Physik)
Farbe (color) ist physikalisch das Ergebnis von reflektiertem Licht (reflected light). Ein Objekt absorbiert (absorbs) bestimmte Wellenlaengen und reflektiert (reflects) die uebrigen; die reflektierten Wellenlaengen bestimmen die wahrgenommene Farbe.
Beispiel Zitrone: Blaues Licht wird absorbiert, gruene/gelbe/rote Anteile werden reflektiert -> das Objekt erscheint gelb. Zusaetzlich sichtbar sind:
- spekulare Highlights (specular highlights): sehr helle Glanzpunkte durch direkte Reflexion.
- abgedunkelte Bereiche (shadows / weniger Reflexion): Schatten.
Die Wellenlaenge (wavelength) wird in Nanometern (nm) angegeben; der sichtbare Bereich liegt etwa bei 400 nm (violett) bis 700 nm (rot).
Der RGB-Farbraum
Der RGB-Farbraum (RGB color space) ist ein 3D-Farbraum, dargestellt als Einheitswuerfel (unit cube). Jede Farbe ist ein 3D-Vektor:
- = Rotanteil, = Gruenanteil, = Blauanteil.
- Hochgestelltes = transponiert, also ein Spaltenvektor (column vector).
- Die Koordinatenwerte muessen zwischen 0 und 1 liegen.
- Eine Farbe liegt entweder auf der Oberflaeche des Wuerfels oder in seinem Inneren.
Drei Achsen spannen den Wuerfel auf: r-Achse (Rot), g-Achse (Gruen), b-Achse (Blau). Am Display wird jede Farbe additiv aus roten, gruenen und blauen Subpixeln (subpixels) erzeugt.
Beispielfarbe: (ein Blau-/Cyanton, da Blau die groesste Komponente ist).
Eckpunkte des Wuerfels
- Primaerfarben (primary colors): Rot, Gruen, Blau.
- Sekundaerfarben (secondary colors, Mischung zweier Primaerfarben): Gelb (R+G), Zyan/Cyan (G+B), Magenta (R+B).
- Schwarz liegt im Ursprung, Weiss in der gegenueberliegenden Ecke.
Additive Farbmischung
Bei der additiven Farbmischung (additive color mixing) entstehen Farben durch Addition von Licht (Monitor-/Bildschirmprinzip):
Skaliert man alle Komponenten mit einem Faktor , ergibt sich eine dunklere Variante desselben Farbtons, z.B. mittelhelles Gelb:
Das Gegenteil waere die subtraktive Mischung (Druck); sie wird hier nicht behandelt.
Unbuntgerade (Grauachse)
Die Unbuntgerade (achromatic / gray axis) ist die Raumdiagonale des Wuerfels von Schwarz nach Weiss . Bedingung fuer einen Grauton:
Alle Grautoene liegen auf dieser Geraden.
Helligkeit und Grenzen des Modells
- Geringste Helligkeit = Schwarz .
- Maximale Helligkeit = Weiss .
- Das Aussehen einer Farbe wird in erster Linie durch die groesste(n) Komponente(n) bestimmt.
Grenze des RGB-Modells: RGB beruecksichtigt nicht die unterschiedliche Helligkeitswahrnehmung des Menschen. So werden z.B. Helligkeitsunterschiede bei blauen und gruenen Farbtoenen nicht wahrnehmungsgerecht abgebildet. Der Grund liegt in der Physiologie des Auges (siehe naechster Abschnitt).
Farbwahrnehmung des Menschen
Das Auge (Anatomie)
Auf der Netzhaut (retina) sitzen die Fotorezeptoren (photoreceptors). Wichtige Strukturen: Hornhaut, Pupille, Linse, Glaskoerper, Netzhaut, Netzhautmitte (Fovea / gelber Fleck), Blinder Fleck (Papille, Austritt des Sehnervs, ohne Rezeptoren) und Sehnerv.
Staebchen und Zapfen
Staebchen (rods):
- Fotorezeptoren, schon bei geringer Lichtintensitaet (unter ) aktiv.
- Verantwortlich fuer das Nachtsehen (skotopisches Sehen).
- Kein Farbsehen.
Zapfen (cones): drei Arten, die unterschiedliche Farbvalenzen (color valences) registrieren; jede hat einen spezifischen spektralen Empfindlichkeitsbereich (Tag-/Farbsehen):
| Typ | Wellenlaenge (Empfindlichkeitsbereich) | Anteil |
|---|---|---|
| S-Zapfen (Short) | ca. 400-500 nm (kurz) | nur ca. 12 % aller Zapfen |
| M-Zapfen (Medium) | ca. 450-630 nm (mittel) | - |
| L-Zapfen (Long) | ca. 500-700 nm (lang) | - |
Die drei Zapfentypen sind die biologische Grundlage des RGB-Modells (trichromatisches Sehen). Aus der Extraktion (Diagramm der spektralen Empfindlichkeit) stammen zusaetzlich die Peak-Wellenlaengen: S-Zapfen ~420 nm, Staebchen ~498 nm, M-Zapfen ~534 nm, L-Zapfen ~564 nm. M- und L-Kurven ueberlappen stark.
Hinweis (moegliche Unstimmigkeit): In der Extraktion stehen zwei Zahlensaetze nebeneinander: die groben Empfindlichkeitsbereiche (400-500 / 450-630 / 500-700 nm) und die praeziseren Peak-Wellenlaengen (420 / 534 / 564 nm). Beide beschreiben dieselben Zapfen aus unterschiedlicher Perspektive (Spannweite vs. Maximum) und widersprechen sich nicht; sie sollten in der Klausur aber nicht vermischt werden.
Uebung: Kanalzerlegung
Ein Farbbild laesst sich in drei 8-Bit-Graustufenbilder (Rot-, Gruen-, Blau-Kanal) zerlegen. Loesungslogik: Ein Bereich erscheint in genau dem Kanal hell, dessen Farbe er stark enthaelt.
Everglades-Bild:
- Schriftzug / Himmel / Sonne: hell im Rot- und Gruen-Kanal, dunkel im Blau-Kanal -> Farbe = Rot + Gruen = gelb/orange.
- Vogel (Silhouette): dunkel in allen Kanaelen -> schwarz.
Wetterkarte (zweites Beispiel, gleiches Prinzip): Fronten sind typischerweise eingefaerbt (z.B. Warmfront rot, Kaltfront blau); die Farbe wird ueber die Helligkeit in den drei Kanaelen bestimmt.
Primitive und Vertices
Ein Primitiv (primitive) ist der geometrische Grundbaustein einer 3D-Szene. Es besteht aus:
- Vertices (Eckpunkte),
- Kanten (edges),
- Flaechen (faces),
- Ausrichtung (winding order / orientation),
- Normalen (normals).
Zentrale Aussage: All diese Eigenschaften koennen aus den Vertices abgeleitet werden. Deshalb muss man primaer die Vertices speichern.
- Normale (normal): Vektor senkrecht zur Flaeche, gibt deren Ausrichtung an (wichtig fuer Beleuchtung). Ableitbar via Kreuzprodukt der Kantenvektoren.
- Ausrichtung (winding order): Umlaufsinn der Vertices (z.B. gegen den Uhrzeigersinn = Vorderseite). Bestimmt, welche Seite eines Dreiecks nach vorne zeigt.
Ein Vertex speichert Attribute
Ein Vertex (pl. vertices) speichert nicht nur die Position, sondern beliebige Attribute (attributes). Beispiel: 2D-Position plus RGB-Farbe:
Der Rasterizer interpoliert die Vertexfarben ueber die Flaeche und erzeugt so einen Farbverlauf (Gradient-Dreieck).
Triangle Strips (Dreiecksstreifen)
Ein Triangle Strip (Dreiecksstreifen) ist eine Technik, um moeglichst wenig Vertices anzulegen. Zusammenhaengende Dreiecke teilen sich Eckpunkte; ein Vertex wird "recycelt" statt mehrfach gespeichert. Jedes neue Dreieck im Strip benoetigt nur einen neuen Vertex (statt drei):
Konkrete Zahlen aus der Extraktion:
- Ohne Streifen: Eckpunkte.
- Mit Streifen: 905 Streifen -> nur 6127 Eckpunkte.
- Ersparnis: Vertices (ca. 53 %).
Worked Examples
Beispiel 1 - Additive Mischung Gelb
- Gelb entsteht aus Rot + Gruen.
- .
- Komponentenweise Addition: = Gelb (volle Helligkeit).
- Variante halbe Helligkeit: = mittelhelles Gelb (dunkler, gleicher Farbton).
Beispiel 2 - Sekundaerfarben ablesen
- Zyan = Gruen + Blau = .
- Magenta = Rot + Blau = .
- Weiss = R+G+B = .
Beispiel 3 - Kanalzerlegung Everglades
- Ein Objekt erscheint in einem Kanal hell, wenn seine Farbe diese Komponente stark enthaelt.
- Schriftzug/Himmel/Sonne: hell in Rot + Gruen, dunkel in Blau -> gelb/orange.
- Vogel: dunkel in allen drei Kanaelen -> schwarz (Silhouette).
Beispiel 4 - Triangle-Strip-Ersparnis
- Ohne Strips: Eckpunkte (jeder Vertex mehrfach gespeichert).
- Mit Strips: 905 Streifen, insgesamt nur 6127 Eckpunkte.
- Ersparnis ca. 53 % durch geteilte Kanten (Vertex-Recycling).
Pruefungsrelevanz
- RGB-Wuerfel zeichnen/beschriften: alle 8 Eckenfarben mit Vektoren; Unbuntgerade als Schwarz-Weiss-Raumdiagonale.
- Additive Mischung rechnen: gegebene Vektoren -> Farbe benennen und umgekehrt (Gelb, Zyan, Magenta, Weiss).
- Maximale Helligkeit = Weiss ; geringste = Schwarz .
- Staebchen vs. Zapfen: Funktion (Nacht- vs. Farb-/Tagsehen), S/M/L-Wellenlaengenbereiche (400-500 / 450-630 / 500-700 nm), S-Zapfen nur ca. 12 %.
- Kanalzerlegung interpretieren: hell in R+G, dunkel in B -> gelb; dunkel ueberall -> schwarz.
- Bestandteile eines Primitivs und die Kernaussage: alles ist aus Vertices ableitbar.
- Triangle-Strip-Ersparnis begruenden ( Vertices pro Strip).
Typische Fehler
- Unbuntgerade mit einer Wuerfelkante verwechseln - sie ist die Raumdiagonale Schwarz -> Weiss ().
- Grenzen des RGB-Modells vergessen: es modelliert keine wahrnehmungsgerechte Helligkeit (blau/gruen Toene).
- S/M/L-Zapfen vertauschen oder den 12-%-Anteil der S-Zapfen falsch zuordnen.
- Meinen, man muesse Kanten/Flaechen/Normalen separat speichern - sie sind aus den Vertices ableitbar.
- Bei Triangle Strips vergessen, dass nur das erste Dreieck 3 Vertices braucht und jedes weitere nur +1.
Glossar
| Deutsch | English |
|---|---|
| Farbe | color |
| reflektiertes Licht | reflected light |
| Absorption | absorption |
| spekulares Highlight / Glanzlicht | specular highlight |
| Wellenlaenge | wavelength |
| Farbraum | color space |
| RGB-Farbraum / Einheitswuerfel | RGB color space / unit cube |
| Subpixel | subpixel |
| additive Farbmischung | additive color mixing |
| Primaerfarbe / Sekundaerfarbe | primary / secondary color |
| Unbuntgerade / Grauachse | achromatic (gray) axis |
| Netzhaut | retina |
| Blinder Fleck (Papille) | blind spot |
| Fotorezeptor | photoreceptor |
| Staebchen | rods |
| Zapfen (S/M/L) | cones (short/medium/long) |
| Farbvalenz | color valence |
| trichromatisches Sehen | trichromatic vision |
| Primitiv | primitive |
| Vertex / Eckpunkt | vertex |
| Kante / Flaeche | edge / face |
| Normale | normal |
| Ausrichtung / Umlaufsinn | winding order |
| Triangle Strip / Dreiecksstreifen | triangle strip |
| Interpolation | interpolation |