Grundlagen der Computergrafik

Ähnliche Dokumente
Beleuchtung. in Computerspielen

Lokale Beleuchtungsmodelle

Digitale Bilder. Ein Referat von Jacqueline Schäfer und Lea Pohl Am

4.4 Glättung von Kanten

BlendaX Grundlagen der Computergrafik

Computergrafik 1 Beleuchtung

Inhalt. Grundlagen - Licht und visuelle Wahrnehmung 1. Grundlagen - 2D-Grafik (Teil 1) 43. Grundlagen - 2D-Grafik (Teil 2) 67

3.5 Methode des gleitenden Horizonts

CGR I Beleuchtung und Schattierung

Graphische Datenverarbeitung und Bildverarbeitung

Kapitel 1 - Einführung

Christina Nell. 3D-Computergrafik

Beleuchtung Schattierung Rasterung

3D Rendering mit PHP. Die neue PEAR-Klasse Image_3D bietet die Möglichkeit nur mit PHP5 3DGrafiken zu rendern

Lehrbuch der Grafikprogrammierung

Michael Bender Martin Brill. Computergrafik. Ein anwendungsorientiertes Lehrbuch. 2., überarbeitete Auflage HANSER

Newtek Lightwave Grundlagen der 3D-Vektorgrafik

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar

Licht und Farben. Andreas Spillner. Computergrafik, WS 2018/2019

Eine Einführung in die Möglichkeiten von POV-Ray. Die wichtigsten Konzepte in einigen Folien

Ihre Punkt + Sonderp. = Summe Ihre Note:

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

Beleuchtungsmodelle und Shading

Datenbanken und Informationssysteme. Bildbearbeitung. DI (FH) Levent Öztürk

146

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU

Übungsstunde 8 zu Computergrafik 1

2 Literatur U. Claussen: \Programmieren mit OpenGL", Springer, 1997 J. Encarnaca~o, W. Straer, R. Klein: \Graphische Datenverarbeitung 1 + 2", Oldenbo

Speicherkonzepte von Pixel- und Vektorgrafik

Teil 7: Beleuchtung Beleuchtungsmodelle, Schattierungsmodelle

Zusammenfassung Graphische Daten Verarbeitung By Fabian Flohrmann

Sebastian Kurfürst

Computergrafik SS 2012 Probeklausur Universität Osnabrück Henning Wenke, M. Sc. Sascha Kolodzey, B. Sc., Nico Marniok, B. Sc.

Graphische Datenverarbeitung Visualisierungstechniken. Prof. Dr. Elke Hergenröther

Szenengraphen. Codruţa Cosma. Universität Ulm Sommersemester 2005

Datenbanken und Informationssysteme. Bildbearbeitung. DI (FH) Levent Öztürk

Computergrafik Universität Osnabrück, Henning Wenke,

Computergrafik. Ein anwendungsorientiertes Lehrbuch. Bearbeitet von Michael Bender, Manfred Brill

3D-Modellierungsprogramme

Lokale Beleuchtungsmodelle

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung. Vorlesung vom

Raster- und Vektorgrafik

DIGITALISIERUNG VON BILDERN. Ivana

Ajdovic/Mühl Farbmodelle FARBMODELLE

Beleuchtung Schattierung Rasterung

Die Welt der Shader. Fortgeschrittene Techniken III

2D-Clipping. Kapitel Clipping von Linien. y max. y min x min. x max

Echtzeit Videoverarbeitung

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Kapitel 4: Schattenberechnung

Licht und Schatten Visualieren mit dem PC. Andreas Asperl

EVC Repetitorium Blender

Rendering. (illumination/shading) Beleuchtungsmodelle. Schattierung von Polygonen. Lokale Beleuchtungsmodelle

Farbtechnik und Raumgestaltung/EDV

Einbeziehung von Elementen der 3D-Computergrafik in den Mathematikunterricht der Sekundarstufe II im Stoffgebiet Analytische Geometrie

GrafikprograntmiBtung

BILDBEARBEITUNG IM UNTERRICHT

Beleuchtung. Matthias Nieuwenhuisen

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

Parallele Algorithmen in der Bildverarbeitung

1 Transformationen. 1.1 Transformationsmatrizen. Seite 1

Medientechnik. Übung 5 Java Bildbearbeitung - Teil 2

Rastergrafikalgorithmen

Graphische Datenverarbeitung und Bildverarbeitung

Universität Augsburg. 20. April B. Möller (U. Augsburg) Computergraphik SS April / 6

Automatisch-generierte Texturen aus Laserpunktwolken

Farbmomente. Christoph Sommer Seminar Inhaltsbasierte Bildsuche

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Multimedia für Referate und Präsentationen

Programmierpraktikum 3D Computer Grafik

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 7, Fallstudie Point-In-Polygon Algorithmus Diskretisierung: Linien zeichnen

Morphing. von Tim Sternberg. Im Rahmen des Seminars Manipulation und Verarbeitung digitaler Bilder

CSG (constructive solid geometry) mit mengentheoretischer Verknüpfung von Elementarobjekten.

NTB Druckdatum: VC. 2D 3D Inverse 3D. Rotation Retourdrehen

Referat von Yvonne Kaiser und Carolin Siebert

Einführung in die Informatik

2015 Sebastian Wahner - Die teilweise oder vollständige Weiterverbreitung dieses Werkes ist ohne Einverständnis des Autors

Beleuchtung. Kapitel 18

Morphologische Operationen (12 Punkte)

0 Einführung. Computergrafik. Computergrafik. Abteilung für Bild- und Signalverarbeitung

Programmierpraktikum 3D Computer Grafik

3D Programmierpraktikum: Schattenberechnung in Echtzeit

Grundlagen von Formen

Grundlagen der Spieleprogrammierung

4.7 Globale Beleuchtungsmodelle

CAUSTICS & GODRAYS. Jacob Skuratovski

OpenGL und die Fixed-Function-Pipeline

Grundlagen digitaler Bildbearbeitung

3D - Modellierung. Arne Theß. Proseminar Computergraphik TU Dresden

Im Original veränderbare Word-Dateien

3D Programmierpraktikum: Szenegraphen und Texturierung

Farbmodelle. Erinnerung an Einführung: Farbsehen durch drei Arten von Zäpfchen. Alle Farbeindrücke simulierbar durch drei Farben

Wima-Praktikum 2: Bildsynthese-Phong

Shadingalgorithmen zur Visualisierung nanostrukturierter Oberflächen

Teil 7: Beleuchtung. Einleitung. Einleitung. Beleuchtungsmodelle, Schattierungsmodelle

Computergrafik Universität Osnabrück, Henning Wenke,

Conservative Volumetric Visibility with Occluder Fusion

4. 3. Grafik-Programmierung

Transkript:

Grundlagen der Computergrafik 2D/ 3D Grafik Institut für Medieninformatik, LMU München Seminar: Medientechnik, SoSe 2003 Prof. Hussmann Referentin: Radostina Ruseva Entwicklung der Computergrafik Die erste Computergrafik: ASCII-Art Grafik keine realistischen Bilder bis vor kurzem einzige Möglichkeit für Grafiken auf z.b. Handys [22]

1950er: erste Animation: Darstellung eines springenden Balles mittels einen Oszylographen auf einem schwarzen Brett Entwickler: Jay Wright Forrester, einer der ersten Entwickler der Computergrafik.[18] noch mehr an MIT... das erste Videospiel "Spacewar" von Steve Russel in 1961 [18] die Dissertation von Ivan Sutherland 1963 Das sogenannte Sketchpad, das er entwickelt hat, und das von seinen Kollegen für elektronischen Unsinn gehalten worden ist, gilt als eine der ersten interaktiven Grafikanwendungen.[18]

1964: Anfänge von CAD/CAM im Automobilentwurf Algorithmen und Verfahren zur ständigen Verbesserung der Darstellung: Algorithmus für Hidden Surface Elimination von John Warnok in 1969 Anti-Aliasing Verfahren zur Kantenglättung von Frank Crow in 1973 Raytracing bei den Bell Labs und der Cornell University in 1980 erster rein mit Hilfe von Computergrafik animierter Film Tron in 1982. Grafische Benutzeroberflächen, Grafikbibliotheken X-Windows von MIT in 198 GKS (Graphics Kernel System): ein internationaler Standard für 2D-Grafik, im wesentlichen bestehend aus einer Reihe von Bibliotheksfunktionen zum Zeichnen von Linien, Markierung und Text. Peter A. Henning Taschenbuch Multimedia S.121

PHIGS (Programmer's Hierarchical Interactive Graphics System) in 1988: ein auf GKS basierender Standard mit Datenstrukturen und Funktionen zum Rendering und zur Manipulation von grafischen Darstellungen in 3D. Peter A. Henning Taschenbuch Multimedia S.121 PEX (PHIGS Extension to X) in 1989; OpenGL in 1983: Standard für 2D- und 3D- Computergrafik Heute: Lifestreaming, Teleconferencing, MMS-Nachrichten

Definition der Computergrafik Nach dem Duden ist das der Bereich der Datenverarbeitung, der sich mit der Erfassung, (Digitalisierung), Speicherung (Codierung: bitmap- und vektororientierte Verfahren), Verarbeitung (z.b. Filtern von Bildern) und Ausgabe (Bildschirm, Drucker, CAM-Fräse etc.) graphischer Darstellungen befasst. Aufgaben der Computergrafik die Beschreibung von Bildern, die Ein- und Ausgabe der Beschreibung, sowie die Manipulation der Beschreibung des zugehörigen Bildes. [23]

Anwendungsbereiche Entwicklung von grafischen Benutzeroberflächen, Print, electronic Publishing, Kartografie, CAD (Computer Aided Design), Echtzeitsimulation und Animation, Überwachungs- und Steuerungssysteme, Medizin, Visualisierung im Forschungsbereich, Unterhaltung, und auch nicht an letzter Stelle Computergrafik als Kunst. [23] Pixelbild? Ein Pixelbild besteht aus einer Menge quadratischer Flächen, die einfarbig, flächig gefüllt sind. Also: ein Raster, wo jedes Feld (Pixel) eine Farbinformation in Bits speichert, daher auch der Name Bitmap. [25]

Pixelbild Bildschirm stellt Bild mit höchstens so vielen Pixeln wie seinen eigenen dar Größenabhängigkeit der Rastergrafiken viele optische Details - das Bild realistisch die meist benutzte Grafik heute viel Speicherplatz nötig nur schwer korrigierbar Darstellung eines *.bmp Im Beispiel: die Darstellung eines roten *.bmp Bildes im Hexeditor File Editor 3.1. Freedownload: http://download.com.com/3001-2352-4930559.html Wir haben ein Bild, das nur rot präsentiert, damit demonstrierbar ist, wie die Darstellung davon im Computer aussieht. 00 00 FF stehen für Blau Grün und Rot, also: je 6 Hexziffern beschreiben ein Pixel.

Vektorgrafik Design von mehrteiligen Objekten, Schriftarten oder Spielen Objekte durch mathematische Funktionen beschrieben Unabhängige Ausgabe am Bildschirm Kein Verlust an Qualität bei Vergrößerung

Vor- und Nachteile ganz wenig Speicherplatz sehr leicht korrigierbar schnell zu berechnen Details fast nicht möglich Problem mit dem maschinellen Einscannen und Ausgabe von Dateien, da der Bildschirm als Ausgabe nur die Rastergrafik kennt Begriffe der Computergrafik Rendering ist (in der Computergrafik) die Berechnung einer Rastergrafik, wie das Umwandeln einer Vektorgrafik in ein Rasterbild.

Anti-Aliasing benutzt man, um Treppenstufen bei schrägen Linien auszugleichen. Das gelingt durch Interpolation, also: farbliche Angleichung benachbarter Bildpunkte, dabei entstehen normalerweise auch negative Effekte: i.b. das interpolierte Bild wirkt dicker. [21] Clipping Clipping ist das Ausschneiden bestimmter unsichtbarer Teile eines geometrischen Objekts für die Darstellung am Bildschirm. Diese Teile werden aber mittels Clipping nicht gelöscht, sonder einfach nur verborgen. Deshalb können sie immer wieder nach Wunsch neu angezeigt werden. 3D-Clipping ist das Clipping von 3D-Objekten, wo das versteckte Element nicht ein Polygon, sondern ein Körper ist.

Transformationen drei Grundarten von Transformationen: Translation Skalierung Rotation Beim Ausführen der drei Transformationen ist die Reihenfolge entscheidend. Translation ist die Verschiebung eines Objektes in eine gerade Richtung. Skalierung ist die Vergrößerung bzw. Verkleinerung von Objekten. Eine proportionale Skalierung nennt man auch unär. Rotation ist das Drehen eines Objektes um einen Winkel. Rotationen sind nicht kommutativ, also verschiede Reihenfolgen der Rotationen ergeben verschieden Bilder im Raum.

Begriffe der 2D-Grafik Koordinatensystem der 2D-Grafik ist das kartesische Koordinatensystem, mit den Achsen x und y, wobei es öfters der Fall ist, dass die beiden Achsen vertauschte Richtungen haben. Bresenham-Algorithmus zum Zeichnen einer Linie void bresenham_linie(point P, Point q) P nach q { Point p = new Point(P); int error, delta, schwelle, dx, dy, inc_x, inc_y; // zeichnet Linie von dx = q.x - p.x; dy = q.y - p.y; if (dx>0) inc_x= 1; else inc_x=-1; if (dy>0) inc_y= 1; else inc_y=-1;

if ( Math.abs (dy) < Math.abs (dx)) { // flach nach oben oder flach nach unten error = -Math.abs(dx); delta = 2*Math.abs(dy); schwelle = 2*error; while (p.x!= q.x) { set_pixel(p); p.x+=inc_x; error = error + delta; if (error >0) { p.y+=inc_y; error = error + schwelle;} } } else // steil nach oben oder steil nach unten { error = -Math.abs(dy); delta = 2*Math.abs(dx); schwelle = 2*error; while (p.y!= q.y) { set_pixel(p); p.y+=inc_y; error = error + delta; if (error >0) { p.x+=inc_x; error = error + schwelle;} } } set_pixel(q); }

Splines: durch Stützpunkten definierte Freiformkurven (Bezierkurve), die durch zwei off points geführt werden. [10] Polygon: planare, nach einer Seite orientiere Flächen komplexe Szenen und Objekte werden einfach in Polygone zerlegt, da bestimmte Operationen auf Polygonen schneller ausgeführt werden können [10] Solid Modelling ist die Zusammensetzung verschiedener einfacher Körpern mittels boolescher Operatoren zu komplexen Objekten. [10] 3D-Grundlagen Koordinatensystem in der 3D-Grafik sind die Modelle der linken oder der rechten Hand, wobei als Achsen x, y und die z- Koordinate genommen werden. Elementarobjekte der 3D-Grafik sind die gut bekannten Polyeder (z.b. Würfel), oder die 3D-Figuren aus gekrümmten Polygonen (z.b. Zylinder, Kugel)

Die anderen Arten von Repräsentationen von 3D-Objekten sind das Drahtmodell (z.b. Drahtmodell mit Kantenliste) oder durch das Flächenmodell (z.b. Flächenmodell mit Flächenliste, Flächenmodell mit Halbkantendarstellung, Flächenmodell mit Schattierung, ohne abgewandte Flächen, Flächenmodell mit Berechnung von Lichtreflektion, ohne verdeckte Teile von Flächen). Culling, auch unter Removal bekannt, ist das Unterdrücken von überflüssigen Flächen. Bei der Back-Face Removal (links) unterdrückt man die Rückflächen, und bei dem Hidden Surface Removal (rechts) - entfernt man die nicht sichtbaren Flächen einfach durch Löschen. [08]

Licht und Schatten Durch Schattierungsalgorithmen berechnet man die Grau- und die Farbanteile der Schattierungswerte für die Darstellung eines Körpers. Es gibt im Wesentlichen drei wichtige Schattierungsalgorithmen (lokale Schattierungsverfahren). Konstante Schattierung 1. Lichtquelle im Unendlichen 2. unabhängig von der Entfernung zum Objekt 3. nur diffuse oder ambiente Beleuchtung möglich 4. unrealistische Darstellung

Die Gouraud-Schattierung berechnet die Schattierung an den Kanten des Polygons und interpoliert im Inneren. Die Phong-Schattierung interpoliert die Oberflächennormalen für jeden Punkt im Inneren des Polygons, und berechnet explizit die Schattierungswerte für jedes Pixel. [26] Caustics nennt man der Algorithmus zur realistischen Abbrechung von hellen Lichtstrahlen im Medium Glas (siehe Beispiel rechts) oder Wasser, und ihre wahrhafte Projektion auf eine unmittelbare Fläche. [20]

Farbmodelle Definition: Ein Farbmodell ist ein Koordinatensystem, das alle sichtbaren Farben eines Farbbereichs umfasst. [13] Hardware-orientierte Farbmodelle sind z.b. das RGB (Rot/Grün/Blau-Modell) und das CMY/CMYK (Cyan/Magenta/Yellow/Black-Modell). [13] Das RGB Modell ist für die Ausgabe an Bildschirme entwickelt worden. Es ist ein additives Farbmodell, was bedeutet, dass Schwarz genau dann entsteht, wenn man keinen Anteil aller drei Farben hat. Und umgekehrt, wenn man den maximalen Anteil aller drei Farben mischt - Weiß. [13]

Da das CMY ein subtraktives Modell ist, sollte man bei Maximumanteilen aller Farben Schwarz bekommen. Dieses Modell wird aber meistens bei Druckern benutzt und beim Mischen von den drei Farben erzeugt man kein reines Schwarz. Deshalb wurde zu CMYK (+Black) vervollständigt. [13] YUV-Modell Das YUV Modell wird meistens beim Pal Fernsehen benutzt, bei dem steht die Y- Koordinate für die Luminanz (Helligkeit der Farben). [13]

Radiosity Radiosity ist ein Beleuchtungsmodell, bei dem Lichtenergie auf Flächen projiziert wird, wobei eine besonders realistische Darstellung gelingt. [10] Radiosity Effekt [19] links oben ohne Anwendung von Radiosity [19] rechts oben Raytracer Raytracer verfolgen vom Auge ausgehend zur Lichtquelle jeden Lichtstrahl und berechnen für jedes Pixel die Farbe abhängig von seiner Beleuchtung. [10]

Texturen bestimmen den Farbwert der darzustellenden Pixel eines Polygons Texel (Textur-Pixel) Jedes Texel hat als Parameter zwei Texturkoordinaten Der Algorithmus füllt ein Polygon mit einer Textur auf, indem den Eckpunkten Texturkoordinaten zugewiesen werden, welche dann im Inneren interpoliert werden.[10] VRML Virtual Reality Markup Language ist eine Beschreibungssprache für VR-Szenen, die durch ein VRML-Browser umgesetzt wird. Eine VRML-Szene ist eine ASCII-Datei. Sie besteht aus einem Dateikopf und einem strukturierten Szenen-Grafen. Der Szenen- Graf enthält die ganze Information über die Animation und hat eine baumförmige Struktur.

OpenGL Graphik-Bibliothek zur Darstellung von 2D- und 3D-Objekten besteht aus zwei getrennten Bibliotheken: Die Basis GL und eine Erweiterung, der GLU (Open GL Utility Library) stellt keine Funktionen für das Öffnen von Fenstern, Menüs, Import von Bilder, Einlesen oder Auswerten von Dateien zur Verfügung existiert unter verschiedenen Implementierungen: GLX (X-Windows), GLUT (plattformenunabhängig), Microsoft OpenGL (Windows), Mesa3D (Software-Implementierung des OpenGL Standard). [05] Quellen: [01] http://www.sgistuff.org [02] http://www.jahshaka.com/ [03] http://www.aevermann.com/ [04] http://www.siggraph.org/ [05] http://www.opengl.org/ [06] http://www.cybermonkey.jp/html/game/swron/index.htm [07] http://www.pixar.com/shorts/gg/theater/short_320.html [08] http://www.cc.gatech.edu/classes/ay2001/cs4451_summer/hiddensurface.ppt [09] http://www.ii.uam.es/~pedro/graficos/teoria/ [10] http://www.gerndt.net/cg/glossary.html [11] http://de.wikipedia.org/wiki/ [12] http://www.fractalus.com/ifl/ [13] http://www.uni-regensburg.de/edv/misc/compgrafik/script_5.html [14] http://lcs.www.media.mit.edu/groups/el/projects/spacewar/ [15] http://www.cs.berkeley.edu/~ddgarcia/cs39a/hunger.html [16] http://www.uni-kl.de/fb-biologie/ag-friauf/d31/projekt_sage.html [17] http://www.cybermonkey.jp/html/game/swron/index.htm; Online Tron spielen [18] http://weblab.uni-lueneburg.de/archiv/seminare/einfuehrungdv/grafik/computergrafik.htm [19] http://had.independent.sk/3d_gal-cornellbox.php [20] http://www.glossar.de/glossar/z_rendering.htm [21] http://www.its2.uidaho.edu/photoshop/intro/anti-aliasing.htm [22] http://eserver.org/multimedia/44 [23] http://www-lehre.informatik.uni-osnabrueck.de/~cg/2000/skript/index.html [24] http://sprott.physics.wisc.edu/fractals/fracday2.gif [25] http://home.t-online.de/home/320049763453-0001/2dgrafik/2dgrafik.html [26] http://www.geoit.ethz.ch/education/ris3/ris_iii_08.pdf 44