Klausur Computergrafik für Bachelor-Studierende SS Lösungshilfe
|
|
- Erika Böhm
- vor 5 Jahren
- Abrufe
Transkript
1 Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 8. August 2014 Personalien: Klausur Computergrafik für Bachelor-Studierende SS 2014 Lösungshilfe Name, Vorname:... Matrikelnummer:... Hinweise: Die Bearbeitungszeit beträgt 90 Minuten. Alle schriftlichen Hilfsmittel sind zugelassen; andere Hilfsmittel, insb. elektr. Rechen- und Kommunikationsapparate, dürfen nicht verwendet werden. Ausgesprochene Folgefehler (durch Übertragung falscher Zwischenergebnisse) werden in Folgerechnungen als richtig gewertet. Die Aufgaben sollen nur auf diesen Blättern (inkl. Rückseite) bearbeitet werden. Bei Bedarf wird zusätzliches Papier zur Verfügung gestellt. Zur sicheren Zuordnung aller Lösungen wird um eine persönliche Kennung (Name u./o. Matrikelnr.) auf allen Blättern gebeten. Auf Wunsch darf auch Bleistift verwendet werden. Zur leichteren Lesbarkeit werden Substantive nur in einem Geschlecht ( Nutzerin ) verwendet.
2 1. Aufgabe (10 Punkte) a) Sie lernen jemanden kennen, der als Informatiker Software für das Fernsehen entwickelt. Seine jüngste Arbeit diente zum Wechsel zwischen zwei Sendungen: Das letzte Bild der vorausgehenden Sendung wird eingefroren (Abb. 1.1). und dann weggekippt, als wäre es eine Postkarte (Abb. 1.2), bevor das Anfangsbild der nächsten Sendung kommt. Abb. 1.1 Abb. 1.2 Fällt diese Software-Entwicklung in den Bereich der Bildverarbeitung, der Computergrafik oder in keinen der beiden? Bitte begründen kurz Sie Ihre Antwort! Diese Arbeit fällt in den Bereich der Computergrafik: Sie erzeugt visuelle Darstellungen unter Verwendung logisch-mathematischer Methoden. b) Sie arbeiten an Grafiken, die auf dem Display eines Kopiergeräts erscheinen sollen. Der Bildschirm soll ein Seitenverhältnis von 4:3 (Breite zu Höhe) haben und über 360 (Pixel-)Zeilen verfügen. Wie viele Pixel wird die Bildschirmdiagonale enthalten, wenn sie mit dem Bresenham-Algorithmus gezogen wird? Bitte erläutern Sie, mit welchen Berechnungen und Überlegungen Sie zu Ihrem Ergebnis gelangten! Breite : Höhe = Breite : 360 = 4 : 3 Breite = 4 x 360 / 3 = 480 Bresenham zieht immer die Diagonale eines (gedachten) Rechtecks, die Anzahl der Pixel ist gleich der längeren seiner Seiten; d.h. hier: Die Diagonale ist 480 Pixel lang. Prof. Dr.-Ing. A. Christidis FB MNI S. 2 / 17
3 2. Aufgabe (45 Punkte) Sie bereiten einen Animationsfilm vor, mit dem die Funktion einer Abrißbirne (Abb. 2.1) erklärt wird. Dazu erzeugen Sie ein einfaches Modell, dessen Kran am Koordinatenursprung steht. Die Kranspitze liegt in der Höhe H, die Stahlkugel in der Höhe h (und hängt an einer Kette der Länge H h) über der Erde (x-z-ebene). Der Kran ist so geneigt, daß der Abstand der Kugel von der y-z-ebene die Länge l hat (s. Seitenansicht Abb. 2.2a, Draufsicht Abb. 2.2b). Sie wollen im Zeichentrick den Abbruch einer niedrigen, breiten Mauer darstellen. Dazu dreht sich der Kran vorsichtig um 90 um die y-achse, bis der Kranführer mit dem Rücken zum Betrachter sitzt, dann setzt er leicht zurück (wobei er seine Entfernung von der Mauer erhöht), um dann ruckartig an die alte Position zurückzukehren, so daß die Stahlkugel durch ihre Trägheit gegen die Mauer schwingt. (Abb. 2.3a, Abb. 2.3b). Der Kranführer versteht es, der Stahlkugel einen solchen Schwung zu geben, daß sie relativ genau um den Winkel θ=45 pendelt (sin45 = cos45 = / 2). Abb. 2.1 Abb. 2.2a Abb. 2.2b Abb. 2.3a Abb. 2.3b Vor Codierung dieser Darstellung berechnen Sie die Koordinaten des Kugel- Schwerpunkts beim weitesten Ausschlag in vier Schritten. Sie drehen den Kran um den rechten Winkel φ um die y-achse, bis er über der negativen z-achse steht (Transformationsmatrix T (i) ). Anschließend verschieben Sie seine Spitze in die x-z-ebene (Transformationsmatrix T (ii) ), um dann die Stahlkugel um θ um die z-achse zu drehen (Transformationsmatrix T (iii) ). Abschließend verschieben Sie den Kran so, daß seine Spitze wieder die Höhe H erlangt (Transformationsmatrix T (iv) ). Beantworten Sie bitte folgende Fragen: a) Geben Sie bitte (in Grad, unter Berücksichtigung des Drehsinns) den rechten Winkel φ an, um welchen der Kran anfänglich gedreht wird, damit er über der negativen z-achse steht. Wie groß sind dann sin φ und cos φ? φ = + 90 sin φ = 1 cos φ = 0 Prof. Dr.-Ing. A. Christidis FB MNI S. 3 / 17
4 b) Wie lautet die Transformationsmatrix T (i), die den Kran um φ bis zur z-achse dreht? Geben Sie sie bitte sowohl in symbolischer (sin φ,...) als auch in arithmetischer (zahlenmäßiger) Form an! T (i) = cosφ 0 sinφ sinφ 0 cosφ 0 = c) Wie lautet die Transformationsmatrix T (iι), mit der die Kranspitze senkrecht auf den Boden verschoben wird? Geben Sie sie bitte direkt mit den verfügbaren Größen an! T (ii) = H d) Geben Sie nun bitte (in Grad, unter Berücksichtigung des Drehsinns) den Winkel θ an ( θ =45 ), um welchen die Kette mit der Abrißbirne um die z-achse gedreht wird. Wie groß sind dann sin θ und cos θ? θ = + 45 sin θ = / 2 0,7 cos θ = / 2 0,7 e) Welche Transformationsmatrix T (iii) dreht, wie oben beschrieben, die Kette mit der Abrißbirne um die z-achse um den Winkel θ? Geben Sie sie bitte sowohl in symbolischer als auch in arithmetischer Form an! T (iii) = cosθ -sinθ 0 0 sinθ cosθ 0 0 = 1/2 ½ 1/2 ½ 0 0 1/2 ½ 1/2 ½ 0 0 Prof. Dr.-Ing. A. Christidis FB MNI S. 4 / 17
5 f) Mit welcher Transformationsmatrix T (iv) wird schließlich die Kranspitze zurück auf die Höhe H verschoben? Geben Sie sie bitte direkt mit den verfügbaren Größen an! T (iv) = H g) Wie berechnet sich nun die Transformationsmatrix T, mit welcher alle vorausgegangenen Transformationen zu einer Operation vereinigt werden? T = T (iv) T (iii) T (ii) T (i) h) Berechnen Sie nun bitte die Transformationsmatrix T anhand der bisher gemachten Angaben. (Symbole, auch Wurzelzeichen, können unverändert in die Rechnung eingehen.) T = T (i) T (ii) H H T (iii) 1/2 ½ 1/2 ½ 0 0 1/2 ½ 1/2 ½ /2 ½ 1/2 ½ H/2 ½ 0 1/2 ½ 1/2 ½ -H/2 ½ T (iv) H 0-1/2 ½ 1/2 ½ H/2 ½ 0 1/2 ½ 1/2 ½ H H/2 ½ T Prof. Dr.-Ing. A. Christidis FB MNI S. 5 / 17
6 i) Berechnen Sie bitte nun die Koordinaten der Kugel [X, Y, Z] T bei ihrem Endausschlag nach der obigen Beschreibung mit Hilfe der Transformationsmatrix T. l h 0 1 X Y Z 1 = 0-1/2 ½ 1/2 ½ H/2 ½ 0 1/2 ½ 1/2 ½ H H/2 ½ H/2 ½ h/2 ½ h/2 ½ + H H/2 ½ -l 1 j) Die bisher erfolgte Vorausberechnung der o.a. Animation soll ermitteln helfen, welche Dimensionierung der beschriebenen Szene geeignet erscheint, die Funktion einer Abrißbirne mit der Animation zu erklären. Dazu soll die Beantwortung der folgenden Fragen dienen. Bitte ergänzen Sie die u.a. Aussagen unter Verwendung der Größen h, H, l und X, Y, Z; die Vorzeichen brauchen nicht beachtet zu werden (absolute Beträge reichen). l X Y Z (l) ist der minimale Abstand zwischen Kran und Mauer vor dem Abriß, der noch Kollisionsfreiheit bis zum Beginn des Abbruchs garantiert. ist der maximale Abstand zwischen Kran und Mauer, der noch einen Abriß der Mauer ermöglicht (unter Annahme des o.a. Endausschlags). ist die maximale Höhe, die eine Mauer haben darf, wenn sie bei der gegebenen Aufstellung (fast) unbeschadet bleiben soll. ist ein Maß für die minimale Breite der Mauer, wenn die Stahlkugel nicht an ihr vorbeipendeln soll. Prof. Dr.-Ing. A. Christidis FB MNI S. 6 / 17
7 3. Aufgabe (45 Punkte + 5 Sonderpunkte) Ein guter Bekannter bittet Sie verzweifelt um Hilfe: Im Zuge neuer, mutiger Schulreformen muß er als Geographie-Lehrer nach den Sommerferien Computergrafik unterrichten. Um ihm zu helfen, schreiben Sie das OpenGL-Programm tripod.c (s. Ende dieser Aufgabe), das u.a. einen Globus darstellt. Unten links im Fenster fügen Sie auch ein Dreibein hinzu, um die Richtung der Hauptachsen anzuzeigen (Abb. 3.1). Dann wollen Sie mit ihm den Source-Code durchgehen. Abb. 3.1 Programm tripod Beantworten Sie bitte folgende Fragen zum Code von tripod.c: a) Noch bevor Sie mit dem Programm fertig sind, läßt sich Ihr Bekannter das main() erklären. Bei der Feststellung, daß dort keine explizite Fenstergröße angegeben wird, fragt er Sie ängstlich, ob sein alter Rechner mit einem VGA- Standard von Pixeln das eingerichtete Fenster darstellen kann. Was antworten Sie ihm, und wie begründen Sie das? Das Fenster wird nicht so groß: Die Abwesenheit einer Deklaration führt zur Einrichtung des Fensters in der Voreinstellung von nur Pixeln. b) Die noch im main() aufgerufene Funktion init() enthält die Anweisung: glclearcolor (1., 1., 1., 1.); Was bewirkt sie? Würde das etwas ändern, wenn sie fehlen würde? Sie legt die Löschfarbe auf Weiß / opak fest. Würde sie fehlen, so wäre die Löschfarbe Schwarz / opak. Prof. Dr.-Ing. A. Christidis FB MNI S. 7 / 17
8 c) Sie werden gefragt, ob in der Funktion init() der Aufruf key(' ', 0, 0); ein Callback (-Aufruf) ist. Was antworten Sie? Wenn ja: Wie häufig und zu welchen Anlässen erfolgt dieser Callback? (Ungefähre Angaben genügen.) Wenn nein: Ist key() keine Callback-Funktion? (Kurze Erläuterung) Nein. Die Funktion key() ist zwar eine der verwendeten Callback- Funktionen. Der o.a. Aufruf ist aber kein Callback, weil er nicht durch GLUT erfolgt. d) Die Funktion draw() enthält gleich zweimal im Abstand von wenigen Zeilen einen Aufruf von glloadidentity(), was eine Art Neubeginn bedeutet. Erklären Sie bitte stichwortartig, was da jeweils initialisiert wird: Der erste Aufruf initialisiert das Sichtvolumen, bevor es mit glfrustum() gesetzt wird; der zweite initialisiert die Positionierung (Animation) der Modelle, die (u.a.) mit move() aktualisiert werden. e) In draw() wird, nach Fensterlöschung und Festlegung von Sicht und Animation, durch Aufruf von model() die Zeichnung eines GLUT-Modells veranlaßt. Über den Menüpunkt 'a' (globale Variable aa) kann in model() Antialiasing ein- oder ausgeschaltet werden. Kreuzen Sie bitte unten an, in welchem der beiden Bilder Antialiasing angewandt wurde: Abb. 3.2 Antialiasing X Prof. Dr.-Ing. A. Christidis FB MNI S. 8 / 17
9 Woran erkennen Sie, welches Bild mit Antialiasing behandelt wurde? (1-2 Stichworte genügen.) An den geglätteten Linien: Die Stufen sind nicht so klar sichtbar. f) In model() besteht die Wahl zwischen zwei GLUT-Drahtmodellen: einer Kugel und einem Ring (Menüpunkt 's', globale Variable sphere). Weiterhin kann man Backface-Culling wählen (Menüpunkt 'b', globale Variable backf). Das Einschalten von Backface-Culling ändert nichts an der Darstellung der Kugel (Abb. 3.2). Wählt man jedoch den Ring, so ist der Unterschied zwischen den beiden Einstellungen unverkennbar (Abb. 3.3). Abb. 3.3 Ring ohne (li.) und mit (re.) Backface-Culling Da Sie fest damit rechnen, daß Ihr Bekannter Sie danach fragt, wollen Sie ihm die passende(-n) unter den folgenden Erklärungen über den Unterschied zwischen beiden Modellen geben (bitte ankreuzen): X Ein Teil des Ringes wird in der Hintergrundfarbe gezeichnet. Der Ring ist definiert als Anordnung nicht nur von Linien, sondern auch von Flächen, die zwischen den Linien aufgespannt sind. OpenGL kann Linien auch selektiv löschen, ohne Kreuzungspunkte zu beeinträchtigen. Der Ring ist dafür vorbereitet, die Kugel aber nicht. Die Kugel-Oberfläche ist in der Voreinstellung (default) als transparent angegeben. Vor der Zeichnung wird das Volumen des Rings ermittelt und die Figur virtuell mit einem Stoff in der Hintergrundfarbe ausgefüllt, womit die hinteren Objektkanten verdeckt werden. Prof. Dr.-Ing. A. Christidis FB MNI S. 9 / 17
10 g) Noch vor Überlassung Ihres Programms bereiten Sie sich auf weitere Fragen des unkundigen Geographie-Lehrers vor. Dabei fallen Ihnen bei eingeschaltetem Backface- Culling Stellen wie die markierte auf (Abb. 3.4). Auf entsprechende Frage Ihres Bekannten wollen Sie folgende Erklärung(-en) abgeben (bitte ankreuzen): X Abb. 3.4 Das ist die Folge der transparenten Färbung der Modellflächen. Hier verdecken sich keine abgewandten Objektflächen. Es handelt sich um einen GLUT-Bug, der nicht mehr behoben wird, weil GLUT nicht mehr aktualisiert wird. Es ist normal und gewollt, daß an einem Drahtmodell sämtliche Kanten sichtbar sind. h) Über den Menüpunkt 'c' kann in draw(), abhängig vom Wert der globalen Variablen tripod, nach dem Drahtmodell ein Dreibein gezeichnet werden. Die Zeichnung wird in der Funktion drawaxes() ausgeführt. Bei einer Vergrößerung der Achsendarstellung (Abb. 3.5) entdecken Sie eine Pixel- Belegung, die Sie nach dem Studium des Bresenham-Algorithmus so nicht erwartet hätten. Erklären Sie bitte in Stichworten, welche Abweichung vom Bresenham- Algorithmus zu beobachten ist, und mit welcher Code-Zeile von drawaxes() dies zu begründen ist. Abb. 3.5 Die Linien sehen nicht danach aus, daß Nord-/Nordost-Entscheidungen getroffen worden wären. Der Grund ist, daß die Linie zwei-pixel-breit ist: gllinewidth(2.f); Prof. Dr.-Ing. A. Christidis FB MNI S. 10 / 17
11 i) In der Funktion drawaxes() wird die Funktion move() aufgerufen; deren Quellencode enthält eine Translation und drei Rotationen um die Hauptachsen x, y, z. Der Aufruf von move() in drawaxes() erfolgt wiederum nach dem Aufruf einer Translation und vor jenem einer Skalierung. Sie wollen Ihrem Bekannten erklären, wie sich diese Befehle auswirken, mit einer Zigarettenschachtel, die Sie vor ihm bezüglich gedachter Raumachsen drehen, verschieben und zerdrücken (als Skalierung). Geben Sie bitte unten mit den Zahlen 1-6 an, in welcher Reihenfolge Sie die Aktionen mit der Zigarettenschachtel vornehmen, um das erwartete Ergebnis der Animation zu erörtern. 5 Translation parallel zur z-achse in move() 4 Rotation um die x-achse in move() 3 Rotation um die y-achse in move() 2 Rotation um die z-achse in move() 6 Translationen parallel zur x- und zur y-achse in drawaxes() 1 Skalierung entlang der x-, der y- und der z-achse in drawaxes() j) In drawaxes() wird auch das Achsen-Dreibein gezeichnet; zur leichteren Identifizierung werden die Achsen x, y und z (Indizes 0, 1 und 2 entsprechend) in unterschiedlichen Farben gezeichnet und (z.b. für monochrome Ausgabe) individuell gemustert (Menüpunkt 't', globale Variable stipple). Beantworten Sie bitte in diesem Kontext folgende Fragen: Schildern Sie bitte in Stichworten, wie die Muster der drei Achsen entstehen (z.b.: 1x setzen, 2x auslassen o.ä). x-achse y-achse z-achse Musterung 1x setzen, 1x auslassen 2x setzen, 2x auslassen 3x setzen, 3x auslassen k) Die Stippling-Anweisung liegt erwartungsgemäß innerhalb der Schleife für die Dreibein-Zeichnung aber außerhalb des Anweisungspaares glbegin() / glend(). Ein Versuch, sie zwischen die beiden Befehle zu setzen, scheitert: Die Musterung unterbleibt. Welchen Hinweis aus der OpenGL-Nutzung sollte man hierzu beachten? Daß manche Befehle zwischen glbegin() und glend() ignoriert werden; gllinestipple() ist einer von ihnen. Prof. Dr.-Ing. A. Christidis FB MNI S. 11 / 17
12 l) Eine Detail-Vergrößerung (Abb. 3.6) zeigt: Bei dieser Musterung wird offenbar der Punkt am Koordinaten-Ursprung gesetzt. Wie müßte die entsprechende OpenGL- Anweisung lauten, um die exakt umgekehrte Reihenfolge für Pixel-Setzen und -Auslassen zu erzeugen und am Ursprung eine Lücke entstehen zu lassen? (Nennung ohne Begründung genügt.) Abb. 3.6 gllinestipple((j1+1), 0xAAAA); m) Nach ein paar letzten kleinen, unwichtigen Änderungen, die Sie aus Zeitgründen nicht mehr testen, präsentieren Sie tripod stolz Ihrem Bekannten (Quellcode s.u.). Dieser startet das Programm und sieht nichts, außer einem leeren Fenster. Sie verbergen geschickt Ihre Panik und versuchen, seine Features nacheinander anzuwählen ohne Ergebnis. Nur die Wahl des Menüpunkts 'c' ändert etwas dahingehend, daß im sonst leeren Fenster das Koordinaten-Dreibein erscheint (s. Abb. 3.7) Darauf erkennen Sie sofort die Ursache für den Fehlschlag. Abb. 3.7 Souverän drücken Sie auf eine beliebige Taste, und ab da läuft das Programm wie gewünscht (Abb. 3.2). Dem staunenden Lehrer liefern Sie dann eine lange Erklärung, die damit beginnt und endet, daß OpenGL ein Zustandsautomat ist. Schildern Sie bitte die Hauptpunkte Ihrer Erzählung durch Beantwortung folgender Fragen: Mit welcher Zeichenfarbe werden die drei Hauptachsen des Dreibeins gezeichnet? (Bitte ausfüllen) Farbe x-achse Rot y-achse Grün z-achse Blau Prof. Dr.-Ing. A. Christidis FB MNI S. 12 / 17
13 Welche Zeichenfarbe war beim Start des Programms eingestellt? In welcher Farbe erscheint schließlich die GLUT-Figur (i.d.r.: die Kugel)? Erste Einstellung beim Start des Programms war Weiß, die Figur erscheint in Blau. (5 Sonderpunkte) Welche Zeichnungen und/oder Löschungen in welchen Farben führten zu dem Bild nach Abb. 3.7? Welche Rolle spielte dabei die Implementierung von OpenGL als Zustandsautomat? Was löste der Tastendruck mit der beliebigen Taste aus, und was hat die Implementierung als Zustandsautomat damit zu tun, daß nach dem Tastendruck für die restliche Laufzeit das Programm repariert war? (Kurze Antwort genügt.) Als Zustandsautomat hat OpenGL eine voreingestellte Zeichenfarbe (Weiß), solange nichts daran geändert wird. Abb. 3.7 zeigt ein GLUT-Modell in weißer Farbe vor weißem Hintergrund. Da das Zeichnen des Dreibeins (in R, G, B) als letzte Farbe Blau verwendet, ist dies die Farbe, die eingestellt und bis zur Beendigung des Programms nicht mehr geändert wird weil OpenGL ein Zustandsautomat ist. Das Drücken der beliebigen Taste hatte zur Folge, daß key() aufgerufen wurde, an dessen Ende draw() ausgeführt wird. Somit löste der Tastendruck das Neuzeichnen in blau aus. Prof. Dr.-Ing. A. Christidis FB MNI S. 13 / 17
14 /* tripod.c */ /*OpenGL-Darstellung von GLUT-Modellen mit Achsenkreuz*/ #include "tripod.h" /*Globale Variablen: */ float angle[3]={0.,0.,0.; GLdouble nah=3*view_x, fern=5*view_x; GLfloat axis[4][3]={{1., 0., 0., {0., 1., 0., {0., 0., 1., {0., 0., 0.; float axcol[3][3]={{1.f,.0f,.0f, {.0f,1.f,.0f, {.0f,.0f,1.f; int backf=0, aa=0, tripod=0, sphere=1, stipple=0; void model (void) /*Modell zeichnen:*/ { /*Strichstaerke:*/ gllinewidth(1.f); /*Anti-Aliasing:*/ if (aa) { glenable (GL_LINE_SMOOTH); glenable (GL_BLEND); glblendfunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); else { gldisable (GL_LINE_SMOOTH); gldisable (GL_BLEND); /*Backface-Culling:*/ if (backf) glenable (GL_CULL_FACE); else gldisable (GL_CULL_FACE); /*Kugel oder Ring:*/ if (sphere) glutwiresphere(view_x, 15, 10); else glutwiretorus(view_x/4., 3*VIEW_X/4., 8, 10); return; void drawaxes (void) /*Achsen zeichnen:*/ { int j1=0; float dummmy=view_x*(fern+nah)/(2.*nah); /*Strichstaerke:*/ gllinewidth(2.f); /*Stippling:*/ if (stipple) glenable (GL_LINE_STIPPLE); else gldisable(gl_line_stipple); /*Position Dreibein:*/ glmatrixmode(gl_modelview); glloadidentity(); gltranslatef(-.8*dummmy, -.8*dummmy, 0.); move(); glscalef (.2*dummmy,.2*dummmy,.2*dummmy); /*Achsen-Dreibein:*/ for (j1=0; j1<3; j1++) { if (stipple) gllinestipple((j1+1), 0x5555); glbegin(gl_lines); glcolor3fv (axcol[j1]); glvertex3fv(axis[3]); glvertex3fv(axis[j1]); glend(); if (stipple) gldisable (GL_LINE_STIPPLE); return; Prof. Dr.-Ing. A. Christidis FB MNI S. 14 / 17
15 void move (void) /*Animation:*/ { /*Alles ins Sichtvolumen verschieben:*/ gltranslatef(0., 0., -(fern+nah)/2.); /*Positionierung:*/ glrotatef(angle[x], 1., 0., 0.); glrotatef(angle[y], 0., 1., 0.); glrotatef(angle[z], 0., 0., 1.); return; void draw (void) /*Grafik erstellen:*/ { glclear(gl_color_buffer_bit); /*Sicht:*/ glmatrixmode(gl_projection); glloadidentity(); glfrustum (-VIEW_X, VIEW_X, -VIEW_Y, VIEW_Y, nah, fern); /*Zeichnung:*/ glmatrixmode(gl_modelview); glloadidentity(); /*Animation, Positionierung:*/ move(); /*Modell / Darstellung:*/ model(); if (tripod) drawaxes(); glflush(); return; void init (void) /*Initialisierung*/ { /*Loeschfarbe:*/ glclearcolor (1., 1., 1., 1.); /*Tastendruck simulieren, um Menue auszugeben:*/ key(' ', 0, 0); return; void key (unsigned char key, int x, int y) /*Menue und Eingabe-Behandlung:*/ { switch (key) { case ESC: exit(0); case 'a': aa = 1 - aa; break; case 'b': backf = 1-backF; break; case 'c': tripod = 1 - tripod; break; case 'r': angle[x]=angle[y]=angle[z]=0.; break; case 's': sphere = 1 - sphere; break; case 't': stipple = 1 - stipple; break; case 'x': angle[x] -= 5.; if (angle[x] <=-360) angle[x]+=360; break; case 'X': angle[x] += 5.; if (angle[x] >= 360) angle[x]-=360; break; case 'y': angle[y] -= 5.; if (angle[y] <=-360) angle[y]+=360; break; case 'Y': angle[y] += 5.; if (angle[y] >= 360) angle[y]-=360; break; case 'z': angle[z] -= 5.; if (angle[z] <=-360) angle[z]+=360; break; case 'Z': angle[z] += 5.; if (angle[z] >= 360) angle[z]-=360; break; Prof. Dr.-Ing. A. Christidis FB MNI S. 15 / 17
16 system (CON_CLS); printf ("\n\r Press (keeping the GLUT window activated):"); printf ("\n\n\r <ESC> to quit"); printf ("\n\r a toggle AntiAliasing "); if (aa) printf ("(ON)"); else printf ("(OFF)"); printf ("\n\r b toggle Backface culling "); if (backf) printf ("(ON)"); else printf ("(OFF)"); printf ("\n\r c toggle Coordinate axes "); if (tripod) printf ("(ON)"); else printf ("(OFF)"); printf ("\n\r r Reload"); printf ("\n\r s toggle Sphere"); if (sphere) printf ("(ON)"); printf ("/torus"); if (!sphere) printf ("(ON)"); printf ("\n\r t toggle stippling "); if (stipple) printf ("(ON)"); else printf ("(OFF)"); printf ("\n\r x / X decrease/increase X-rotation angle"); printf ("\n\r y / Y decrease/increase Y-rotation angle"); printf ("\n\r z / Z decrease/increase Z-rotation angle"); printf ("\n\n\r Current values:"); printf ("\n\r view angle[x]=%7.2f", angle[x]); printf ("\n\r view angle[y]=%7.2f", angle[y]); printf ("\n\r view angle[z]=%7.2f", angle[z]); draw(); return; int main (int argc, char **argv) { glutinit(&argc, argv); glutcreatewindow("cg-opengl Axis"); glutdisplayfunc(draw); glutkeyboardfunc(key); init(); glutmainloop(); return 0; /* tripod.h */ #ifndef TRIPOD_H #define TRIPOD_H #include <stdio.h> //wg. printf() #include <GL/glut.h> #define CON_CLS "cls" #define ESC 27 #define VIEW_X 5 #define VIEW_Y 5 enum {X=0, Y=1, Z=2, W=3; /*Prototypen:*/ void draw (void); void drawaxes (void); void init (void); void key (unsigned char key, int x, int y); void model (void); void move (void); #endif //TRIPOD_H Prof. Dr.-Ing. A. Christidis FB MNI S. 16 / 17
17 Platz für Notizen: Prof. Dr.-Ing. A. Christidis FB MNI S. 17 / 17
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 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:
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:
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:...
Klausur Computergrafik für Bachelor-Studierende SS 2017
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 17. Juli 2017 Klausur Computergrafik für Bachelor-Studierende SS 2017 Personalien:
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:
Klausur Computergrafik für Bachelor-Studierende WS 2012 / 13
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 22. März 2013 Klausur Computergrafik für Bachelor-Studierende WS 2012 / 13 Personalien:
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
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:
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
Klausur Computergrafik WS 2007 / 08
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 18. März 2008 Klausur Computergrafik WS 2007 / 08 Personalien: Name, Vorname:...
Klausur Computergrafik SS 2008
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 8. August 2008 Klausur Computergrafik SS 2008 Personalien: Name, Vorname:... Matrikelnummer:...
Klausur Computergrafik für Bachelor-Studierende SS 2018
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 18. Juli 2018 Klausur Computergrafik für Bachelor-Studierende SS 2018 Personalien:
Klausur Computergrafik für Bachelor-Studierende SS 2011
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 12. Juli 2011 Klausur Computergrafik für Bachelor-Studierende SS 2011 Personalien:
Klausur Computergrafik für Bachelor-Studierende SS Lösungshilfe
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 18. Juli 218 Personalien: Klausur Computergrafik für Bachelor-Studierende SS 218
Klausur Computergrafik WS 2007 / 08. Lösungshilfe
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 18. März 2008 Personalien: Klausur Computergrafik WS 2007 / 08 Lösungshilfe Name,
Klausur Computergrafik für Bachelor-Studierende WS 2011 / 12. Lösungshilfe
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 7. Februar 2012 Personalien: Klausur Computergrafik für Bachelor-Studierende WS
Klausur Computergrafik SS Lösungshilfe
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 8. August 2008 Personalien: Klausur Computergrafik SS 2008 Lösungshilfe Name, Vorname:...
Klausur Datenverarbeitung / Informatik SS 2004
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 1. Oktober 2004 Klausur Datenverarbeitung / Informatik SS 2004 Personalien: Name,
Klausur Grundlagen der Informatik SS 2013
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 16. Juli 2013 Klausur Grundlagen der Informatik SS 2013 Personalien: Name, Vorname:...
Klausur Grundlagen der Informatik SS Lösungshilfe
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 16. Juli 2013 Personalien: Klausur Grundlagen der Informatik SS 2013 Lösungshilfe
Klausur Systemprogrammierung WS 2003 / 04
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 16. Januar 2004 Klausur Systemprogrammierung WS 2003 / 04 Personalien: Name, Vorname:...
Klausur Systemprogrammierung WS 2005 / 06. Lösungshilfe
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 3. Februar 2006 Personalien: Klausur Systemprogrammierung WS 2005 / 06 Lösungshilfe
Klausur Datenverarbeitung WS 2001/02
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 08. März 2002 Klausur Datenverarbeitung WS 2001/02 Personalien: Name, Vorname:...
Klausur Grundlagen der Informatik WS 2012 / 13
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 12. Februar 2013 Klausur Grundlagen der Informatik WS 2012 / 13 Personalien: Name,
Klausur Datenverarbeitung / Informatik SS Lösungshilfe
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 1. Oktober 2004 Klausur Datenverarbeitung / Informatik SS 2004 Lösungshilfe Personalien:
Klausur Grundlagen der Informatik SS 2015
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 28. Juli 2015 Klausur Grundlagen der Informatik SS 2015 Personalien: Name, Vorname:...
Klausur Grundlagen der Informatik SS 2014
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 7. August 2014 Klausur Grundlagen der Informatik SS 2014 Personalien: Name, Vorname:...
Klausur Systemprogrammierung WS 2002/03
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 17. Januar 2003 Klausur Systemprogrammierung WS 2002/03 Personalien: Name, Vorname:...
Klausur Datenverarbeitung SS 2001
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 28. September 2001 Klausur Datenverarbeitung SS 2001 Personalien: Name, Vorname:...
Klausur Grundlagen der Informatik WS 2015 / 16
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 9. Februar 2016 Klausur Grundlagen der Informatik WS 2015 / 16 Personalien: Name,
Übungspaket 10 Fallunterscheidungen
Übungspaket 10 Fallunterscheidungen Übungsziele: Skript: 1. Umgang mit der einfachen Fallunterscheidung, 2. sowie mehrfachen Fallunterscheidung und 3. problemangepasster Auswahl Kapitel: 24 und 25 Semester:
Klausur Computergrafik für Bachelor-Studierende WS 2011 / 12
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 7. Februar 2012 Klausur Computergrafik für Bachelor-Studierende WS 2011 / 12 Personalien:
Klausur Systemprogrammierung SS 2010
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 8. Juli 2010 Klausur Systemprogrammierung SS 2010 Personalien: Name, Vorname:...
Klausur Robotik/Steuerungstechnik
Prof. Dr. K. Wüst SS 2009 Fachbereich MNI FH Gießen-Friedberg Klausur Robotik/Steuerungstechnik 9.7.2009 Nachname: Vorname: Matrikelnummer: Aufgabe Punkte erreicht 1 30 2 30 3 40 4 20 Summe 120 Mit Lösungen
Klausur Datenverarbeitung WS 2000/01
Fachhochschule Gießen-Friedberg Fachbereich Energie- und Wärmetechnik Prof. Dr.-Ing. A. Christidis 09. März 2001 Klausur Datenverarbeitung WS 2000/01 Personalien: Name, Vorname:... Matrikelnummer:... Hinweise:
Aufgabenblatt 2. Kompetenzstufe 2. Allgemeine Informationen zum Aufgabenblatt:
Aufgabenblatt 2 Kompetenzstufe 2 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 01.12.2017 13:00 Uhr in TUWEL hoch.
Übungsstunde 5 zu Computergrafik 1
Institut für Computervisualistik Universität Koblenz 19. un 20. November 2012 Inhaltsverzeichnis 1 Transformationen Translation Skalierung Rotation 2 Reihenfolge von Transformationen Beispiele 3 Programmieraufgabe
Klausur Systemprogrammierung WS 2001/02
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 17. Januar 2002 Klausur Systemprogrammierung WS 2001/02 Personalien: Name, Vorname:...
Klausur Konzepte Systemnaher Programmierung WS 2008 / 09
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 25. März 2009 Klausur Konzepte Systemnaher Programmierung WS 2008 / 09 Personalien:
Klausur Grundlagen der Informatik WS 2012 / 13. Lösungshilfe
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 12. Februar 2013 Personalien: Klausur Grundlagen der Informatik WS 2012 / 13 Lösungshilfe
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
Versuch 3: Kamera 1. In diesem Programm sind die grundlegenden Funktionen der Kamera schon implementiert. Diese Funktionen sind:
Versuch 3: Kamera 1 Was ist ein Bild? Ein Bild ist in diesem Versuch ein zweidimensionales Array vom Typ unsigned char. Jedes Element des Arrays entspricht einem Pixel des Bildes, dessen Wertebereich zwischen
3. Bedingte Anweisungen
3. Bedingte Anweisungen Fallunterscheidungen der Form WENN...DANN... in der Informatik kennst du aus der 7. Klasse beim Programmieren mit Karol sowie aus der 9. Klasse beim Arbeiten mit Tabellen und Datenbanken.
Name, Vorname... Matrikelnummer... Rechnername... Grundlagen der Darstellung II (Einführung in CAD), Prüfung WS 2011/2012
Name, Vorname... Matrikelnummer... Rechnername... Grundlagen der Darstellung II (Einführung in CAD), Prüfung WS 2011/2012 Allgemeines Ort: Seminarraum 3149 Datum: 9.2.2012 Beginn der Prüfung: 10:00 Uhr
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);
Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
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
Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7
Sonja Hunscha - Koordinatensysteme 1 Inhalt Einleitung 2 1 Koordinatensysteme 2 1.1 Kartesisches Koordinatensystem 2 1.2 Polarkoordinaten 3 1.3 Zusammenhang zwischen kartesischen und Polarkoordinaten 3
Intensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
2D-Punkt-Transformationen
Zur Erinnerung Drehung eines beliebigen Punktes B um den Winkel θ um den Koordinaten-Ursprung zum Punkt B : x B r cosα y B r sin α [r, α: Hilfsgrößen ] x B r cos(α+θ) r (cosα cosθ sinα sinθ) x B cosθ y
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
Übungsblatt
Übungsblatt 3 3.5.27 ) Die folgenden vier Matrizen bilden eine Darstellung der Gruppe C 4 : E =, A =, B =, C = Zeigen Sie einige Gruppeneigenschaften: a) Abgeschlossenheit: Berechnen Sie alle möglichen
Aufgabenblatt 3. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:
Aufgabenblatt 3 Kompetenzstufe 1 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 24.11.2017 13:00 Uhr in TUWEL hoch.
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 6. März 2013 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:
Klausur Systemprogrammierung WS 2007 / 08
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 19. März 2008 Klausur Systemprogrammierung WS 2007 / 08 Personalien: Name, Vorname:...
Grundlegende Programmstrukturen sind Sequenzen, Schleifen und Entscheidungen.
Grundlegende Programmstrukturen Seite 1 von 14 Grundlegende Programmstrukturen sind Sequenzen, Schleifen und Entscheidungen. Sequenzen Eine Sequenz ist eine Folge von en (sblock) ohne Verzweigungen. Der
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 17. Februar 2018 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
Übungspaket 9 Logische Ausdrücke
Übungspaket 9 Logische Ausdrücke Übungsziele: Skript: 1. Umgang mit logischen Vergleichs- und Verknüpfungsoperatoren 2. Bilden einfacher und komplexer logischer Ausdrücke Kapitel: 22 Semester: Wintersemester
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
Mitschriebe Literatur Taschenrechner
Name, Vorname... Matrikelnummer... Rechnername... Grundlagen der Darstellung II (Einführung in CAD), Prüfung SS 2014 Allgemeines Ort: Seminarraum 3149 Datum: 17.7.2014 Beginn der Prüfung: Ende der Prüfung:
Klausur Algorithmen und Datenstrukturen I WS 05/06
FH Braunschweig/Wolfenbüttel Fachbereich Informatik Prof. Dr. R. Rüdiger Wolfenbüttel, den 10. Januar 2006 Klausur Algorithmen und Datenstrukturen I WS 05/06 Hinweise: Es sind beliebige schriftliche Unterlagen
Klausur Systemprogrammierung WS 2003 / 04. Lösungshilfe
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 16. Januar 2004 Klausur Systemprogrammierung WS 2003 / 04 Lösungshilfe Personalien:
Übungsblatt 1. Java Vorkurs (WS 2017)
Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die
11. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Mathematische Rekursion. Rekursion in Java: Genauso! Unendliche Rekursion. n!
Mathematische Rekursion 11. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration, Lindenmayer Systeme Viele mathematische Funktionen sind sehr natürlich
Übungspaket 12 Der Datentyp char
Übungspaket 12 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char, 2. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 29 bis 31 sowie 24,
Klausur zu Grundlagen der Programmierung in C
Prof. G. Zachmann Dipl.-Inf. C. Giesemann TU Clausthal Institut für Informatik 14. 2. 2006 Klausur zu Grundlagen der Programmierung in C Wintersemester 2005/2006 Ganze Veranstaltung Name:... Matrikelnummer:...
Klausur Grundlagen der Informatik WS 2015 / 16. Lösungshilfe
Technische Hochschule Mittelhessen Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 9. Februar 2016 Personalien: Klausur Grundlagen der Informatik WS 2015 / 16 Lösungshilfe
12. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Lernziele. Mathematische Rekursion. Rekursion in Java: Genauso! n! =
Lernziele Sie verstehen, wie eine Lösung eines rekursives Problems in Java umgesetzt werden kann. Sie wissen, wie Methoden in einem Aufrufstapel abgearbeitet werden. 12. Rekursion Mathematische Rekursion,
Computergrafik Universität Osnabrück, Henning Wenke,
Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-14 Kapitel V: Modeling Transformation & Vertex Shader 5.1 Vertex Definitionen: Vertex Vertex Computergrafik Mathematischer Punkt auf einer Oberfläche
Projektionen von geometrischen Objekten
Inhalt: Projektionen von geometrischen Objekten Überblick Hauptrisse Aonometrische Projektionen isometrisch dimetrisch trimetrisch Schiefwinklige Projektionen Kavalierprojektion Kabinettprojektion Perspektivische
Klausur Datenverarbeitung / Informatik SS 2002
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 27. September 2002 Klausur Datenverarbeitung / Informatik SS 2002 Personalien: Name,
Klausur in Informatik 1 - TEL15GR4 - Jenz
Klausur in Informatik 1 - TEL1GR4 - Jenz Bearbeitungszeit: Zugelassene Hilfsmittel: Gesamtpunktzahl: 120 Minuten 4 handbeschriebene Seiten 0 (1, Minuten pro Punkt) Aufgabe 1 Aufgabe Punkte Kleinigkeiten
Computergrafik 1 Übung
Prof. Dr. Andreas Butz Dipl.-Medieninf. Hendrik Richter Dipl.-Medieninf. Raphael Wimmer Computergrafik 1 Übung 4 1 Was ist OpenGL? OpenGL = Open Graphics Library API für Echtzeit-3D-Grafik Hardwarebeschleunigt
Datenstrukturen und Algorithmen 2. Klausur SS 2001
UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................
Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch
darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten
3D-Sicht, Projektionen
Transformationen, deren Matrix als letzte Zeile nicht die Form: [... ] hat, gehören zur allgemeineren Klasse der perspektivischen Transformationen. Perspektivische Projektion von Punkten (,,z i ) auf (
Mitschriebe Literatur Taschenrechner
Name, Vorname... Matrikelnummer... Rechnername... Grundlagen der Darstellung II (Einführung in CAD), Prüfung SS 2015 Allgemeines Ort: Seminarraum 3149 Datum: 3.6.2015 Beginn der Prüfung: Ende der Prüfung:
Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3
Michael Jugovac Dominik Kopczynski Jan Quadflieg Till Schäfer Stephan Windmüller Dortmund, den 30. Oktober 2014 Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Es können 12 (+5
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 Ende SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll im
In dieser Aufgabe geht es darum, das einfache Meteor-Spiel zu verstehen und anzupassen. Lade als erstes das Spiel sample12 und spiele es.
In dieser Aufgabe geht es darum, das einfache Meteor-Spiel zu verstehen und anzupassen. Lade als erstes das Spiel sample12 und spiele es. Im Spiel fällt ein Meteor vom oben zum unteren Rand. Das Raumschiff
Klausur zur Vorlesung Algorithmen und Datenstrukturen
Klausur zur Vorlesung Algorithmen und Datenstrukturen Die Dauer der Klausur beträgt 120 Minuten. Erlaubte Hilfsmittel: Ein selbst handschriftlich beschriebenes DIN A4 Blatt, das komplette Skript zur Vorlesung
Klausur Konzepte Systemnaher Programmierung SS Lösungshilfe
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 14. Juli 2009 Klausur Konzepte Systemnaher Programmierung SS 2009 Personalien: Lösungshilfe
Bernhard Wieland, Katharina Becker-Steinberger, Dr.-Ing. Ulrich Simon
Übung 5: MSC Adams Teil I: Einführung in Lagrange sche Gleichungen 2. Energieformen, Herleitung der Lagrange schen Gleichungen, Beispiel Teil II: Modellierung eines Physikalischen Pendels Gegeben sei ein
C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi
1. Datentypen C-Grundlagen zur Programmierung des MicroControllersystems MiCoWi Die Grafiken und Beispiele wurden dem Buch C von A bis z von Jürgen Wolf entnommen. Es werden hier die ANSI-Festlegungen
ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG
ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG Unter objektorientierter Modellierung versteht man das detailgetreue Darstellen einer zu programmierenden Szene durch Skizzen in UML. UML steht für Unified Modelling
Herzlich willkommen!
Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in
Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten. Lesen Sie die Aufgaben jeweils bis zum Ende durch; oft gibt es hilfreiche Hinweise!
Fakultät IV Elektrotechnik/Informatik Klausur Einführung in die Informatik I für Elektrotechniker Name:.................................... Matr.-Nr..................................... Bearbeitungszeit:
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
Klausur Systemprogrammierung WS 2004 / 05. Lösungshilfe
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 4. Februar 2005 Klausur Systemprogrammierung WS 2004 / 05 Lösungshilfe Personalien:
Klausur Systemprogrammierung WS 2006 / 07
Fachhochschule Gießen-Friedberg Prof. Dr.-Ing. A. Christidis Fachbereich Mathematik, Naturwissenschaften und Informatik 9. Februar 2007 Klausur Systemprogrammierung WS 2006 / 07 Personalien: Name, Vorname:...
Arbeitsblatt 30: Zeichnen von Bildern Kunst
Erläuterungen und Aufgaben Zeichenerklärung: [ ] - Drücke die entsprechende Taste des Graphikrechners! [ ] S - Drücke erst die Taste [SHIFT] und dann die entsprechende Taste! [ ] A - Drücke erst die Taste
Transformation Allgemeines Die Lage eines Punktes kann durch einen Ortsvektor (ausgehend vom Ursprung des Koordinatensystems
Transformation - 1 1. Allgemeines 2. Zwei durch eine Translation verknüpfte gleichartige Basissysteme 3. Zwei durch eine Translation verknüpfte verschiedenartige Basissysteme (noch gleiche Orientierung)
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
Diana Lange. Generative Gestaltung Grundlagen von Processing
Diana Lange Generative Gestaltung Grundlagen von Processing Bereichsaufbau leitet einen Bereich ein Name des Bereichs (z.b. setup, draw, keypressed,...) (genaue Erklärung kommt später) kommt später, momentan
Java: Eine kurze Einführung an Beispielen
Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse
Tutorial zum Umgang mit Scratch
Tutorial zum Umgang mit Scratch In diesem Tutorial sollst du die grundlegenden Funktionen von Scratch ausprobieren und kennen lernen Danach solltest du gut mit dem Programm umgehen können und eigene Programme
Objektorientierung Grundlagen
Prof. Dr.-Ing. Andreas Simon Telefon +49 (0)5331 939 42630 Telefax +49 (0)5331 939 43634 E-Mail a.simon@ostfalia.de Objektorientierung Grundlagen Probeklausur 18. Mai 2015 Name: Mat.-Nr.: Vorname: Login:
Übung: Computergrafik 1
Prof. Dr. Andreas Butz Prof. Dr. Ing. Axel Hoppe Dipl.-Medieninf. Dominikus Baur Dipl.-Medieninf. Sebastian Boring Übung: Computergrafik 1 Projektionen und Transformationen Qt Kontextmenüs Koordinatensysteme