Einführung Willkommen zu Vorlesung+Praktikum Graphische Datenverarbeitung © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Einführung zur Person: •Harald Gläser •Sprechstunde: Mittwochs 13:00 - 13:45 C207 •[email protected] © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Einführung zur Vorlesung Fragen gleich stellen ! Folien gibt`s unter: www.computer-networking.de\~glaeser 2 Veranstaltungen: a) Klausur b) Praktikum: I) Alle Aufgaben müssen von jedem selbständig bearbeitet werden (kein “leeres Blatt”, II) 5 von 5 Aufgaben müssen bestanden werden. © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Einführung (im email - UFO System anmelden !!) www.ai-lab.fh-furtwangen.de Link zu UFO © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Literatur: Die Vorlesung orientiert sich an dem Java3D Tutorial/ https://java3d.dev.java.net/ http://java.sun.com/products/java-media/3D/ (Tutorial und Examples runterladen In C207 kann man sich ein Exemplar ausleihen ) Lutz, Emmel, Java3d - Der Grundkurs, Verlag Harri Deutsch J. Encarnação et. al., Graphische Datenverarbeitung 1, R. Oldenbourg Verlag München Wien www.j3d.org eine Java3D „community“ Seite © Prof. Dr. H. Gläser, Graphische Datenverarbeitung bitte auf eigenen Rechnern installieren: Download http://java.sun.com/products/java-media/3D/download.html java3D 1.4.0_01 (DirectX) SDK (Vorher muss Java installiert sein) Abgabe auf USB Stick möglich © Prof. Dr. H. Gläser, Graphische Datenverarbeitung © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Einführung Praktikum Abgabetermine 1. ?.06 2. 3. 4. 5. ?.06 ?.06 ?.06 ?.06 - alle zwei bis 3 Wochen Abgabe einer Praktikumsaufgabe - selbständiges Lösen der Aufgaben von jedem- jede /r muss selbstgeschriebenen Code abgeben / vorzeigen - keine Anwesenheitspflicht im Praktikum (es sei denn Abgabe)= Betreuung auf Anfrage (z.B. email) - nicht länger als 9 Zeitstunden mit den Aufgaben verbringen ! © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Einführung Klausurtermin: 2. Feb.2007 © Prof. Dr. H. Gläser, Graphische Datenverarbeitung ? Raumlage Ziele der Vorlesung Knapper Überblick über grundlegende Paradigmen der graphischen Datenverarbeitung Einführung in Java3D Die Zusammenstellung der Themen erhebt keinen Anspruch auf Vollständigkeit © Prof. Dr. H. Gläser, Graphische Datenverarbeitung © Prof. Dr. H. Gläser, Graphische Datenverarbeitung © Prof. Dr. H. Gläser, Graphische Datenverarbeitung © Prof. Dr. H. Gläser, Graphische Datenverarbeitung © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Einführung Was ist graphische Datenverarbeitung ?? Computer Graphik = Graphische Datenverarbeitung Definition 1 (ISO) Methoden und Techniken für die Konvertierung von Daten von und zu (?) einer graphischen Darstellung mit Hilfe eines Computers Teilgebiete: generative Computergraphik Bildverarbeitung Bildanalyse © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Beschreibung Bild Bild Bild Bild Beschreibung Einführung Definition 2 Computer Graphik = generative Computer Graphik © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Einführung Generative Computer Graphik Modell Objekte, Prozeduren, Datenstrukturen nichtgraphische Bestandteile graphische Objekte Linie, Fläche, Körper, Texte, ... geometrische Daten Darstellung Koordinaten, Gleichungen Daten und Verfahren für Farbe, Textur, Licht Bild, Zeichnung © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Anwendungen der graphischen DV Präsentationsgraphik Kartographie GIS geographische Informationssysteme Konstruktion (CAD) Prozeßüberwachungs- und leitsysteme Simulation - Visualisierung der Resultate Spiele Computergenerierte Filme Computerkunst Virtuelle Realität © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Grundbegriffe Rastergraphik Bild besteht aus farbigen Punkten, an (gleichmäßig angeordneten) Koordinaten Pixel = picture element Beispiel für nicht-Raster Graphik ? Auflösung != Adressierbarkeit Ein Pixel umfaßt mehrere „elementare“ Pixel CRT (cathode ray tube - Braun‘sche Röhre) LCD (liquid crystal display) © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Objekt (Dreieck-Vektorgraphik) Darstellung (Dreieck-Rastergaphik) © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Pixel können überlappen - Vorteil ? © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Rasterkonversion von Linien Linien sollen gerade aussehen Exakte Lage der Endpunkte gleichmäßige Helligkeit schneller Algorithmus (Integerarithmetik) © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Bresenham Algorithmus Vorraussetzung: Linie von (x1, y1) nach (x2,y2) ganzzahlige Pixelkoordinaten Steigung der Linien zwischen 0 und 1 (Warum ist das keine Einschränkung ?) ideale Linie dy y = y1; dy = (y2-y1)/(x2-x1); s=0; for (x von x1 bis x2) { writepixel(x,y,value); s = s+dy if (s>0.5) { y = y +1; s = s - 1; } } s x=i x=i+1 © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Ganzahlige Variante: erweitere s und dy mit 2*(x2-x1) Berücksichtigt der Bresenham Algorithmus tatsächlich nur die Punkte mit dem kürzesten Abstand zur Ideal Linie ? © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Java3D vs. OpenGL OpenGL Java3D prozedural Proprietäres (aber kostenfreies) Produkt der Firma Sun auf Basis Java objektorientiert „low level“ „high level“ Allgemeiner Industriestandard für 3D Graphik © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Microsoft (win32) Direct3D / DirectX Programm, das auf dem MS Betriebssystem läuft (Funktionalität vergleichbar mit OpenGl) Java C / Java Java3D OpenGL DirectX Betriebssystem Graphikkarte © Prof. Dr. H. Gläser, Graphische Datenverarbeitung WWW (Web3D Konsortium) VRML Virtual Reality Modeling Language Viewer beruhen auf OpenGL oder D3D VRML ist eine Datei Beschreibungssprache Java3D ist eine API (Application Programming Interface) © Prof. Dr. H. Gläser, Graphische Datenverarbeitung Praktikum: Erklärung der neuen Aufgabe © Prof. Dr. H. Gläser, Graphische Datenverarbeitung