Vorlesung Computergraphik I WS 1999/2000 Prof. Dr. Guido Brunnett Fakultät für Informatik...

Preview:

Citation preview

Vorlesung

Computergraphik I

WS 1999/2000

Prof. Dr. Guido BrunnettFakultät für InformatikGraphische Datenverarbeitungund Visualisierung

TU Chemnitz Oktober 1999

0. Einführung0.1 Klassifizierung der Graph. DV

ISO Definition:GDV besteht aus den Methoden zur Datenkonver-tierung zwischen Rechner und graph. Endgeräten(Ein-/Ausgabe)

Klassifizierung nach Rosenfeld '72:

Eingabe

AusgabeBild

Bildverarbeitung Computergraphik

Beschreibung

Bild

Beschreibung Bildanalyse diverses

(generative) Computergraphik (Computer Graphics)

behandelt die Erzeugung von Bildern durch einenComputer, ausgehend von einer geometrischenBeschreibung der Bildinhalte

darzustellendeSzene

Modell derSzene

virtuelles Bild

Bild auf dem Ausgabegerät

Modellierung

abstrakteAbbildung

Ausgabe

geometrische Modellierung: Techniken zur Erzeugung und Manipulation rechnerinterner Darstellungen dreidimensionaler Objekte

3D-Szene: geom. Modell + Material + Licht + Kamera

Rendering: Prozess der Konvertierung der Szenen- beschreibung zur Ausgabe auf graph. Endgerät

Beispiel

3D-Szene Projektion

virtuelles Bild Ausgabe

Hierarchische Darstellung der Szene

graph. Primitive

zusammengesetzte Objekte

2D-Szene

Datenstruktur

Zentrale Anwendungen der CG

• Visualisierung in Wissenschaft, Technik und Medizin

• CAD

• Prozessüberwachung und -steuerung

• Graph. Aspekte von Informationssystemen (z. B. geographische IS)

• Werbegraphik

• Unterhaltungsindustrie

• Ausbildung

Aspekte der CG

• Modellierung (von geom. Elementen bis zu virtuellen Welten)

• Aufbereitung komplexer Daten zur Visualisierung

• Photorealistische Darstellung

• Künstlerische Darstellung

• Animation

• Graphische Interaktion

• Virtuelle Realität

• Erweiterte Realität (augmented reality)

Bildverarbeitung (Image Processing)

Bild: Matrix von n x m Bildpunkten (pixeln) mitzugeordnetem Farbwert

1 m

1

n

BV besteht aus Methoden, die Darstellung einesBildes zu verändern zum Zweck der

• Bildverbesserung (z. B. Kontrastvergrößerung, Bes. v. Störungen)

• Bildauswertung (z. B. Größenbestimmung, Konturerfassung)

• Zeichenerkennung

Bildanalyse (Picture Analyses, Computer Vision)

befasst sich mit der Rekonstruktion einer 3D-Szenen-beschreibung aus der Bildinformation.

Hierzu: Zerlegung des Bildes in Urbilder, d. h.bekannte graph. Objekte (wie Dreiecke, Kreise)

Anwendungen: Navigation von Robotern, Steuerung von Maschinen etc.

Zsh zwischen den Teilgebieten der GDV

Datenstruktur (3D)

Bild (2D)Bild (2D)Bildverarbeitung

BildanalyseComputergraphik

CG I

0. Einführung

1. Grundlagen

1.1 Grundlegendes über graph. Systeme

1.2 Hardwarekomponenten graph. Systeme

1.3 Farbmodelle

2. Elemente der 2D-Computergraphik

2.1 Koordinatensysteme u. Transformationen in 2D

2.2 Windowing und Clipping

2.3 Rasterisierung von graph. Primitiven

3. Betrachtungstransformationen

3.1 Koordinatensysteme u. Transformationen in 3D

3.2 Projektionen

3.3 Durchführung der Betrachtungstransformationen

3.4 3D-Clipping

4. Entfernen verdeckter Linien und Flächen

5. Beleuchtung und Schattierung

6. Textur

7. Animation

Literatur:

• Encarnacao, Straßer, Klein: Graph. DV 1 + 2, Oldenbourg 1996

• Foley, van Dam, Feiner, Hughes: Computer Graphics, Addison Wesley 1993

• Watt: 3D Computer Graphics, Addison-Wesley 1993

Lehrveranstaltungen der Professur CGV:

5. Sem.

CG I (2/2/0)

Geom.Grundl.

6. Sem.

CG II (2/0/0)

Geom.Modell.(2/2/0)

7. Sem.

Bildverarbeitg.

Seminar

Graphik-Prakt.

8. Sem.

Modeling Prakt.

1. Grundlagen

1.1 Grundlegendes über graph. Systeme und graph. Daten

Modellkonfiguration graph. Systeme

Komponenten:

• Anwendungssystem (z.B. CAD-System)

• Graphiksystem (z.B. GKS, PHIGS)

• graph. Peripherie (Sichtgeräte, Eingabegeräte)

Graph. Datenstrukturen

wesentliche Einflussfaktoren:

Funktionalität der graph. Systeme

• passiv• interaktiv• Dimension der Darstellung• statisch oder bewegt

Anforderungen der Anwendungz. B. Automobilbau, Geographisches IS

Die Datenstrukturen jeder Systemkomponentewerden bei der Visualisierung auf Datenstrukturendes jeweils darunter befindlichen Systems abge-bildet

graph. Daten der Anwendung

Datenstrukturen desgraph. Systems

Datenstrukturen

graph. Geräte

Modelldaten = Daten des Anwendungssystems

Aus den Modelldaten lassen sich geom. Daten wie

• Objektart• Objektparameter

ableiten. Diese dienen als Grundlage für die Auswahlgraph. Primitive.

Bsp.: Objektart: Kugel graph Primitiv: Polyeder mit n Seitenflächen

Der Modellkontext bestimmt oft nichtgeometrischegraph. Attribute (z.B. Farbe, Linientyp)

Topologische Informationen des Anwendungs-modells werden ebenfalls in die graph. DS über-nommen (z.B. in Form von Graphen).

Datenstrukturen des graphischen Systems

graph. Primitive für 2D-Graphik

Minimalsatz:

• Punkte und Marker• Linie (Strecke)• Polygonzug• Flächen (gefüllter Polygonzug)• Punktmenge (Feld von Bildpunkten)• Text

Komplizierte Objekte werden als hierarchischeStrukturen der Primitive realisiert

Eigenschaften z. B.

• Sichtbarkeit• Identifizierbarkeit• Farbe• Priorität (z.B. für Identifikation)

Operationen z. B.

• Erzeugen / Löschen• Namensgebung• Transformation• Kopieren, Einsetzen von Objekten• Ändern der Eigenschaft

Datentypen graph. Geräte

elementare Datentypen:

• zweidimensionales Feld von Rasterpunkten• sequentielle Liste aus „move and draw“ Befehls- folgen

logische Schnittstellen:

• auf der Ebene graph. Primitive• Abb. auf elementare Datentypen durch das Gerät

1.2 Hardware-Komponenten eines inter- aktiven Graphiksystems

graphische Eingabegeräte

Tastatur, Maus, Tablett (digitizer), Lichtgriffel,Joystick, Trackball, Datenhandschuh etc.

graphische Ausgabegeräte

Hardcopygeräte: Plotter, Printer, rapid prototyping

Sichtgeräte: Kathodenstrahlröhre, Plasma-, Laser-,Flüssigkristallanzeige

Display Processing Unit (Graphics Display System)

Hardware oder Softwarebereitet die Bilddefinition des Anwendungspro-gramms zur Ausgabe auf dem Sichtgerät auf

Rapid PrototypingRapid Prototyping

neue Techniken zur schnellen Erzeugung einesneue Techniken zur schnellen Erzeugung einesphysischen Prototypenphysischen Prototypen

- Stereolithographie- Stereolithographie- LOM- LOM- Selective Laser Sintering- Selective Laser Sintering

Kathodenstrahlröhre (CRT)

Prinzip: beheizte Kathode emittiert Elektronen,die durch Anlegung einer hohen Spannung (20 KVolt)zur Anode bewegt werden.

Elektronen treten durch Loch in der Anode in dasAblenkungssystem ein.

Elektronenstrahl wird fokussiert und auf phosphor-beschichtete Bildschirmfläche gelenkt.

Phosphor absorbiert Elektronen und emittiert LichtFlimmerfreies Bild bei Wiederholungsrate vonca 60 Hz

Maskenröhren (Shadow Mask Color CRT)

3 Elektronenstrahlsysteme und RGB Phosphor-punkte in unterschiedlicher Anordnung

höhere Auflösung durch Delta-Anordnung derPunkteInline Anordnung der Strahler vereinfacht Konver-genzschaltung

Konvergenz: Einhaltung der richtigen Strahlerwinkel

vector-refresh display (60er Jahre)Vektorbildschirm (random scan) bezeichnet CRT,bei der der Elektronenstrahl längs einer beliebigenStrecke kontinuierlich über den Bildschirm gelenktwerden kann

Architektur eines vektor-refresh Systems

höhere Graphikbefehle werden in Punkt- und Linienkommandos umgewandelt, die im Wieder-holungsspeicher (refresh buffer) gespeichert unddurch den display prozessor abgearbeitet werden

Nachteil: hohe Kosten von Wiederholspeicher undschnellem display prozessor in den 60er Jahren

Speicherbildschirm (Direct View Storage Tube)Textronics (Ende der 60er Jahre)

Prinzip: Schreibkathode bringt auf einem Spei-chergitter permanente elektrische Ladungen auf.Die von der Rieselkathode emittierten Elektronenpassieren das Speichergitter nur an den beschriebe-nen Stellen.

Vorteil: geringerer Preis durch Verzicht auf Wie-derholspeicher/prozessor

verbleibende Nachteile: Forderung nach Farben,Schattierung und Bewegung bleibt unerfüllt

raster-refresh displaysinkende Hardwarepreise und die Verwendung vonTV-Technologie führt zur Entwicklung preiswerterRasterbildschirme Ende '70er

raster scan bezeichnet eine CRT bei der nur aufeinem Raster liegende Bildschirmpunkte angesteuertwerden können.

pixel: Rasterelement, kleinster adressierbarer Bereich des Bildschirmsscan line: horizontale RasterlinieScankonvertierung: Abbildung eines graphischen Primitivs auf das Rasterbit map: Matrix der binären Pixelwerte (pixmap)

Prinzip eines raster-refresh Systems

Graph. Primitive werden durch Scankonvertierungin Pixmap umgewandelt, die im Bildwiederhol-speicher (frame buffer) gespeichert und durch denVideocontroller auf den Bildschirm abgebildet wer-den.

Vorteile: einfachere Technologie bei der Bildwieder-holung. Geschwindigkeit der Bildwiederholung un-abhängig von der Bildkomplexität

Nachteile: Rastereffekte ( antialiasing)zeitaufwendiger Prozess der Scankonvertierung

Architekturen von Rasterdisplaysystemen (RDS)

Einfaches RDS:

Funktionen der DPU (z.B. Rasterisierung) in Soft-ware lange BildaufbauzeitenFrame buffer ist Teil des Arbeitsspeichers. Bei fes-tem Adressbereich liest Videocontroller Bild ohneBelastung des Systembus gemeinsamer Adressraum für Anwendungs-,Displayprogramme und Bildspeicherhohe Flexibilität bei niedrigen Hardwarekosten

RDS mit integrierter DPU

Beschleunigung graphischer Operationen durchDisplayprozessor

Vorteile des einheitlichen Adressraumes bleibenbestehen

Probleme mit Konkurrenz der Komponenten umSpeicherzugriff wird durch feste Zuordnung desBildspeichers gelöst

zunehmende Bedeutung

RDS mit peripherer DPU

3 Speicherbereiche:

• Hauptspeicher: Anwendungsdaten, -programm, graph. Software, BS• Arbeitsspeicher der DPU: Daten und Programme (z.B. Rasterisierung)• Bildspeicher

gute Architektur zur Anpassung an spezielleAnwendunglangsamer Datentransfer zwischen Hauptspeicherund Bildspeichermittlerer Anforderungsbereich, keine Echtzeit

Aufgaben der DPU im Bilderzeugungsprozess

Video Controller

(= Image Display System = IDS)

liest Bildschirmspeicher und erzeugt stehendes Bildauf Monitor (60 Hz Wiederholrate)

Raster scan generator erzeugt Ablenkungssignal zurSteuerung des Elektronenstrahls und kontrolliert dieX- und Y-Adressregister, welche die Speicheradressedes darzustellenden Pixels bestimmen.Speicherinhalt definiert die Intensität des Elektronen-strahls und damit Grauwert oder Farbe des Pixels.Falls mehrere Pixel gleichzeitig ausgelesen werden, wirddie Information in Schieberegister zwischengespeichert.

Zeilensprungverfahren (Interlacing): 2 Bilder werden mithalbierter Vertikalauflösung nacheinander geschrieben(1. Bild gerade Zeilen, 2. Bild ungerade Zeilen),halbierte Frequenzzufriedenstellend für Fernsehbilder (hohe Kohäranzbenachbarter Zeilen), jedoch nicht für synthetische Bilder(Flimmern)

Nutzbare Zeit für Bildaufbau wird durch Bild- und Zeilendauer sowie Zeiten für horizontalen und verti-kalen Strahlrücklauf bestimmt.

einfache Videocontroller arbeiten mit fester Zu-ordnung der Positionen im Bildspeicher und der Position auf dem Bildschirm

Kompliziertere Videocontroller verwenden eineBildtransformation, die beschreibt, wie der Inhaltdes Bildspeichers auf dem Bildschirm abgebildetwird. In diesem Fall kann der VC Translationen,Rotationen, Skalierung von Teilbereichen desBildspeichers erstellen.

Verwendung einer Farbtafel

Pixelinformation wird als Adresse in eine Farbtafel(look-up table) interpretiert. Inhalt der Farbtafel be-schreibt Farbe durch Angabe der RGB-Anteile.

Anzahl der verfügbaren Farben wird erhöht, wenn dieWortlänge in der Tafel größer ist als die Pixelwortlänge.

Bei n-Bits/Pixel und m-Bits/Farbanteil in der Tabellelassen sich 2n Farben gleichzeitig darstellen aus einerPalette von 23m möglichen Farben.Bsp.: 24-Bit-Graphiksysteme: n = 8 Bit pro Grundfarbe224 16 Mio. Farben gleichzeitig darstellbarSpeicheraufwand von ca. 4 MByte pro 10242 Bild

mit Farbtafel (z.B. m = 8, n = 16)216 66T Farben gleichzeitig aus Palette von 16 Mio.

weitere Anwendungen

1. Bitebenenextraktion

Bei n Bits/Pixel können n Binärbilder oder

RGB-Bilder durch geeignetes Laden der Farbtafel dargestellt werden.

Binärbild: Farbtafel enthält Weiß bzw. Schwarz für0 oder 1 an entsprechender Stelle

3n

2. Bewegtbildeffekte

Durch Änderung der Zuordnung von Pixelwert undFarbe lassen sich Bewegungen simulieren

Bsp.:

weiß schwarz

Bildspeicher

Bindeglied zwischen Bilderzeugung (DPU) undBilddarstellung (VC)

DPU und VC konkurrieren um Zugriff

VC liest entsprechend des Ablaufs der Strahl-ablenkung aus

DPU schreibt wahlfrei ein

Problem:

Speicherzyklus i. A. größer als Bildpunktdauer

Lösungen:

• Bildspeicher aus mehreren gleichzeitig adressier- baren Speicherbausteinen (erlaubt das gleichzeitige Auslesen mehrerer Pixel)

• Wechselspeicher (double buffer): 2 komplette Bildspeicher, die im Wechsel betrieben werden, d. h. A wird gelesen während B geschrieben wird, dann wird Funktion gewechselt

• spezielle Hardware Architektur für Bildspeicher (Video RAM)

1.3 Farbmodelle

Graustufendarstellung

achromatisches Licht = Licht ohne Farbinformation

freigesetzte Lichtmenge (Intensität) ist nicht propor-tional zur wahrgenommenen Lichtstärke (Helligkeit)

Bsp.: Übergang zwischen 25-W- zu 50-W-Glühbirneund 50-W- zu 100-W-Glühbirne wird gleichempfunden

Definition von Graustufen

n: Anzahl der gewünschten GraustufenEmin > 0: kleinste realisierbare IntensitätEmax : max. darstellbare Intensität

E0 : = Emin

Ei : = i E0 (i = 1, ..., n-1)En-1: = Emax = 1

Aus En-1: = n-1 E0 =

Bsp.:

1-n01/E

Graustufen am Rasterbildschirm

Verwendung mehrerer Bit-planes

Bildschirmspeicher (frame buffer) besteht ausBit-planes

Anzahl Bit-planes = Anzahl Bits pro Pixel

Bsp.: 1 Byte pro Pixel 256 Intensitätsstufen

Dithering

beruht auf der Eigenschaft des Auges, kleineSchwarzweißmuster zu Grauwerten zu ermitteln

Fasse Pixelbereiche zu sog. Dithering-Zellen zusammen

Definiere mögliche Zellenmuster durch Dithering-MatrixBsp.: Fasst man 9 Pixel zu einer Zelle zusammen, so lassen sich 10 Graustufen kodieren

Ablauf des Ditherings

Input: Bild in ursprünglicher Auflösung mitGrauwerten

PROCEDURE Set Dither Cell (x, y, grey10: INTEGER);

BEGIN IF (D [x MOD3] [y MOD3] < grey10)

THEN setdot (x, y);END;

Je größer der Wert von grey10 {0, ..., 9},desto mehr Punkte werden gesetzt

Bsp.: Pixel x = 328, y = 123, grey10 = 9x MOD3 = 1 y MOD3 = 0D [1] [0] = 8 < grey10Pixel wird gesetzt

Physikalische Grundlagen der Farben

Farbe = sinnliche Wahrnehmung von Licht durch den Menschen

Licht = für das menschl. Auge wahrnehmbare elektromagn. Strahlung (Wellen u. Partikeltheorie, Photonen)

Frequenz f, Wellenlänge : f = c

Violett : 380 - 440 nm Gelb : 565 - 590 nmBlau : 440 - 490 nm Orange: 590 - 630 nmGrün : 490 - 565 nm Rot : 630 - 780 nm

physikalische Charakterisierung von Licht durchspektrale Energieverteilung P ()

Entstehung von Farben

wahrgenommene Farben entstehen aus verschie-denen physikal./chemischen Prozessen

additive Farbmischung:

Lichtstrahlen aus verschiedenen Lichtquellenwerden additiv kombiniert

resultierende Farbe enthält für bestimmte Wellen-längen so viele Photonen wie die Summe dereinzelnen Farben(Anwendung: Farbfernseher)

subtraktive Farbmischung:

Farbe resultiert aus Filterung. Filter hält Lichtgewisser Wellenlängen zurück.

Bsp.: Weiß - Rot = CyanWeiß - Blau = GelbWeiß - Grün = MagentaWeiß - Gelb - Magenta = RotWeiß - Gelb - Cyan = GrünWeiß - Cyan - Magenta = Blau

(Anwendung: Diaprojektor)

PigmentierungTeilchen mit Farbwirkung (Pigmente) in Flüssigkeitoder aufgebracht auf Oberfläche

Pigmente absorbieren, reflektieren oder transmittierenLicht

Parameter der menschl. Farbempfindung

Farbton (Hue) wird durch dominante Wellenlängebestimmt

Sättigung (Saturation, purity)hängt mit der Energieverteilung des Lichtes über dasSpektrum zusammen (Anteil an weißem Licht)

hochgesättigt: geringer Anteil an weißem Licht(reine Farbe)niedriggesättigt: hoher Anteil an weißem Licht(Pastellton)

Helligkeit (brightness, luminance): wahrgenommeneIntensität, proportional zu

P () • Helligkeitseffizienz () d

Physiologie der Farbwahrnehmung

Netzhaut ist mit Rezeptoren ausgestattet

3 Arten von Farbrezeptoren mit unterschiedlichenEmpfindlichkeiten

Piksblauer Rezeptor (440 nm), grüner R. (545 nm gelb)roter R. (580 nm gelb)

HelligkeitseffizienzEmpfindlichkeit des Auges für Licht unterschiedlicherWellenlänge und gleicher Intensität

Prozess der Farbwahrnehmung

Gehirn erhält kombinierte Signale

R + G, R - G, B - (R + G)

Luminanz: Helligkeit R + G

Chrominanz: Farbton und Sättigung

Farbwahrnehmung

Farb- und Sättigungsstufen bei mittlerer Intensität

Trennschärfe: 2 - 10 nmEinbeziehung von Intensitätsstufen ergibtca. 350 T unterscheidbare Farbeindrücke

Universum physikalischer Farben

= Menge aller Energieverteilungsfunktionen P () über dem Spektrum I (Sichtbarkeit!) C0 (I) unendlich dimensionaler VR

ist kein VR, da P () > 0 für I.

Aber mit P1, P2 und [0, 1]:

(1 - ) P1 + P2 ,

d. h. ist konvex

Für P und > 0:

• P

d. h. ist ein Kegel

Universum der wahrnehmbaren Farben

1. Graßmannsches Gesetz (1853):

Zwischen je vier sichtbaren Farben a, b, c, d bestehtimmer eine eindeutige lineare Beziehung

(, , , ) R4 : a + b + c + d = 0 ,

d. h. die Menge W wahrnehmbarer Farben ist Teilmenge eines dreidimensionalen Vektorraumes V.

Genauer gilt:

W ist ein konvexer Kegel in V.

Zwei spektrale Energieverteilungen, die dieselbeFarbempfindung erzeugen, heißen metamers.

Basisdarstellungen

Wählt man als Basis von V die Grundfarben R, G, Bund bestimmt durch Messung an Beobachtern dieAnteile an R, G, B, die benötigt werden, um sämtl.Farben des sichtbaren Spektrums (konstante Hellig-keit, hohe Sättigung) zu erzeugen, so ergibt sich

d. h. es gibt Farben F W mit

F = r R + g G + b B mit r < 0

Diese Farben sind auf einem Bildschirm nichtdarstellbar!Die Koeffizienten r, g, b als Funktionen der Wellen-länge werden auch als farberzeugende Funktionen be-zeichnet.

CIE-System der sichtbaren Farben

1931 Festlegung von drei künstlichen Grundfarben X, Y, Z durch Commission Int. de L‘Eclairage mit

F W ex. x, y, z > 0 : F = xX + yY + zZ

Die farberzeugenden Funktionen x, y, z haben dieGestalt

y = Helligkeitseffizienz ()

x, y, z sind Linearkombinationen von r, g, b.Hieraus folgt, dass eine lineare Umrechnung zwischendem RGB- und dem CIE-System existiert.

Ist P () die spektrale Energieverteilung einer physikal.Farbe, so errechnet sich die CIE-Darstellung zu:

x = k P() x d, y = k P() y d, z = k P() z d

mit k = 680 lumens/watt für Kathodenstrahlröhre.

CIE Farbdiagramm des sichtbaren Spektrums

Der CIE-Kegel hat die Form

Der Luminanz-Anteil einer Farbe wird durch x+y+z bestimmt

Ein Chrominanz-Diagramm erhält man durch Schnittdes Kegels mit Ebene x + y + z = 1

Die Projektion dieser Ebene auf (X, Y)-Ebene ergibtdas CIE-Chrominanz-Diagramm

Der achromatische Punkt W definiert weißes Licht.

Anwendungen des CIE-Farbdiagramms

Koordinaten des CIE-Diagramms ermöglichen die präzise Angabe von Farben und erlauben den Aus-tausch von Farbinformationen zwischen Systemenmit verschiedenen Grundfarben.

Bestimmung der dominierenden Wellenlänge undSättigung

Sei F1 eine Farbe aus dem Diagramm und Fs derSchnittpunkt der Geraden durch F1 und W mitder Randkurve des Diagramms (ohne Purpurlinie).Dann ist die Wellenlänge bei Fs die dominierendeWellenlänge von F1

das Verhältnis der Sättigungsgrad von F1 |WF||WF|

s

1

Erzeugen von Farbpaletten

F1, F2, F3 seien sichtbare Farben des CIE-Diagrams

Die Menge der Farben, die durch additives Mischenvon F1, F2 erzeugt werden kann, entspricht der

Strecke .

Die Menge der Farben, die durch additives Mischenvon F1, F2, F3 erzeugt werden kann, entspricht demDreieck = (F1, F2, F3).

21 F ,F

Komplementäre Farben mischen zu Weißnichtspektrale Farben besitzen fehlende dominanteWellenlänge

Farbmodelle für Rastergraphik

Ein Farbmodell ist ein dreidimensionales Modell zurSpezifikation von Farben innerhalb einer Farbpalette

Farbmodelle orientieren sich entweder an den Eigen-schaften der Graphik Hardware (RGB, YIQ, CMY)oder an den Bedürfnissen des Benutzers (HSV, HLS,HVC)

In jedem Fall beschreibt ein Farbmodell nur einenTeil der sichtbaren Farben

RGB-Modell

hardwareorientiert (rote, grüne u. blaue Phosphor-punkte bei KSR) weit verbreitet

additives Farbmodell:

F = (r, g, b) , r, g, b [0, 1]

Mischung zweier Farben durch lineare Interpolation

iß werot

1] [0, t 111

t)- (1 001

t (t) M

Grautöne: Mischung von Schwarz und Weiß

CMY-Modell

subtraktives Farbmodell, basierend auf den Grund-farben Cyan, Magenta und Gelb

Umrechnungsformel:

bgr

- 111

ymc

Interpretation der Koeffizienten: Beschreibung derAbsorption der R,G,B-Grundfarben durch Oberfläche

Bsp.: blaue Oberfläche wird bestrahlt mit weiß,reflektiert aberblau = weiß - cyan - Magenta,d.h. absorbiert Cyan u. Magenta

blau =

011

Anwendung: permanente Ausgabe von Farbinforma-tion (z.B. Tintenstrahldrucker), Auge erhält nur dieAnteile weißen Lichts, die reflektiert werden

YIQ-Modell

Anwendung in amerikanischer NTSC-Fernsehnorm

Y entspricht Y-Parameter im CIE-System, d.h. Ystellt die Helligkeit dar. Die Konvertierung der Farb-information in Monochrom-Darstellung erfolgt durchAuswertung von Y

qiy

1.705 1.105 - 1 0.648 - 0.272 - 1 0.623 0.956 1

bgr

bgr

.311 .211 - .211.274- .274- .596.114 .587 .299

qiy

PAL: R - Y, Y, B - Y

HSV-Modell

benutzerorientiert

Spezifikation der Farbe über Farbton (hue),Sättigung (saturation) und Helligkeit (hier: value)

Farbselektion:

• Wahl einer reinen Farbe (H = , V = S = 1)• Mischung mit Weiß durch Reduktion von S• Mischung mit Schwarz durch Reduktion von V

HLS-System

intuitives Farbsystem der Fa. Tektronix

Parameter: Farbton (Hue), Helligkeit (Lightness),Sättigung (Saturation)

max. Sättigungsunterschiede bei mittlerer Intensität

Reduzierung der Sättigungsunterschiede mit Abstandvon mittlerer Intensität

lineare Interpolation zwischen Farben ist nicht möglichin HSV oder HLS.

CNS-Modell

erlaubt sprachbasierte Farbauswahl

CNS = color naming system

Helligkeitswerte: sehr dunkel, dunkel, mittel,hell, sehr hell

Sättigungswerte: gräulich, gemäßigt, stark,lebendig

Farbtöne: blau, violett, rot, orange,braun, gelb, grün

Zwischentöne: z.B. rot, rötlich-orange,rot-orange, orangelich-rot,orange

2.3. Windowing und Clipping in 2D

Weltkoordinaten: durch Daten der Anwendung bestimmt (z.B. mm) (ArbeitsKOS, ModellKOS)

Gerätekoordinaten: durch physikalische Eigenschaften des Ausgabegerätes bestimmt (z.B. Pixel eines Bildschirms)

window: rechteckiger Teilbereich des WeltKOS

viewport: rechteckiger Teilbereich des GKsystems, auf dem der Inhalt des windows dargestellt werden soll

window-viewport-Transformation

mm 0 1024

wird zweistufig realisiert, um die graphische Ausgabe aufverschiedenen Ausgabegeräten zu unterstützen und um Da-ten versch. Welten auf einem Ausgabegerät darstellbar zumachen.

Normalisierungstransformation: Abbildung eines windowsauf einen Teilbereich des normalisierten Koordinatenraumes[0,1] x [0,1]

Gerätetransformation: Abbildung eines Fensters imNKsystem auf das viewport

mm 0 1024

window-viewport transformation

Gerätekoord.

Geräte

trans

f.Norm

alisierungstransf.

Weltkoord.

Weltkoord.

G.transf.

Nor

m.tr

ansf

.

normalisierteKoordinaten

(0,0)

t

(0,1) (1,1)

(1,0)

Gerätekoord.

Clipping-Algorithmen

Objekte, die ganz od. teilweise außerhalb des Fenstersliegen, müssen abgeschnitten bzw. bei der graph. Darstel-lung ignoriert werden (Clipping).

Clipping an window Grenzen erspart die Transformation von Objekten, die nicht dargestellt werden.

Linien-Clipping

(a) auf der Grundlage von Schnittpunktberechnungen

beide Endpunkte einer Linie liegen innerhalb (d.h. Xmin Xmax, Ymin Ymax ): Linie liegt innerhalbbeide Endpunkte außerhalb: keine Aussageone in / one out: Clipping notwendig

x y

Ymin

Ymax

Xmin Xmax

1

2

4 3

Kritische Linien werden in Parameterdarstellung mit den Fensterberandungen geschnitten, um evtl. Schnittpunkte zu berechnen.Viele unnötige Schnittpunktberechnungen (insbes. Fall 3)

(b) Cohen-Sutherland-Algorithmus

Bereichstests zur Vermeidung von SchnittpunktberechnungenBereichscode:

1001

0001

0101

0000

0100 0110

1000 1000

0010

4 Bit Code: 1 = wahr 0 = falsch

Bit 1: über dem Fenster y > ymax

Bit 2: unter dem Fenster y < ymin

Bit 3: rechts des Fensters x > xmax

Bit 4: links des Fensters x < xmin

Bereichstest mittels logischer Verknüpfungen

(1) Code (P1) AND Code (P2) 0000

liegt außerhalb des Fensters21PP

(2) Code (P1) AND Code (P2) = 0000 keine Aussage

(3) Code (P1) OR Code (P2) = 0000

liegt ganz innerhalb des

Fensters21PP

0 1

0 0 01 0 1

d.h. es gibt eine Stelle in der beide Codes eine 1 haben

v 0 1

0 0 11 1 1

d.h. Code (P1) = 0000 u. Code (P2) = 0000

Polygonclipping

Polygon meint in der Computergraphik i. Allg. die Fläche,die von einem geschl. Polygonzug eingeschlossen wird

Anforderung: Ergebnis der Clipping Operation sollwieder ein Polygon liefern (ggf. mehrere Polygone).

Wiederholtes Linienclipping ist prinzipiell möglich,führt aber zu Problemen

Sutherland-Hodgman Algorithmus (1974):

Prinzip: clippe das gesamte Polygon an einer Fenster-kante nach der anderen

Anforderungen an Algorithmen

1. Qualität: optisch zufriedenstellende Darstellung

- gute Approximation des graph. Primitivs - gleichmäßige Verteilung von Pixeln über Kurvenbogen

2. Effizienz: schnelle Erzeugung der Darstellung

2.4 Rasteralgorithmen

Aufgabe der Rasteralgorithmen:

Abbildung der graph. Primitive auf ein Pixelmuster

Rasteralgorithmen für Linien

verwendetes Modell des Pixelmusters:

Pixel sind nichtüberlappende Kreisscheiben um dieGitterpunkte eines ganzzahligen Gitters

vereinfachende Annahmen:

• Startpunkt (x0, y0) u. Endpunkt (x1, y1) liegen exakt auf Pixel x0 < y0

• Breite der Linie ist ein Pixel

• Steigung in der Linie erfüllt 0 m 1, d.h. pro Spalte der Pixelmatrix wird genau ein Pixel gesetzt

Recommended