(6) Polygon Clipping. Vorlesung Computergraphik I S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU
|
|
- Hajo Richter
- vor 5 Jahren
- Abrufe
Transkript
1 (6) Polygon Clipping Vorlesung Computergraphik I S. Müller KOBLENZ LANDAU
2 Wiederholung I Clipping Berechnung eines Ausschnitts Test der Gültigkeit der Parameter bei Putpixel zu teuer, daher Clipping z.b. mit Bildschirmfenster 2-Stufiges Vorgehen: Schneller Test, ob Linie innerhalb/außerhalb des Bildschirms liegt Berechnung des Schnittpunkts nur, wenn unbedingt nötig. Cohen-Sutherland KOBLENZ LANDAU S. Müller - 2 -
3 Wiederholung II Durch einfache Bit-Operationen (und, oder) lässt sich schnell erkennen, ob eine Linie vollständig innerhalb bzw. außerhalb des Bereichs liegt B A E H C F c c 1 & c 2 1 c2 = = 0 Linie vollständig außerhalb, fertig. 0 Linie vollständig innerhalb, alles zeichnen. c A &c B c C &c D D G ignore c C c D 0100 cut 5. Sonst: neue Punkte bestimmen bis 3) erreicht ist c E &c F 0000 c E c F 0000 draw c G &c H 0000 c G c H 0110 cut KOBLENZ LANDAU S. Müller - 3 -
4 Wiederholung III A (Oben, Links) A (Oben) B (0000) A (0000) A (Oben, Rechts) A (0000) B (0000) A (Unten) B (Rechts) A (Rechts) c1 = outcode( ax, ay); c2 = outcode( bx, by); while((c1 c2)!= 0) if ((c1 & c2)!= 0) return ; a = ay-by; b = bx-ax; d = ax*by-ay*bx; if (c1 == 0) c = c2; else c = c1; if ((c & C_LEFT)!= 0) x = xmin; y = -(a*x+d)/b; else if ((c & C_RIGHT)!= 0) x = xmax; y = -(a*x+d)/b; else if ((c & C_TOP)!= 0) y = ymax; x = -(b*y+d)/a; else if ((c & C_BOTTOM)!= 0) y = ymin; x = -(b*y+d)/a; if (c == c1) ax = x; ay = y; c1 = outcode(ax, ay); else bx = x; by = y; c2 = outcode(bx, by); draw_line(ax, ay, bx, by); KOBLENZ LANDAU S. Müller - 4 -
5 Wiederholung IV: Cohen-Sutherland Dieser Algorithmus arbeitet sehr effizient Er findet vor allem für Clipping an Bildschirmkanten Verwendung Nachteil: er funktioniert nur für rechteckige Ausschnitte für beliebige Ausschnittsfenster ist der Bereichscode so nicht mehr einsetzbar; das gleiche gilt für die einfache Berechnung der Schnittpunkte zwischen den Kanten der Ausschnittsfenster und den Linien Erweiterung für beliebige Ausschnittsfenster: Cyrus- Beck KOBLENZ LANDAU S. Müller - 5 -
6 Wiederholung V: Cyrus-Beck Clipping von Linien, an beliebigen, konvexen Polygonzügen Eckpunkte des Clip-Objekts müssen gegen den Uhrzeigersinn definiert werden ( counterclockwise ) Degenerierte Kanten (identische Eckpunkte) müssen vorher abgefangen werden Berechnung der Normalen auf die Kanten des Clip-Objekts, wobei Normalen nach außen zeigen Start- und Endpunkt der zu zeichnenden Linie werden für jede Kante mit Hilfe eines In/Out-Tests klassifiziert Skalarprodukt zwischen Normale und Verbindung Kante-Linienpunkt Beiden innen: weitermachen ohne SP Berechnung Beide außen: aufhören. Falls SP berechnet wird, wird dieser ebenfalls als In/Out- Punkt klassifiziert. KOBLENZ LANDAU S. Müller - 6 -
7 Wiederholung VI: Cyrus-Beck void clipanddraw(vector2d a, Vector2D b) Vector2D v,w0,w1,n; float t, tin, tout, c0, c1, nenner; int i; v = b - a; tin = 0.0; tout = 1.0; c0 = dot(w0, n); c1 = dot(w1, n); if (c0 > 0 && c1 > 0) // alles außerhalb, fertig return; if (c0 <= 0 && c1 <= 0) // innerhalb, weitertesten continue; for (i=0; i<4; i++) int inext = (i+1) % 4; n.setx( clippoints[inext].y() - clippoints[i].y() ); n.sety( - (clippoints[inext].x() - clippoints[i].x()) ); w0 = a - clippoints[i]; w1 = b - clippoints[i]; nenner = dot(v,n ); t = -c0/nenner; if (nenner < 0 && t > tin) tin = t; if (nenner > 0 && t < tout) tout = t; if (tin > tout) return; b = a + tout * v; a = a + tin * v; line_cyrus_beck.vcproj drawline(a, b); KOBLENZ LANDAU S. Müller - 7 -
8 Wiederholung VII: Cyrus-Beck B B Out In Out Out A In A In Die klassifizierten Schnittpunkte (In/Out) werden entlang von t sortiert. Ist t_in (t für äußersten In-Punkt) größer als t_out (t für innersten Out-Punkt), dann liegt die Linie außerhalb und muss nicht gezeichnet werden. KOBLENZ LANDAU S. Müller - 8 -
9 KOBLENZ LANDAU Polygon Clipping
10 Ausgangspunkt Wir haben gesagt, dass die Applikation sicherstellen muss, dass put_pixel(x,y) nur für gültige Pixel aufgerufen wird. Bisher Clipping von Linien: Cohen-Sutherland: Clippen von Linien an rechteckigen Objekten mit Hilfe von Bereichscodes. Cyrus-Beck: Clippen von Linien an beliebigen, konvexen Polygonzügen Clipping von Polygon gegen Polygon: Sutherland-Hodgman KOBLENZ LANDAU S. Müller
11 Sutherland-Hodgman Clipping eines Polygonzugs gegen ein konvexes Clip- Polygon (z.b. Bildschirm); der Polygonzug darf konkav sein. Polygonzug (4 Punkte) Ergebnis (9 Punkte) Bildschirm KOBLENZ LANDAU S. Müller
12 Vorgehen Der Polygonzug wird der Reihe nach an den Clip-Kanten geschnitten. KOBLENZ LANDAU S. Müller
13 Vorgehen Das Ergebnis muss wieder ein geschlossener Polygonzug sein. Als Eingabe dient die Liste der Eckpunkte in der richtigen Reihenfolge (gegen den Uhrzeigersinn). Die Routine gibt nach dem Schnitt mit der jeweiligen Clip-Kante - eine neue Liste von Eckpunkten zurück. Wichtig: die Reihenfolge muss stimmen. KOBLENZ LANDAU S. Müller
14 4 Fälle Annahme: der Startpunkt A wurde bereits behandelt S B A B Beide Punkte drinnen: Output B A Linie zeigt nach außen: Output S S A A B B Linie zeigt nach innen: Output S, B Beide Punkte draußen: Output (nichts) KOBLENZ LANDAU S. Müller
15 Beispiel 1 S 1 D S 2 A C Input: Output: A B C D S 1 A B C S 2 B Man beginnt mit der Kante letzter Punkt (D) erster Punkt (A) KOBLENZ LANDAU S. Müller
16 Beispiel 2 S 1 S 3 S 2 S 6 A C S 5 Input: S 1 S 3 A B C S 2 S 1 S4 S5 S6 Output: A C S 4 B KOBLENZ LANDAU S. Müller
17 PseudoCode Diese Routine wird der Reihe nach für jede Clip-Kante aufgerufen. Innerhalb/Außerhalb : hier wird wieder die Normale auf die Kante berechnet und mit Hilfe des Vorzeichens des Skalarproduktes entschieden. Output : stellt ein neues Polygon zusammen, das am Ende zurückgegeben wird. Schnittpunkt berechnet den Schnittpunkt mit der Clipkante, wobei nur Punkte zw. A und B berechnet werden dürfen. Polygon SutherlandHodgman(Polygon poly, Edge clipedge) A ist letzter Punkt des Polygons; Schleife über alle Ecken B des Polygons KOBLENZ LANDAU S. Müller Wenn B innerhalb von clipedge Wenn A innerhalb von clipedge Output (B); else else S = Schnittpunkt (A,B,edge); Output(S), Output(B); Wenn A innerhalb von clipedge A = B; S = Schnittpunkt (A,B,edge); Output(S); Ergebnis von Output zurückgeben.
18 Beispiel D A C B Problem: unnötige Kanten mit Fläche Null KOBLENZ LANDAU S. Müller
19 Sutherland-Hodgman Clipping eines Polygonzugs gegen ein konvexes Clip- Polygon (z.b. Bildschirm); der Polygonzug darf konkav sein. Problem: unnötige Kanten können am Rand entstehen, was nicht unbedingt zu Fehlern führt; aus Effizienzgründen können diese nachträglich gelöscht werden. Lässt sich sehr gut als Pipeline in Hardware umsetzen. Erweiterung für konkave Clip-Polygone: Weiler-Atherton KOBLENZ LANDAU S. Müller
20 Clippen von Texten und Bildern Schrift besteht aus Kurven für Umrisse der Buchstaben Diese werden in der Regel einmal gezeichnet und in verschiedenen Auflösungen als Pixelmuster/Bitmap gespeichert Diese Bitmaps werden als Rechtecke betrachtet und gegen das Clip-Objekt geschnitten und nur der sichtbare Teil gezeichnet. Das gleiche gilt auch für Bilder. aa KOBLENZ LANDAU S. Müller
21 Mausabfrage und Polygon-Datenstruktur KOBLENZ LANDAU
22 Polygon Ein Polygon ist ein n-eck und setzt sich aus einer Reihe von zusammenhängenden Linien zusammen. Für eine korrekte Normalenberechnung wird vorausgesetzt, dass die Eckpunkte gegen den Uhrzeigersinn definiert sind. Datenstruktur für ein Polygon (2-dimensional), z.b.: Liste von Eckpunkten, Für jeden Eckpunkt x,y-koordinate KOBLENZ LANDAU S. Müller
23 Polygon2D Klasse (Polygon2D.h) #ifndef _POLYGON2D_H #define _POLYGON2D_H #include "Vector2D.h" #include <vector> using namespace std; class Polygon2D public: Polygon2D(); ~Polygon2D(); void addpoint(vector2d point); // neuen Punkt anfuegen Vector2D getpoint(int i) const; // Punkt i zurueckliefern void deletepoints(); // alle Punkte loeschen int numpoints() const; // Anzahl Punkte void draw() const; // Polygon zeichnen private: ; #endif vector<vector2d> mpoints; // dyn. Array der Punkte KOBLENZ LANDAU S. Müller
24 Polygon2D Klasse (Polygon2D.cpp) #include "Polygon2D.h" #include <GL/glut.h> Polygon2D::Polygon2D() Polygon2D::~Polygon2D() void Polygon2D::addPoint(Vector2D point) mpoints.push_back(point); Vector2D Polygon2D::getPoint(int i) const return mpoints[i]; void Polygon2D::deletePoints() mpoints.clear(); int Polygon2D::numPoints() const return mpoints.size(); void Polygon2D::draw() const glbegin(gl_line_loop); for (int i = 0 ; i < mpoints.size() ; i++) glvertex2f(mpoints[i].x(), mpoints[i].y()); glend(); KOBLENZ LANDAU S. Müller
25 GLUT Funktion zur Mausabfrage GLUT stellt uns eine Callback-Funktion für die Maus zur Verfügung. Diese wird aufgerufen, wenn eine Maustaste gedrückt wird. void mouse (int button, int state, int x, int y) Die Parameter: button: GLUT_LEFT_BUTTON, GLUT_MIDDLE_BUTTON, GLUT_RIGHT_BUTTON (zeigt an, welche Knöpfe gedrückt wurden) state: GLUT_UP, GLUT_DOWN (zeigt an, ob die Taste gedrückt oder losgelassen wurde). x, y: Die Position des Mauszeigers beim Drücken der Taste (gemessen von der linken oberen Ecke des Fenster!!!) KOBLENZ LANDAU S. Müller
26 Beispielprogramm mit Mauseingabe x y void mouse(int button, int state, int x, int y) Vector2D vertex( x, HOEHE - y); y Maus Bildschirm x if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) poly.addpoint ( vertex) ; else if (button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN) poly.deletepoints(); glutpostredisplay(); Wurde die linke Maustaste gedrückt, dann wird ein neuer Punkt zum Polygon hinzugefügt. Wurde die rechte Maustaste gedrückt, so wird das Polygon gelöscht (genauer: Liste auf Null Elemente zurückgesetzt). KOBLENZ LANDAU S. Müller
27 Beispielprogramm mit Mauseingabe #include "Vector2D.h" #include "Polygon2D.h" #include <GL/glut.h> #define BREITE 520 #define HOEHE 520 Polygon2D poly; void display( void) glclear (GL_COLOR_BUFFER_BIT); glcolor3f( 0.0, 0.0, 1.0); poly.draw(); glflush (); void init( void) glclearcolor (1.0, 1.0, 1.0, 0.0); glortho(0, BREITE, 0, HOEHE, -1, 1); void mouse( int button, int state, int x, int y) s. letzte Folie int main(int argc, char** argv) glutinit(&argc, argv); glutinitdisplaymode (GLUT_SINGLE GLUT_RGB); glutinitwindowsize( BREITE, HOEHE); glutinitwindowposition (100, 100); glutcreatewindow ( Polygoneingabe"); init (); glutmousefunc(mouse); glutdisplayfunc(display); glutmainloop(); return 0; Poly_input.vcproj KOBLENZ LANDAU S. Müller
28 Punkte und Linien in OpenGL KOBLENZ LANDAU
29 Punkte, Linien, Flächen Alle bisher behandelten Algorithmen zum Zeichnen von Punkten Zeichnen von Linien (mit Clipping und linearer Interpolation von Eckpunktwerten z.b. Farbe) sind in OpenGL sehr effizient implementiert und auch entsprechend auf die Möglichkeiten der Graphik- Hardware abgebildet. OpenGL bietet uns daher eine wichtige Bibliothek zur Erstellung von graphischen Systemen (API: application programming interface) KOBLENZ LANDAU S. Müller
30 Namenstypisierung Funktionen mit verschiedenen Parametern tragen Typ und Dimension im Namen: gl<func>1234b,ub,s,us,i,ui,f,d[v](...) 1,2,3,4: Dimension der Argumente b,ub,s,us,i,ui,f,d: Typ: GLbyte, GLubyte, etc. Sonderfall: GLclampf, GLclampd optional können Parameter auch als Vektor übergeben werden, gekennzeichnet durch das abschließende v KOBLENZ LANDAU S. Müller
31 Namenstypisierung Beispiel: glcolor34b,ub,s,us,i,ui,f,d[v](...) GLfloat f[3] = 0.0, 0.5, 1.0 ; GLubyte b[4] = 0, 127, 255, 255 ; glcolor3f( 0.0, 0.5, 1.0 ); glcolor3fv( f ); glcolor4ubv( b ); KOBLENZ LANDAU S. Müller
32 OpenGL: Punkte OpenGL setzt Primitive aus einzelnen Eckpunkten zusammen Genereller Ablauf: glbegin( GL_ ); glvertex...(...);... glend(); Vorteil: keine eigenen Datenstrukturen nötig KOBLENZ LANDAU S. Müller
33 Beispiel: Eckpunkte float fpos[3]= 10, 0, 0 ; unsigned short sx=10,sy=0,sz=0; glvertex2i( 10, 0 ); glvertex3s( sx, sy, sz ); glvertex3fv( fpos); glvertex4d( 10.0, 0.0, 0.0, 1.0 ); bestimmen alle den gleichen Punkt Homogene Koordinate wird von der Applikation in der Regel nicht verwendet. Wenn sie weggelassen wird (3D-Vektor) wird sie als 1 angenommen. KOBLENZ LANDAU S. Müller
34 Primitivspezifische Einstellungen Punkte: Größe mittels glpointsize( GLfloat size ); nicht jede Größe unterstützt, über glget() abzufragen Wenn Antialiasing abgeschaltet ist (default), dann ist der Punkt ein Quadrat von size*size Pixeln. Nicht-Integer Werte werden gerundet. gldisable(gl_point_smooth); Wenn Antialiasing eingeschaltet ist, dann wird ein Kreis gezeichnet. Nicht-Integer Werte für size werden hier nicht gerundet. glenable(gl_point_smooth); KOBLENZ LANDAU S. Müller
35 Aktivieren / Inaktivieren Viele Features müssen explizit aktiviert werden glenable( GLenum feature ); zum Inaktivieren dient dann gldisable( GLenum feature ); der Zustand kann abgefragt werden mittels glisenabled( GLenum feature ); die Konstanten können nicht verodert werden KOBLENZ LANDAU S. Müller
36 Linien Linien: Breite mittels gllinewidth( GLfloat width ); ähnlich wie Punkte nicht jede Größe möglich Wenn Antialiasing abgeschaltet ist (default), dann ist width die Breite der Linie in Pixeln (also unabhängig von Fenstergröße ). Nicht-Integer Werte werden gerundet. gldisable(gl_line_smooth); Wenn Antialiasing eingeschaltet ist, dann wird die Helligkeit der Pixel abhängig vom Bedeckungsgrad berechnet. Nicht- Integer Werte werden hier nicht gerundet. glenable(gl_line_smooth); KOBLENZ LANDAU S. Müller
37 Strichelungen Gestrichelte Linien definierbar: gllinestipple( GLint factor, GLushort pattern ); Muster aus der Binärdarstellung von pattern xaaaa 0x1010 factor vervielfacht die einzelnen Bits 0xaaaa 1 0xaaaa 3 muß mit glenable( GL_LINE_STIPPLE ); aktiviert werden KOBLENZ LANDAU S. Müller
38 void display(void) int i; /* 3. Zeile 2 Linien mit untersch. Stipple */ glenable (GL_LINE_STIPPLE); gllinewidth (1.0); glclear (GL_COLOR_BUFFER_BIT); glcolor3f (0.0, 0.0, 0.0); /* 1. Zeile rechteckige Punkte */ for (i = -9; i < 10; i ++) glpointsize(10+i); glbegin(gl_points); glend(); glvertex3f(i/10.0, 0.75,0); /* 2. Zeile Anti-aliased Punkte */ glenable(gl_point_smooth); for (i = -9; i < 10; i ++) glpointsize(10+i); glbegin(gl_points); glvertex3f(i/10.0, 0.25,0); glend(); gldisable(gl_point_smooth); gllinestipple (1, 0x0101); /* dotted */ glbegin(gl_lines); glend(); glvertex3f(-0.75, -0.25, 0); glvertex3f( 0, -0.25, 0); gllinestipple (1, 0x00FF); /* dashed */ glbegin(gl_lines); glend(); glvertex3f( 0, -0.25, 0); glvertex3f( 0.75, -0.25, 0); /* 4. Zeile 2 dicke Lin. m. untersch. Stipple */ gllinewidth (5.0); gllinestipple (1, 0x0101); /* dotted */ glbegin(gl_lines); glvertex3f(-0.75, -0.75, 0); glvertex3f( 0, -0.75, 0); glend(); gllinestipple (1, 0x00FF); /* dashed */ glbegin(gl_lines); glvertex3f( 0, -0.75, 0); glend(); glvertex3f( 0.75, -0.75, 0); glflush (); KOBLENZ LANDAU S. Müller
39 Beispiel points_lines.c points_lines.exe KOBLENZ LANDAU S. Müller
(4) Polygon Clipping. Vorlesung Computergrafik T. Grosch
(4) Polygon Clipping Vorlesung Computergrafik T. Grosch Wiederholung Letzte Woche Linien zeichnen 1001 1000 1010 B A E H 0001 0010 Linien Clipping 0000 Heute Cohen-Sutherland: Rechteckiges Clip-Polygon
Kapitel 21: OpenGl 1
Kapitel 21: OpenGl 1 OpenGl Programming Guide 2 OpenGl 200 Befehle in OpenGL Library (geometrische Primitive, Attribute) glcolor3f(1.0,0.0,0.0); glrotatef(30.0,0.0,0.0,1.0); 50 Befehle in OpenGl Utility
Computergrafik SS 2008 Oliver Vornberger. Kapitel 21: OpenGl
Computergrafik SS 2008 Oliver Vornberger Kapitel 21: OpenGl 1 OpenGl Programming Guide 2 OpenGl 200 Befehle in OpenGL Library (geometrische Primitive, Attribute) glcolor3f(1.0,0.0,0.0); glrotatef(30.0,0.0,0.0,1.0);
Graphische Primitive Punkte Geradenstücke (Liniensegmente) Polygone
Graphische Primitive Punkte Geradenstücke (Liniensegmente) Polygone Punkte glvertex3f (50.0, 50.0, 0.0) glvertex2f (50.0, 50.0) glvertex4f (50.0, 50.0, 0.0,1.0) GLfloat vect[3] = {50.0, 50.0, 0.0} glvertex3fv
(3) Rasterisierung. Vorlesung Computergrafik T. Grosch
(3) Rsterisierung Vorlesung Computergrfik T. Grosch Wiederholung Letzte Woche: Grundlgen Trigonometrie Vektorrechnung Einfche PutPiel Funktion Heute Rsterisierung Zeichnen von Linien Clipping T. Grosch
Einführung in OpenGL. Einführung in OpenGL
OpenGL: Einführung/Standard - OpenGL (Open Graphics Library) ist ein Standard für 3D Rendering und 3D Hardware-Beschleunigung - OpenGL läuft unter Windows, MacOS, Linux, Unix, - Website: http://opengl.org
2D-Clipping. Kapitel Clipping von Linien. y max. y min x min. x max
Kapitel 5 2D-Clipping Ziel: Nur den Teil einer Szene darstellen, der innerhalb eines Fensters sichtbar ist. y max y min x min x max Abbildung 5.1: Clip-Fenster 5.1 Clipping von Linien Zu einer Menge von
Computergraphik Grundlagen
Prof. Stefan Schlechtweg-Dorendorf Hochschule Anhalt (FH) Köthen Fachbereich Informatik Wintersemester 2010/2011 1 / 27 Teil II CG-Programmierung und OpenGL 2 / 27 Inhalt 1. Computergraphik-Programmierung
OpenGL. Kapitel Grundlagen
Kapitel 21 OpenGL 21.1 Grundlagen OpenGL bietet eine Schnittstelle zwischen dem Anwenderprogramm und der Grafikhardware eines Computers zum Modellieren und Projizieren von dreidimensionalen Objekten. Diese
Das OpenGL Utility Toolkit GLUT. Verwendung von GLUT
Verwendung von GLUT Grundlegende Funktionsweise - Öffnen eines Fensters - Registrieren von Callback-Routinen - Start einer Hauptroutine, die erst beim Schließen des Fensters verlassen wird - Beim Auftreten
Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 7, Fallstudie Point-In-Polygon Algorithmus Diskretisierung: Linien zeichnen
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 7, 11.4.2016 Fallstudie Point-In-Polygon Algorithmus Diskretisierung: Linien zeichnen Fallstudie: Point-In-Polygon Algorithmus Annahme: abgegrenztes
Sebastian Kurfürst
Rastergrafikalgorithmen Sebastian Kurfürst s4832338@mail.inf.tu-dresden.de Proseminar Computergraphik Lehrstuhl Computergraphik und Visualisierung Institut für Software- und Multimediatechnik TU Dresden
1.1 Verwendung von GLUT
1.1 Verwendung von GLUT Grundlegende Funktionsweise - Öffnen eines Fensters - Registrieren von Callback-Routinen - Start einer Hauptroutine, die erst beim Schließen des Fensters verlassen wird - Beim Auftreten
Programmierpraktikum 3D Computer Grafik
Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Einführung die Computergrafik: GLUT und OpenGL. Teilnehmer und Abgaben Nachname Abeldt Brucker Dimitrova Gebhardt Goldhofer Lauber Promesberger
Füllen von Primitiven
Füllen von Primitiven Basisproblem der 2D-Graphik Anwendung: füllen beliebiger Flächen (Polygone, Freiformkurven) Darstellung von Buchstaben dicke Primitive (Linien, Kreise, Kurven), Teilproblem in der
Informatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest
Programmieren mit OpenGL und GLUT
Programmieren mit OpenGL und GLUT Prof. Dr. Manfred Brill Oktober 2003 Inhaltsverzeichnis 1 OpenGL 1 1.1 Bibliotheken und Header-Dateien.... 1 1.2 OpenGL Datentypen... 2 2 GLUT 3 2.1 Ein typisches GLUT-Hauptprogramm........
7.4 Tesselierung von Polygonen
Anwendungsgebiet - OpenGL kann direkt nur einfache konvexe Polygone anzeigen - Polygone sind einfach, wenn - sie selbstdurchdringungsfrei sind - sie keine doppelten Ecken enthalten - an einer Ecke genau
Rastergrafikalgorithmen
Rastergrafikalgorithmen Vortrag über Rastergrafikalgorithmen im Rahmen des Proseminars Computergrafik Vortragender: Christian Vonsien Dienstag, 18. Mai 2010 Proseminar Computergrafik SS2010 - Rastergrafikalgorithmen
Klausur Computergrafik WS 2008 / 09
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 27. März 2009 Klausur Computergrafik WS 2008 / 09 Personalien: Name, Vorname:...
2.11 Clipping von Linien
2.11 Clipping von Linien Sollen Objekte in der Bildebene innerhalb eines Fensters dargestellt werden, so wird ein Verfahren benötigt, mit dem alle außerhalb des Fensters liegenden Objektteile abgeschnitten
Einführung in OpenGL. Thomas Kalbe 30.10.2007. Technische Universität Darmstadt. thomas.kalbe@gris.informatik.tu-darmstadt.de
Einführung in OpenGL Thomas Kalbe Technische Universität Darmstadt thomas.kalbe@gris.informatik.tu-darmstadt.de 30.10.2007 3D Graphic APIs 2 / 42 API: Application Programming Interface low-level graphic
Eine Einführung in OpenGL
Eine Einführung in OpenGL Inhaltsverzeichnis 1 Übersicht 2 1.1 Was ist OpenGL?........................... 2 1.2 Was leistet OpenGL?......................... 2 2 Erste Schritte mit OpenGL 3 2.1 Grundstrukturen...........................
Praktikum 4: Delegation
: Delegation 1. Lernziele Die folgenden, in der Vorlesung behandelten Themen sollen vertieft und angewendet werden: Vererbung, abstrakte Klassen, Polymorphie, Delegation sowie das Zeichnen von UML-Klassendiagrammen.
Übungsstunde 7 zu Computergrafik 1
Institut für Computervisualistik Universität Koblenz 10. und 11. Dezember 2012 Inhaltsverzeichnis 1 Licht und Material Licht in OpenGL Material in OpenGL 2 in C++ Licht in OpenGL Lichtquellen In OpenGL
Inhaltsverzeichnis. 1 Hardwaregrundlagen
Inhaltsverzeichnis 1 Hardwaregrundlagen 2.4 2.5 Perspektivische 2.6 Parallele 2.7 Umsetzung der Zentralprojektion 2.8 Weitere 2.9 Koordinatensysteme, Frts. 2.10 Window to Viewport 2.11 Clipping 3 Repräsentation
(3) Rasterisierung. Vorlesung Computergraphik I S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU
(3) Rasterisierung Vorlesung Computergraphik I S. Müller KOBLENZ LNDU KOBLENZ LNDU Rasterisierung Wiederholung I Trigonometrie sin, cos, tan Fläche im Dreieck Lineare lgebra Punkte und Vektoren Betrag,
Hallo Welt! für Fortgeschrittene. Geometrie I. Philipp Erhardt. 19. Juli Philipp Erhardt Geometrie I 19. Juli / 27
Hallo Welt! für Fortgeschrittene Geometrie I Philipp Erhardt 19. Juli 2011 Philipp Erhardt Geometrie I 19. Juli 2011 1 / 27 Gliederung 1 Grundlagen 2 CCW 3 Punkt-in-Polygon 4 Pick s Theorem 5 Konvexe Hülle
Klausur Computergrafik für Bachelor-Studierende WS 2010 / 11
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 8. Februar 2011 Klausur Computergrafik für Bachelor-Studierende WS 2010 / 11 Personalien:
(12) OpenGL-Pipeline. Vorlesung Computergraphik I S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU
(12) OenGL-Pieline Vorlesung Comutergrahik I S. Müller KOBLENZ LANDAU Wiederholung I Was assiert, wenn Kein glulookat verwendet wird? Kamera ist im Ursrung, Blick entlang der neg. -Achse, Rechtssstem,
Klausur Computergrafik für Bachelor-Studierende WS 2009 / 10
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 11. Februar 2010 Klausur Computergrafik für Bachelor-Studierende WS 2009 / 10 Personalien:
DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006
DirectX und OpenGL Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006 2 Inhalt Einleitung Übersicht DirectX und Komponenten Übersicht OpenGL Sprachlicher Aufbau OpenGL Sprachlicher
Grafikprogrammierung (Echtzeitrendering)
(Echtzeitrendering) erfordert Unterstützung für beide Aufgaben der Computergrafik Geometrische Modellierung Datenstrukturen für geometrische Modelle Schnittstellen für deren Kombination Bildsynthese Rendering
Computergrafik Universität Osnabrück, Henning Wenke,
Computergrafik Universität Osnabrück, Henning Wenke, 2012-06-04 Kapitel VIII: Per Primitive Operations Primitive I 3 Primitive II Elementare grafische Grundform Besteht in OpenGL aus Folge von 1-3 Vertices
Bitmaps. - Definition eigener Zeichenmuster - Definition eigener Schriften. Zeichnen auf Pixel- und Bitmap-Ebene
Bitmaps Grundlagen - Bitmaps sind rechteckige Arrays bestehend aus 0 und 1 Werten - Sie dienen als Zeichenmaske in einem rechteckigen Fensterbereich - Bei gegebner Zeichenfarbe f=(r, B, G) werden die Pixel,
Graphische Datenverarbeitung und Bildverarbeitung
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
Programmierkurs. Steffen Müthing. November 16, Interdisciplinary Center for Scientific Computing, Heidelberg University
Programmierkurs Steffen Müthing Interdisciplinary Center for Scientific Computing, Heidelberg University November 16, 2018 Standardbibliothek Datenstrukturen Algorithmen Variablen und Referenzen Aufrufkonventionen
(1) Geometrie. Vorlesung Computergraphik 3 S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU
(1) Geometrie Vorlesung Computergraphik 3 S. Müller KOBLENZ LANDAU KOBLENZ LANDAU Organisatorisches Vorlesung CG 2+3 Die Veranstaltung besteht aus 2 Teilen, wobei in der Mitte und am Ende eine Klausur
OpenGL. Rendering: (Wiedergabe, Darstellung): Erzeugg. digitaler (Pixel-)Bilder aus log.-mathem. Modell-Beschreibungen.
OpenGL Grafik-Bibliothek mit einigen hundert Befehlen gl...() (div. Ausführungen) angeschlossener Aufsatz : OpenGL Utility Library (GLU), ca. 50 Befehle glu...() Plattform-unabhängig (Hardware, Fenster-/
Klausur Computergrafik für Bachelor-Studierende SS Lösungshilfe
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 8. August 2014 Personalien: Klausur Computergrafik für Bachelor-Studierende SS
Computergraphik Grundlagen
Computergraphik Grundlagen XI. Rasterung Füllen von Polygonen Prof. Stefan Schlechtweg Hochschule nhalt Fachbereich Informatik Inhalt Lernziele 1. Zu lösendes Problem 2. Füllen von Pixelmengen 1. Rekursiver
1. Teilklausur. Name:... Vorname:... Matrikel-Nummer:...
ALP II Objektorientierte Programmierung SS 2012 Prof. Dr. Margarita Esponda 1. Teilklausur Name:... Vorname:... Matrikel-Nummer:... Ich bin mit der Veröffentlichung der Klausurergebnisse mit Matrikel-Nummer
Klausur Computergrafik SS 2007
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 11. Oktober 2007 Klausur Computergrafik SS 2007 Personalien: Name, Vorname:... Matrikelnummer:...
Klausur Computergrafik für Bachelor-Studierende WS 2010 / 11. Lösungshilfe
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 8. Februar 2011 Personalien: Klausur Computergrafik für Bachelor-Studierende WS 2010
C++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16
C++ Teil 4 Sven Groß IGPM, RWTH Aachen 30. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 4 30. Apr 2015 1 / 16 Themen der letzten Vorlesung Funktionen: Definition und Aufruf Wert- und Referenzparameter,
Übungspaket 23 Mehrdimensionale Arrays
Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
Klausur Software-Entwicklung März 01
Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,
Computergraphik 1 LU ( ) Ausarbeitung Abgabe 2
Computergraphik 1 LU (186.095) Ausarbeitung Abgabe 2 Beispiel 4... 2 CG1Object... 2 if (dobackfaceeculling && numvertexindec >=3)... 2 CG1ScanfilledPolygon CG1Polygon... 2... 2... 3 buildactivelist (int
Angewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
Übung Notendarstellung
Übung Notendarstellung Einführung Unsere Zeichenfläche hat einige Erweiterungen erfahren, die wir heute nutzen wollen um eine Notendarstellung zu erhalten. Insbesondere hat gibt es nun die Möglichkeit
2.1. Konvexe Hülle in 2D
Wir wollen die konvexe Hülle einer Menge von Punkten P = {p 1,..., p n } in der Ebene R 2 bestimmen. y y x x Def. 21: Eine Teilmenge S der Ebene ist konvex gdw für jedes Paar das Liniensegment pq in S
Spiele, Simulation, dynamische Systeme
Spiele, Simulation, dynamische Systeme Einführung in OpenGL und GLUT Sebastian Skalec (11038991) Christian Fehmer (11042419) Was können wir nach dem Vortrag? Erstellen eines OpenGL-Fensters Motivation
Computergrundkenntnisse und Programmieren, WS 07/08, Übung 11: Klassen der Standardbibliothek 2
Computergrundkenntnisse und Programmieren, WS 07/08, Übung 11: Klassen der Standardbibliothek 2 Neben vector ist list die zweite wichtige Containerklasse. Um unsere Kenntnisse von Containerklassen zu erweitern,
Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.
Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. 267 Das hier skizzierte Problem basiert auf der strategischen Entscheidung
Einführung in die objektorientierte Programmierung mit C++
Prof. Dr. Thomas Klinker FB Elektrotechnik und Informatik 08. 03. 2007 Projekt im 4. Semester Elektrotechnik: Einführung in die objektorientierte Programmierung mit C++ Aufgabe 1: Schreiben Sie ein Programm,
Klassen. C++ Übung am 02. Juni 2016
Klassen C++ Übung am 02. Juni 2016 Klassen - der Kern objektorientierter Programmierung - Festlegung der Daten und Funktionen einer Klasse - Deklaration als public oder private - Konstruktoren erzeugen
Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.
Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Anfang SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll
Klausur Computergrafik für Bachelor-Studierende SS 2015
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 27. Juli 2015 Klausur Computergrafik für Bachelor-Studierende SS 2015 Personalien:
Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz
Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public
Vektoraddition als Java-Applet
Vektoraddition als Java-Applet ( Simon Winkler, Juli 2008) Warum habe ich dieses Thema ausgewählt? Die Vektoraddition ist eine äußerst wichtige mathematische Grundlage, ohne die zu beherrschen es unmöglich
Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK Created by Michael Kirsch & Beat Rossmy INHALT 1. Sto der Vorlesung 1. Processing Basics 2. Übung 1. Aufgabe 1 2. Strings & Arrays 2. Aufgabe 1-A 3. Klassen
1 Strg. Strg. Attribute übernehmen: Aktivieren (X) Zeiger über dem Objekt) T-Taste zeigt Hilfskreis und Parallelen
Aktivieren (X) Zeiger über dem Objekt) T-Taste zeigt Hilfskreis und Parallelen Attribute übernehmen: KLICK Objekt vorher sichtbar durch Mouse Over Zoomen Kurztastenbefehle Lupenfunktion (y) Zoom + Zoom
Programmierpraktikum 3D Computer Grafik
Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Szenegraphen, Texturen und Displaylisten. Agenda Organisatorisches Das Konzept der Szenegraphen Grundlagen Beispiel eines Szenegraphen Transformationen
Software Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
Einführung in die Programmierung Wintersemester 2017/18
Einführung in die Programmierung Wintersemester 2017/18 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Rekursion Inhalt Rekursion: Technik Rekursion
Einführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2009/0 : Technik vs. Iteration Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund 2 Definition (einfache,
Kap 7. Funktionen und Arrays
Kap 7. Funktionen und Arrays Elementare Algorithmen Allgemein Mathematik Text Eingabe ٧ Skalarprodukt wie Allgemein Ausgabe ٧ Länge ersetzen Summation Winkel Laenge Maximum ٧ Polynome berechnen ausschneiden
Einführung in die Programmierung Wintersemester 2010/11
Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Rekursion Inhalt Rekursion: Technik Rekursion
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. (Sortierte) Listen 2. Stacks & Queues 3. Datenstrukturen 4. Rekursion und vollständige Induktion
Probeklausur Informatik 2 Sommersemester 2013
Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel
Programmieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
Geometrie I. Sebastian Redinger Informatik 2 Programmiersysteme Martensstraße Erlangen
Geometrie I Sebastian Redinger 01.07.2015 Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Grundlagen CCW Polygone Picks Theorem Konvexe Hülle - Graham Scan - Jarvis March 2 Gliederung
Die C++ Standard Template Library Andreas Obrist
Die C++ Standard Template Library 24. 06. 2004 Andreas Obrist Was dürft Ihr erwarten? 1. Teil Das Wichtigste in Kürze über die Standard Template Library 2. Teil Praktische Beispiele Was dürft Ihr nicht
Vorlesungsprüfung Programmiersprache 1
Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,
Software Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Arithmetische Ausdrücke Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
Grundlagen der Informatik 6. Arrays I
6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt
Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 23. Januar 2017
Familienname: Vorname: Matrikelnummer: Aufgabe 1 (3 Punkte): Aufgabe 2 (1 Punkt): Aufgabe 3 (2 Punkte): Aufgabe 4 (4 Punkte): Aufgabe 5 (2 Punkte): Aufgabe 6 (2 Punkte): Aufgabe 7 (4 Punkte): Aufgabe 8
Proseminar Computergrafik: OpenGL. Marcel Heckel
Proseminar Computergrafik: OpenGL Marcel Heckel 23.5.26 . Inhalt 1. Allgemein Was ist OpenGL Geschichte 2. Etwas 3D-Mathematik Das Koordinatensystem Vektoren Matrizen 3. Grundlegendes zu OpenGL Arbeitsweise
Klausur Computergrafik für Bachelor-Studierende SS Lösungshilfe
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 2. Oktober 2013 Personalien: Klausur Computergrafik für Bachelor-Studierende SS
Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :
Klausur Informatik WS 2012/13
Klausur Informatik WS 2012/13 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen
C++ Quellcodes zum Buch Kapitel 5
1 HARALD NAHRSTEDT C++ für Ingenieure Einführung in die objektorientierte Programmierung Erstell am 27.04.2009 C++ Quellcodes zum Buch Kapitel 5 Beschreibung Diese Seiten enthalten den Quellcode aus dem
Kapitel 7: Rekursion. Inhalt. Rekursion: Technik Rekursion vs. Iteration
Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Inhalt Rekursion: Technik Prof. Dr. Günter Rudolph Fakultät
(12) Wiederholung. Vorlesung Computergrafik T. Grosch
(12) Wiederholung Vorlesung Computergrafik T. Grosch Klausur 18.7. 14 16 Uhr, Hörsaal 5 (Physik) 2 Zeitstunden 8 Aufgaben Drei Aufgabentypen Übungsaufgaben Wissensfragen zur Vorlesung Transferfragen Unterschiedlicher
Die Rasterbildtechnik
Die Rasterbildtechnik Anfänge der Computergraphik: Vektordisplays Oliver Deussen Grundlagen der Rastergraphik 1 Vorteile von Vektordisplays: - geringer Speicheraufwand (Display-Liste statt Pixelfeld) -
Datenstrukturen und Algorithmen
Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/36 Datenstrukturen und Algorithmen Vorlesung 20: (K33) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/
Computergrafik SS 2010 Henning Wenke. Kapitel 21: OpenGL 3.1 (Fortsetzung)
Computergrafik SS 2010 Henning Wenke Kapitel 21: OpenGL 3.1 (Fortsetzung) 1 OpenGL Aufgaben der GL-Befehle Konfigurieren der Graphics Pipeline Datenübergabe an Server Steuern des Datenflusses Java OpenGL
- Für die beiden zu überblendenden Farben (source und destination) werden Blending-Faktoren besimmt (S r
3.2 Blending Anwendung - Kombination der Farbinformation eines neu zu zeichnenden Objekts (Source) mit der Farbinformation, die bereits im Framebuffer gespeichert ist (Destination) - Darstellung teilweise
7.1 Polygon Offset. Anwendung - Darstellung von Polygonen als Teil von Oberflächen - Beispiel: Gradlinien auf der Erde - Schwierigkeit:
7.1 Polygon Offset Anwendung - Darstellung von Polygonen als Teil von Oberflächen - Beispiel: Gradlinien auf der Erde - Schwierigkeit: - Polygone sollen einmal als Fläche und einmal in Wireframe-Darstellung
Hochschule München, FK03 SS Masterstudiengang Technische Berechnung und Simulation. Programmierung von CAx-Systemen Teil 1
Hochschule München, FK03 SS 2018 Masterstudiengang Technische Berechnung und Simulation Programmierung von CAx-Systemen Teil 1 Name Vorname Matrikelnummer Aufgabensteller: Hilfsmittel: Dr. Reichl, Dr.
Rechtsbelehrung. Java und OOP Das Buch Christian Silberbauer 144
Rechtsbelehrung Dieser Foliensatz ist urheberrechtlich geschützt. Änderungen an den Folien sind untersagt. Ausschließlich eine nicht-kommerzielle Nutzung ist kostenfrei. Andernfalls wird eine Gebühr fällig.
Wo stehen wir? Geometrie Transformationen Viewing Beleuchtungsmodelle
Wo stehen wir? Geometrie Transformationen Viewing Beleuchtungsmodelle Und nun? Transparenz Anti-Aliasing Dunst, Nebel Computer Graphik R 3 Projektion N 2 Pixel Ops C Objektraum Bildraum Farbraum Blending
Computergrafik 1 Übung
Prof. Dr. Andreas Butz Dipl.-Medieninf. Hendrik Richter Dipl.-Medieninf. Raphael Wimmer Computergrafik 1 Übung Meshes http://codeidol.com/img/illustrator-cs/54084xfg1001_0.jpg 6 1 Primitive 2 2D-Objekte
Pfadgenerierung/Polygone/Polygonoffsetting
Pfadgenerierung/Polygone/Polygonoffsetting Jan Stenzel 17. Juni 2015 Proseminar: 3D-Druck-Verfahren 1 / 42 Gliederung I 1 Polygone Definition konkav, konvex und überschlagen 2 Clipping Was kann passieren?
Verkettete Datenstrukturen: Listen
Verkettete Datenstrukturen: Listen 2 Listen Formal: Liste = endliche Folge von Elementen [a 1, a 2,..., a n ]. Spezialfall: leere Liste [ ]. Länge einer Liste = Anzahl der Elemente (bei leerer Liste: 0).
Klausur Computergrafik für Bachelor-Studierende SS 2013
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 2. Oktober 2013 Klausur Computergrafik für Bachelor-Studierende SS 2013 Personalien: