Graphische Datenverarbeitung und Bildverarbeitung



Ähnliche Dokumente
Computergraphik Grundlagen

Algorithmen und Datenstrukturen Bereichsbäume

Inhaltsverzeichnis. 1 Hardwaregrundlagen

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Linienland, Flächenland und der Hyperraum Ein Ausflug durch die Dimensionen

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Einführung in. Logische Schaltungen

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Zeichen bei Zahlen entschlüsseln

6.2 Scan-Konvertierung (Scan Conversion)

Quadratische Gleichungen

Definition und Begriffe

Professionelle Seminare im Bereich MS-Office

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Formelsammlung zur Kreisgleichung

Die Übereckperspektive mit zwei Fluchtpunkten

Abituraufgabe zur analytischen Geometrie, Hessen 2013, B2, Grundkurs (TR)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Vorbereitungsaufgaben

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Mathematik 1: (ohne Taschenrechner) Korrekturanleitung. Kanton St.Gallen Bildungsdepartement. BMS/FMS/WMS/WMI Aufnahmeprüfung Frühling 2015

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

Praktikum Schau Geometrie

computer graphics & visualization

3.2 Spiegelungen an zwei Spiegeln

Graphische Datenverarbeitung und Bildverarbeitung

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung

EINMALEINS BEZIEHUNGSREICH

Erfahrungen mit Hartz IV- Empfängern

DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE

Computergraphik I. Scan Conversion: Lines & Co. Einordnung in die Pipeline. G. Zachmann Clausthal University, Germany zach@tu-clausthal.

CTI SYSTEMS S.A. CTI SYSTEMS S.A. 12, op der Sang. Fax: +352/ L Lentzweiler. G.D.

Wie lässt sich die Multiplikation von Bruchzahlen im Operatorenmodell und wie im Größenmodell einführen?

1 Mathematische Grundlagen

Das Mathematikabitur. Abiturvorbereitung Geometrie. Autor: Claus Deser Abiturvorbereitung Mathematik 1

Computer Graphik II Tesselierung impliziter Kurven und Flächen

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Lichtbrechung an Linsen

Im Original veränderbare Word-Dateien

Falten regelmäßiger Vielecke

Internet Explorer Version 6

Lineare Gleichungssysteme

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

Eignungstest Mathematik

Algorithmische Kryptographie

A(3/1/2) B(6/2/2) C(5/9/4) D(1/4/3)

Mathematik VERA-8 in Bayern Testheft B: Realschule Wirtschaftsschule

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Darstellungsformen einer Funktion

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Diagnostisches Interview zur Bruchrechnung

Die Größe von Flächen vergleichen

Computer Vision I. Nikos Canterakis. Lehrstuhl für Mustererkennung, Universität Freiburg,

Repetitionsaufgaben: Lineare Funktionen

Algorithmische Geometrie

Mathematik 1: (ohne Taschenrechner) Korrekturanleitung

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

einfache Rendite

Bei Konstruktionen dürfen nur die folgenden Schritte durchgeführt werden : Beliebigen Punkt auf einer Geraden, Strecke oder Kreislinie zeichnen.

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Copyright 2015 CADRela?ons.de. 5 GUTE GRÜNDE ein Integriertes CAD/CAM- System zu nutzen

BROTTEIG. Um Brotteig zu machen, mischt ein Bäcker Mehl, Wasser, Salz und Hefe. Nach dem

Kosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm

Der Zwei-Quadrate-Satz von Fermat

GRS SIGNUM Product-Lifecycle-Management

Anleitung über den Umgang mit Schildern

Gefahr erkannt Gefahr gebannt

Grundbegriffe der Informatik

Simulation LIF5000. Abbildung 1

IBIS Professional. z Dokumentation zur Dublettenprüfung

2. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 7 Saison 1962/1963 Aufgaben und Lösungen

Dreiecke. Worum geht es? Das Material

Whitebox-Tests: Allgemeines

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

6 Zeichnungsableitung

Simplex-Umformung für Dummies

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Lissajous-Figuren Versuche mit dem Oszilloskop und dem X Y Schreiber

Wie löst man Mathematikaufgaben?

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Lineare Gleichungssysteme

Statuten in leichter Sprache

Ein Bild in den Text einfügen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Schnittstelle DIGI-Zeiterfassung

Bilder im Gemeindebrief ansprechend platzieren

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Repetitionsaufgaben Wurzelgleichungen

Vorkurs Mathematik Übungen zu Polynomgleichungen

Tipps und Tricks für CATIA V5

Konzepte der Informatik

Objektorientierte Programmierung

Erster Prüfungsteil: Aufgabe 1

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren

Vorgestellt von Hans-Dieter Stubben

Leica 3D Disto CAD-Werkzeuge

Inverted Classroom für anspruchsvolle Themen

Transkript:

Graphische Datenverarbeitung und Bildverarbeitung Hochschule Niederrhein Clippen in 2D und 3D Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 1 Einordnung in die Inhalte der Vorlesung Einführung mathematische und allgemeine Grundlagen Hardware für Graphik und Bildverarbeitung Graphische Grundalgorithmen (Zeichnen graphischer Primitive, Methoden für Antialaising, Füllalgorithmen) Bildaufnahme (Koordinatensysteme, Transformation) Durchführung der Bildverarbeitung und -analyse Fourier Transformation Bildrestauration Bildverbesserung (Grauwertmodifikation, Filterverfahren) Segmentierung Morphologische Operationen Merkmalsermittlung und Klassifikation Erzeugung von Bildern in der Computergraphik Geometrierepräsentationen Transformationen in OpenGL Clipping in 2D und 3D Hidden Surface Removal Beleuchtungsberechnung Shading Volumenrendering als Beispiel für die Nutzung beider Gebiete Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 2

19.1 Einleitung Motivation und Anwendung: Clippen: Einleitung Abschneiden einer geometrischen Beschreibung an einem Clipkörper. Anwendungen: Fenstersysteme: Abschneiden der dargestellten Geometrie an den Fenstergrenzen (Bestandteil des Graphiksystems von Fenstersystemen) Abschneiden von 3d-Geometrien am Sichtkörper (Pyramidenstumpf bzw. Quader) Abschneiden eines verdeckten Polygons an einem davor liegenden Polygon (HSR) Exploration von Daten mit einer Clipebene Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 3 Einleitung Anwendungen von Clipping: Links: Clippen am Sichtkörper Mitte: Clippen bei der Bestimmung verdeckter Kanten Rechts: Clippen am Viewport Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 4

Was heißt Clippen? Einleitung 1. Entscheiden, welche Graphikprimitive komplett gezeichnet werden. 2. Entscheiden, welche Teile von Graphikprimitiven gezeichnet werden Schnittpunktberechnungen zwischen Graphikprimitiven und Clipgeometrie Geschlossene Polygone bzw. Polyeder sind nach dem Abschneiden nicht mehr geschlossen. Berechnung von verbindenden Kanten/Flächen. Beim Rendering muss das Clippen für jedes Polygon in 3d und für die sichtbaren Polygone nach Projektion in 2d durchgeführt werden. Zahl der Schnittpunktberechnungen minimieren. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 5 19.2 Clippen von Liniensegmenten an Rechtecken Lagebeziehungen zwischen Linie (p 1, p 2 ) und Rechteck: 1. p 1 und p 2 innerhalb (AB) Linie komplett innerhalb (accept) 2. p 1 und p 2 außerhalb und jenseits der gleichen Kante (CD) Linie komplett außerhalb (reject) Bei 1. und 2. nutzt man Konvexität einer Linie 3. p 1 und p 2 außerhalb aber in Bezug auf verschiedene Kanten -> testen, ob es zwei Schnittpunkte gibt (GH) 4. p 1 innerhalb p 2 außerhalb (EF) Berechne Schnittpunkt zwischen p 1; p 2 und dem Rechteck 5. p 1 außerhalb und p 2 innerhalb Vertauschen von p 1 und p 2 und dann vorgehen wie Fall 4 Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 6

Clippen von Liniensegmenten an Rechtecken Test, ob Punkt p im achsenparallelen Rechteck (xmin, xmax, ymin, ymax): If (p(x)>=xmin && p(x)<=xmax && p(y)>=ymin && p(y)<=ymax) inside = true; Schnittpunktberechnungen: 1. Identifizieren der geschnittenen Rechteckkante Tests separat durchführen, ggf. kommen zwei Kanten in Frage (siehe EF) 2. Schnittpunktberechnung mit dieser (diesen) Kante(n) Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 7 Clippen von Liniensegmenten an Rechtecken Cohen-Sutherland-Algorithmus: Bestimme für jeden Eckpunkt (x;y) ein Bitfeld, das angibt, ob Eckpunkt jenseits des entsprechenden Wertes ist. 1. Bit: y > ymax, 2. Bit: y < ymin, 3. Bit: x > xmax, 4. Bit: x < xmin 1001 1000 1010 0001 0000 0010 0101 0100 0110 Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 8

Clippen von Liniensegmenten an Rechtecken Cohen-Sutherland-Algorithmus: outcode (p1) und outcode (p2) seien die Bitfelder der Eckpunkte: if (outcode (p1) == 0000 && outcode (p2) == 0000) accept; if (outcode (p1) & outcode (p2)!= 0000) // bitweises und reject; if (outcode (p1) outcode (p2)!= 0000) calculate_intersection (p1, p2, x_min, x_max, y_min, y_max) Schnittpunktberechnung hängt von der Linienrepräsentation ab. Parametrische Darstellung günstig, weil keine Sonderfälle (z.b. vertikale Linien) auftreten. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 9 Clippen von Liniensegmenten an Rechtecken Cohen-Sutherland-Algorithmus: A (0000) B (0000) o1 o2 = 0 ACCEPT C (0110) D (0010) o1 & o2 <> 0 REJECT E (0000) F (1010) o1 = 0, o2 <> 0 ACCEPT (Linie verkürzen) G (0001) H (1000) o1 & o2 = 0? (Schnittpunkttest mit den Seiten des Fensters) Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 10

Clippen von Liniensegmenten an Rechtecken Parametrische Liniendarstellung: p(t) = (1-t) p 1 + t p 2. Für t 0 und t 1 Linie von p 1 zu p 2. Wenn es einen Schnittpunkt zwischen (p 1 ; p 2 ) und einer Rechteckkante (r 1 ; r 2 ) gibt, dann gibt es Parameter s und t, mit s in (0,1) und t in (0,1) so dass r(s) = (1-s) r 1 + s r 2 = p(t). Lösung: Gleichungen für x und y-komponente der Punkte aufstellen und gleichsetzen (2 Gleichungen; 2 Unbekannte) Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 11 Clippen von Liniensegmenten an Rechtecken Beispiel: Schnittpunktberechnung mit der unteren Rechteckkante (x min ;y min ) (x max ; y min ) Schnittpunktberechnung an horizontalen und vertikalen Kanten vereinfacht sich. I. (1-t) x 1 + t x 2 = (1-s)x min + s x max II. (1-t) y 1 + t y 2 = (1-s)y min + s y min (1-t) y 1 + t y 2 = y min -t y 1 + t y 2 = y min - y 1 ymin y1 t = y y 2 1 Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 12

Clippen von Liniensegmenten an Rechtecken Zusammenfassung: Clipprozedur für eine Linie (x 1 ;y 1 ) (x 2 ; y 2 ) an einem Rechteck erzeugt neue Linie (x 3 ;y 3 ) (x 4 ; y 4 ), wobei (x 3 ;y 3 ) und (x 1 ;y 1 ) sowie (x 2 ; y 2 ) und (x 4 ; y 4 ) gleich sein könnten. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 13 19.3 Clippen von Polygonen an Rechtecken Grundsätzlich kann das Clippen von Polygonen (p 1 ;p 2 ; ; p n ) an Rechtecken durch sukzessives Clippen der Linien (p i ;p i+1 ) durchgeführt werden. Problem: Konkave Polygone Durch Clippen kann ein konkaves Polygon in mehrere Polygone zerfallen. Lösungsmöglichkeiten: Unterteilung des Polygons in konvexe Polygone (z.b. Triangulierung) oder Einführen von zusätzlichen Kanten. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 14

Clippen von Polygonen an Rechtecken Einfügen von zusätzlichen Kanten, um geschlossenes Polygon zu repräsentieren Triangulierung eines konkaven Polygons. Zusammenhang zwischen Dreiecken und Polygon muss repräsentiert werden. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 15 Clippen von Polygonen an Rechtecken Clippen in einer Pipeline-Architektur: sukzessive an den 4 Rändern clippen. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 16

Sutherland-Hodgman Clipping Zuschneiden eines gegebenen Polygons schrittweise an den vier Geraden des Darstellungsfensters Entscheidung, welche Eckpunkte übernommen und welche neuen Punkte hinzugefügt werden Vier Fälle können dabei auftreten: Beide Punkte außerhalb des Fensters kein Punkt wird übernommen (A B) Kante von außen nach innen (B C) Übernahme von Schnittpunkt S 1 und Endpunkt C Beide Punkte liegen innerhalb des Fensters (C D) Übernahme des Endpunktes D Kante von innen nach außen (D A) Übernahme des Schnittpunktes S 2 Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 17 Sutherland-Hodgman Clipping Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 18

Sutherland-Hodgman Clipping Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 19 19.4 Clippen in 3D Wesentlicher Unterschied zwischen 2D und 3D: 2D: Schnittpunktberechnungen zwischen zwei Linien (Clipgeometrie durch Begrenzungslinien charakterisiert) 3D: Schnittpunkte liegen i. a. nicht auf den Kanten der Clipgeometrie. Schnittpunktberechnungen zwischen Linien und Flächen. Linie: p 1 p 2 Ebene: p 0 und n (Normale, senkrecht) (I) p(t) = (1-t) p 1 + t p 2 (II) n (p(t) p 0 ) =0 n t = n ( p0 p1 ) ( p p ) 2 1 Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 20

Clippen in 3D Erweiterung des Cohen-Sutherland-Algorithmus durch Ergänzen der Bitfelder pro Eckpunkt (2 zusätzliche Bits repräsentieren Vergleich mit z min und z max ) Für Schnittpunktberechnung in parametrischer Form wird eine 3. Gleichung ergänzt, die sich auf die z-koordinaten bezieht. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 21 Clippen in 3D Clippen von Linien gegen achsenparallele Quader (Sichtbereich bei der Parallelprojektion). Vereinfachung wie im 2D-Fall. Clippen von Linien gegen Pyramidenstumpf (perspekt. Projektion): Scherung des Sichtkörpers achsenparalleler Quader entsteht. Bei einer Pipeline-Architektur wird sukzessive gegen die 6 Begrenzungsflächen eines Quaders getestet. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 22

19.5 Effizientes Clippen komplexer geometrischer Objekte Schnittpunktberechnungen sind sehr aufwändig für - Große Polygone - Parametrische Kurven - Text Intern wird Text häufig durch parametrische Kurven repräsentiert (Skalierbarkeit) und diese werden wiederum in Polygone umgewandelt. Schnittpunktberechnungen sind sehr effizient für einfache Formen (Kugeln, Quader). Effiziente Verfahren nutzen einfache (konvexe) Formen als Hüllkörper und testen, ob Hüllkörper geclippt werden muss. Nur wenn Hüllkörper teilweise innerhalb und teilweise außerhalb der Clipgeometrie ist, werden aufwändigere Tests durchgeführt. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 23 Effizientes Clippen komplexer geometrischer Objekte Clippen von großen Polygonen mit Bounding Boxen Clippen von komplexeren Geometrien Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 24

19.6 Clipebenen zur Exploration von 3D-Daten Einschränkung der dargestellten Daten durch Bewegung einer Clipebene Bewegung einer Schnittebene durch 3D-Daten unterstützt z.b. die medizinische Diagnostik von Computertomographiedatensätzen. Kombination mehrerer Clipebenen möglich (Hardwareunterstützung für bis zu 6 Clipebenen) Slab Rendering: Kopplung von 2 Schnittebenen (vordere und hintere Begrenzung), wobei der Abstand gleich bleibt. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 25 Clipebenen zur Exploration von 3D-Daten Selektives Clippen: Die Clipebene wirkt sich nur auf bestimmte Objekte aus. Quelle: Höhne et al. 96 Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 26

Zusammenfassung Clippen ist eine wichtige Aufgabe im Renderingprozess. Clippen der Geometrie in 3D am Sichtkörper. Clippen der transformierten und projizierten Polygone an den Viewportgrenzen Clippen von komplexeren Geometrien wird auf Clippen von Polygonen und schließlich von Linien zurückgeführt. Clippen ist aufwändig, weil Schnittpunktberechnungen (Linie- Linie bzw. Linie-Fläche) nötig sind. Effiziente Verfahren reduzieren die Zahl der notwendigen Schnittpunktberechnungen, z.b. durch Bounding Box-Tests. Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 27