Computergraphik Grundlagen

Größe: px
Ab Seite anzeigen:

Download "Computergraphik Grundlagen"

Transkript

1 Prof. Stefan Schlechtweg-Dorendorf Hochschule Anhalt (FH) Köthen Fachbereich Informatik Wintersemester 2010/ / 27

2 Teil II CG-Programmierung und OpenGL 2 / 27

3 Inhalt 1. Computergraphik-Programmierung 2. OpenGL-API Einführung Dokummentation und Materialien Bibliotheken Funktionen und Bezeichner Arbeitsweise 3. OpenGL-Beispiel Überblick Callbacks Ereignisorientierte Architektur Display-Callback Zusammenfassung 3 / 27

4 Wo sind wir? 1. Computergraphik-Programmierung 2. OpenGL-API 3. OpenGL-Beispiel 4 / 27

5 Computergraphik-Programmierung Anwendung Funktionsaufruf Daten Graphiksystem Output Input I/O-Geräte Anwendung kommuniziert nicht direkt mit dem Graphiksubsystem verschiedene Bibliotheken dazwischengeschaltet OpenGL DirectX Bibliotheken stellen High-Level-Schnittstelle für Datenaustausch und Funktionsaufrufe zur Verfügung 5 / 27

6 Computergraphik-Programmierung Anwendung andere API OpenGL Treiber / Systemprogramme Betriebssystem Bibliotheken können auch aufeinander aufbauen 6 / 27

7 Wo sind wir? 1. Computergraphik-Programmierung 2. OpenGL-API Einführung Dokummentation und Materialien Bibliotheken Funktionen und Bezeichner Arbeitsweise 3. OpenGL-Beispiel 7 / 27

8 OpenGL-API Low-level Bibliothek für 2D- und 3D-Graphik Überlegung bei Low-Level-Bibliotheken: Vorrat an vordefinierten Primitiven. Open GL: relativ gering. Auf OpenGL aufbauende Extensions erweitern den Vorrat. Aufsätze: OpenInventor, Performer, GLUT, GLU-Bibliothek (OpenGL Utility Library) Hardwareunabhängig (Mindestfunktionalität auf allen Plattformen evtl. in Software) Unabhängig vom Fenstermanager (X11, Win32, Mac) Client-Server Unterstützung (X11) ähnlich zu anderen Graphik-APIs (Java3D, DirectX,... ) 8 / 27

9 OpenGL-API einer der älteren Graphikstandards (erste Veröffentlichung 1992) seit dem zum Quasi-Standard aufgestiegen ständige aber langwierige Weiterentwicklung Einbau programmierbaren Shadings Unterstützung mobiler Geräte mit OpenGL ES Entwicklung von WebGL vielfältige Aufsätze und Erweiterungen verfügbar nicht Szenegraphen-basiert 9 / 27

10 Dokumentation und Materialien Homepage: Dokumentationen Red Book Blue Book sehr gute Tutorials unter 10 / 27

11 Weitere Bibliotheken OpenGL selber stellt nur grudlegende Funktionen zur Verfügung zusätzlich zwei weitere Bibliotheken: GLU OpenGL Utility Library vordefinierte Objekte vereinfachte Betrachtungstransformationen bzw. Kameradefinitionen GLUT GL Utility Toolkit ermöglicht Systemunabhängige OpenGL-Programme mehrere OpenGL-Fenster Callback-Ereignisverarbeitung Idle-Routine, Timer Funktionen für verschiedene Objekte Fensterverwaltung, Overlay 11 / 27

12 OpenGL-Funktionen sieben große Gruppen von Funktionen: Primitiv-Funktionen: definieren low-level-objekte (Punkte, Liniensegmente, Pixel, Text, Oberflächen,... ) Attribut-Funktionen: spezifizieren, wie die Primitive auf der Ausgabe erscheinen (Farbe, Linienstil, Transparenz, Font,... ) Betrachtungs-Funktionen: definieren die synthetische Kamera (Position, Orientierung, Kameraparameter,... ) Transformations-Funktionen: zur Transformation von Objekten (Rotation, Verschiebung, Skalierung,... ) Eingabe-Funktionen: für interaktive Applikationen zur Behandlung verschiedener Eingabegeräte (Tastatur, Maus,... ) Kontroll-Funktionen: zur Kommunikation mit dem Fenstersystem, Initialisierung, Fehlerbehandlung,... Abfrage-Funktionen: zur Abfrage eingestellter Parameter im API 12 / 27

13 OpenGL-Funktionen und Bezeichner alle Bibliotheken definieren eine Reihe von Funktionen und Bezeichnern (Konstanten) erkenntlich durch einen Präfix gl bzw. GL für GL-Funktionen und -Bezeichner glu bzw. GLU für GLU-Funktionen und -Bezeichner glut bzw. GLUT für GLUT-Funktionen und -Bezeichner ansonsten sprechende Namen meist nach einem einheitlichen Schema aufgebaut gl<name><anz><typ>() name Funktionsname (Vertex, Color) anz Anzahl der Argumente (2, 3, 4) typ Datentyp der Argumente (i, f, d,... ) Beispiele: glvertex2i(), glvertex3f(), glvertex4d() glcolor3f(), glcolor4d() 13 / 27

14 OpenGL als Zustandsmaschine Arbeitsweise von OpenGL durch Zustände gesteuert Zustände sind ähnlich globaler Variablen Operationen aufgrund von Zustandsvariablen interpretiert Beispiele: Rendermodus Beleuchtungsmodell Zeichenattribute einmal gesetzter Zustand gilt solange, bis er geändert wird (auch über mehrere Aufrufe einer Funktion hinweg) Setzen und löschen der Variablen: void glenable( GLenum attribut); void gldisable( GLenum attribut); 14 / 27

15 Wo sind wir? 1. Computergraphik-Programmierung 2. OpenGL-API 3. OpenGL-Beispiel Überblick Callbacks Ereignisorientierte Architektur Display-Callback Zusammenfassung 15 / 27

16 OpenGL-Beispiel # include "glut.h" /* Zeichenfunktion. Hier stehen die OpenGL - Befehle, die letztendlich die Darstellung auf dem Bildschirm erzeugen */ void mydisplay ( void ) { glclear ( GL_COLOR_BUFFER_BIT ); // Bildschirm ( Fensterinhalt ) loeschen // Hier kommen die Zeichenbefehle hin } glutswapbuffers (); // " Anzeige " des Bildes ( DoubleBuffering ) int main ( int argc, char ** argv ) { glutinit ( &argc, argv ); // Initialisierung von GLUT glutinitdisplaymode ( GLUT_DOUBLE GLUT_RGBA ); // Einstellen des Anzeigemodus glutinitwindowsize ( 600, 600); // Einstellen der Fenstergroesse glutcreatewindow ( " OpenGL "); // Fenster erzeugen glutdisplayfunc ( mydisplay ); // Setzen der Display - Funktion glutmainloop ( ); // glut - Hauptschleife exit ( 0); } 16 / 27

17 Die main-funktion initialisieren des GLUT-Toolkits Initialisieren des Anzeigemodus Einstellen der Fenstergröße ( ) Fenster mit dem Titel OpenGL erzeugen Registrieren der Display-Callback Eintreten in die GLUT-Hauptschleife 17 / 27

18 Callbacks spezielle Funktionen, die von OpenGL (GLUT) zurückgerufen werden Programmierer stellt Funktion bereit, ruft sie aber nicht direkt auf Callbacks müssen registriert (angemeldet) werden Beispiel: Display-Callback registriert mit glutdisplayfunc() Übergeben den Funktionsnamen immer dann aufgerufen, wenn die Ausgabe neu gezeichnet werden muss Funktion muß vor Registrierung deklariert sein glutdisplayfunc ( mydisplay ); 18 / 27

19 weitere wichtige Callbacks: Callbacks Reshape-Callback aufgerufen, wenn sich Geometrie oder Position des Fensters ändert Keyboard-Callback aufgerufen, wenn eine Taste gedrückt oder losgelassen wird Mouse-Callback aufgerufen beim Drücken und Loslassen der Maustasten Motion-Callback aufgerufen bei Mausbewegungen Idle-Callback aufgerufen, wenn der Rechner Zeit hat Time-Callback aufgerufen in bestimmbaren Zeitintervallen generelles Konzept: Ereignisorientierte Architektur 19 / 27

20 Ereignisorientierte Architektur oft verwendet (heute fast ausschließlich) bei Fenstersystemen und anderen größeren Systemen, insb. in der Computergraphik bei interaktiven Anwendungen Eingabegeräte, die Anwendung, das Betriebssystem usw. erzeugen Ereignisse (events) Ereignisse werden in einer Ereigniswarteschlange (event queue) nach dem FIFO-Prinzip gespeichert Anwendung arbeitet die Ereigniswarteschlange ab Anwendung beinhaltet Funktionen, die auf unterschiedliche Ereignisse entsprechend reagieren Programmierer ruft Funktionen nicht explizit auf sondern System erzeugt Funktionsaufruf bei OpenGL: Callbacks 20 / 27

21 Die GLUT-Hauptschleife Programm fragt ständig Ereigniswarteschlange ab entsprechend dem Ereignistyp wird Callback aufgerufen (sofern eine registriert wurde) sind alle typisierten Ereignisse abgearbeitet, wird die Idle-Callback aufgerufen while (1) { if ( Graphik wurde verändert ) { call DISPLAY Callback Funktion ; } if ( Fenster wurde verändert ) { call RESHAPE Callback Funktion ; } if ( Tastatur betätigt oder Maus bewegt ) { call KEYBOARD / MOUSE Callback Funktion ; } call IDLE Callback Funktion ; } 21 / 27

22 wichtigste Callback Die Display-Callback erzeugt die graphische Ausgabe aufgerufen, wann immer ein Neuzeichnen des Ausgabefensters notwendig ist void display ( void ) { glclear ( GL_COLOR_BUFFER_BIT ); // Funktionsaufrufe zum Erzeugen der graphischen Ausgabe hier glutswapbuffers (); } glclear(...) löscht den Ausgabebereich glutswapbuffers(...) kennzeichnet Ende der Ausgabe und erzwingt damit eine Ausgabe auf dem Gerät (auch mit glflush(...)) 22 / 27

23 Die Display-Callback Erzeugen graphischer Ausgaben: direkte zweidimensionale Ausgabe auf dem Bildschirm (nicht mit OpenGL geräteabhängig) Modellieren zwei- oder dreidimensionaler Objekte durch Angabe der Geometrie und Topologie (folgt in Teil III) Attributieren der erzeugten Geometrie Einstellen der virtuellen Kamera Ausgabe zunächst: Verwenden vordefinierter Geometrien und einer Standardansicht void display ( void ) { glclearcolor ( 0.0, 0.0, 1.0, 0.0); glclear ( GL_COLOR_BUFFER_BIT ); glutwiresphere ( 0.5, 10, 10); glutswapbuffers (); } 23 / 27

24 Die Display-Callback glclearcolor( red, green, blue, alpha) setzt die Hintergrundfarbe als RGBα-Tupel glclear(...) löscht den Hintergrund mit der spezifizierten Hintergrundfarbe glutwiresphere( radius, slices, stacks) vordefinierte Geometrie aus der GLUT-Library Drahtgitterkugel im Koordinatenursprung radius = Radius der Kugel slices = Anzahl der Längengrade stacks = Anzahl der Breitengrade 24 / 27

25 Standard-Koordinatensystem OpenGL nutzt ein flexibles System der Koordinatentransformationen, um die genaue Ansicht zu bestimmen folgt im Teil III vordefinierte Standardansicht ohne weitere Einstellungen im Prinzip Paralleprojektion auf die xy-ebene / 27

26 OpenGL-Beispiel # include "glut.h" /* Zeichenfunktion. Hier stehen die OpenGL - Befehle, die letztendlich die Darstellung auf dem Bildschirm erzeugen */ void mydisplay ( void ) { glclearcolor ( 0.0, 0.0, 1.0, 0.0); // blauer Hintergrund glclear ( GL_COLOR_BUFFER_BIT ); // Bildschirm ( Fensterinhalt ) loeschen glutwiresphere ( 0.5, 10, 10); // Kugel glutswapbuffers (); // " Anzeige " des Bildes ( DoubleBuffering ) } int main ( int argc, char ** argv ) { glutinit ( &argc, argv ); // Initialisierung von GLUT glutinitdisplaymode ( GLUT_DOUBLE GLUT_RGBA ); // Einstellen des Anzeigemodus glutinitwindowsize ( 600, 600); // Einstellen der Fenstergroesse glutcreatewindow ( " OpenGL "); // Fenster erzeugen glutdisplayfunc ( mydisplay ); // Setzen der Display - Funktion glutmainloop ( ); // glut - Hauptschleife exit ( 0); } 26 / 27

27 OpenGL-Beispiel Erstes Beispiel Zweites Beispiel 27 / 27

Einführung in OpenGL. Einführung in OpenGL

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

Mehr

Grafikprogrammierung (Echtzeitrendering)

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

Mehr

1.1 Verwendung von GLUT

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

Mehr

Spiele, Simulation, dynamische Systeme

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

Mehr

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006

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

Mehr

Computergrafik II. OpenGL Einführung

Computergrafik II. OpenGL Einführung Computergrafik II OpenGL Einführung OpenGL Rein prozedurales Interface Keine direkten Klassen/Objekte Verwaltung von OpenGL-Strukturen mittels Identifier Explizites funktionales Erzeugen/Löschen von Objekten

Mehr

Lehrheft OpenGL. Zur Veranstaltung Computergraphik I (Grundlagen) Prof. Dr. Stefan Schlechtweg-Dorendorf Hochschule Anhalt Fachbereich Informatik

Lehrheft OpenGL. Zur Veranstaltung Computergraphik I (Grundlagen) Prof. Dr. Stefan Schlechtweg-Dorendorf Hochschule Anhalt Fachbereich Informatik Lehrheft OpenGL Zur Veranstaltung Computergraphik I (Grundlagen) Prof. Dr. Stefan Schlechtweg-Dorendorf Hochschule Anhalt Fachbereich Informatik Inhaltsverzeichnis 1 Grundlegendes zu OpenGL...3 2 Einrichten

Mehr

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 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

Mehr

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

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar Workshop: Einführung in die 3D-Computergrafik Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar 1 Organisatorisches Tagesablauf: Vormittags: Theoretische Grundlagen Nachmittags: Bearbeitung

Mehr

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

Computergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.

Computergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10. Computergrafik 1 Übung, Wintersemester 2011 Eclipse Hands-On C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.12 1 Eclipse - Die IDE 1. Entwicklungsumgebung (IDE) herunterladen / installieren

Mehr

GUI Programmierung mit GTK

GUI Programmierung mit GTK LinuxFocus article number 295 http://linuxfocus.org GUI Programmierung mit GTK by Özcan Güngör About the author: Ich benutze Linux seit 1997. Freiheit, Flexibilität, Open

Mehr

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen. Michel Weimerskirch

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen. Michel Weimerskirch DirectX und OpenGL Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch Zusammenfassung Diese Arbeit, die im Rahmen des Proseminars Multimedia Hardwareerweiterungen ausgearbeitet wurde, soll

Mehr

Eine Einführung in OpenGL

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...........................

Mehr

Programmieren mit OpenGL und GLUT

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........

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Proseminar Computergrafik: OpenGL. Marcel Heckel

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

Mehr

Eine schnelle Processing-Einführung. von Thomas Rau

Eine schnelle Processing-Einführung. von Thomas Rau Eine schnelle Processing-Einführung von Thomas Rau Inhaltsverzeichnis 1 Was Processing ist 3 2 Der Sketch 3 2.1 Die setup()-methode................................... 3 2.2 Die draw()-methode....................................

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 18 Einstieg in die Informatik mit Java Applets Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Einführung 2 Sicherheits-Maßnahmen 3 Ereignisgesteuerte Programmierung

Mehr

Ereignisorientierte Programmierung

Ereignisorientierte Programmierung Ereignisorientierte Programmierung 2 Klassisches Vorgehen Idee der weitgehend automatisierten Problemlösung. Entwickler analysiert Erfordernisse, stellt einen idealen Algorithmus dafür auf. Programm arbeitet

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

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,

Mehr

Erste Schritte der Programmierung in C

Erste Schritte der Programmierung in C Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)

Mehr

Programmierkurs C++ Kapitel 6 Module Seite 1

Programmierkurs C++ Kapitel 6 Module Seite 1 Programmierkurs C++ Kapitel 6 Module Seite 1 (Quell-)Module Unter einem Modul versteht man einen Teil des Programms, der eigenständig übersetzt werden kann. In der Syntax der Programmiersprachen werden

Mehr

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Typ : void* aktuelle Parameter Pointer von beliebigem Typ 2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben

Mehr

Verteidigung der Diplomarbeit 3D-Netzwerk-Visualisierung

Verteidigung der Diplomarbeit 3D-Netzwerk-Visualisierung 1 Verteidigung der Diplomarbeit 3D-Netzwerk-Visualisierung Stefan Ziegler 11. März 2005 INHALTSVERZEICHNIS 2 Inhaltsverzeichnis 1 Aufgabe 3 2 Umsetzung 4 3 Struktur 5 4 Paketverarbeitung 8 5 Grafische

Mehr

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!

Mehr

Seitenanzahl 44 GLUT. Anmerkungen, Feedback, etc. sind natürlich wie immer herzlich Willkommen.

Seitenanzahl 44 GLUT. Anmerkungen, Feedback, etc. sind natürlich wie immer herzlich Willkommen. Seitenanzahl 44 GLUT Autor: Joachim F. Rohde Homepage: http://www.joachimrohde.com Kontakt: webmaster@joachimrohde.de Datum der letzten Änderung: 03.06.2003 Datum der Veröffentlichung: 04.05.2005 Info:

Mehr

Graphische Systeme Folie 1-1. b) es sollte unabhängig von der zugrundeliegenden Hardware (SPARC, Alpha, Pentium,...) sein

Graphische Systeme Folie 1-1. b) es sollte unabhängig von der zugrundeliegenden Hardware (SPARC, Alpha, Pentium,...) sein Graphische Systeme Folie 1-1 1 Einführung 1.1 Motivation für X Window Anwendungsprogramme sollen für eine Klasse von Rechnern (alle Workstations) zur Verfügung stehen und nicht nur für die Rechner eines

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik 3D-Computergrafik Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Einführung zur 3-Grafik Kurze Historie Prinzipielle Konzepte Überblick Verfügbare 3-Grafiktechnologien

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

PThreads. Pthreads. Jeder Hersteller hatte eine eigene Implementierung von Threads oder light weight processes

PThreads. Pthreads. Jeder Hersteller hatte eine eigene Implementierung von Threads oder light weight processes PThreads Prozesse und Threads Ein Unix-Prozess hat IDs (process,user,group) Umgebungsvariablen Verzeichnis Programmcode Register, Stack, Heap Dateideskriptoren, Signale message queues, pipes, shared memory

Mehr

Java Kurzreferenz Für Fortgeschrittene

Java Kurzreferenz Für Fortgeschrittene Java Kurzreferenz Für Fortgeschrittene 1. Initialisierung von Applets: Die Methode init Wenn ein Applet gestartet wird, werden immer zwei Methoden aufgerufen. Diese heissen init und start. Um gewisse Berechnungen

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Erste Schritte mit HG 2

Erste Schritte mit HG 2 Erste Schritte mit HG 2 Malte Ried FH-Gießen Version: 1.0 21. November 2003 Inhaltsverzeichnis 1 Einführung 2 2 Allgemeines 2 2.1 Koordinaten...................................... 2 2.2 Farben.........................................

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Eine solche Programmierschnittstelle ist GLUT (OpenGL Utility Toolkit - Aussprache wie glutttony ).

Eine solche Programmierschnittstelle ist GLUT (OpenGL Utility Toolkit - Aussprache wie glutttony ). OpenGL Open Graphics Library (OpenGL: Silicon Graphics Inc.) www.opengl.org Aktuelle Version: 4.4 (2013) 1982-92: IRIS GL (für SGI-Rechner) Seit 1992 frei verfügbar Definitionsgremium: OpenGL ARB (Architecture

Mehr

Ereignisse Auf Benutzereingaben reagieren

Ereignisse Auf Benutzereingaben reagieren Ereignisse Auf Benutzereingaben reagieren JavaScript ermöglicht es dem Entwickler auf Ereignisse (engl.: events) im Browser zu reagieren. Auf diese Weise kann der Benutzer mit den Anwendungen interagieren,

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Arduino für FunkAmateure

Arduino für FunkAmateure Arduino für FunkAmateure Arduino Einführung Teil 9 Taster-Platine 4x4 Wie gehe ich am besten vor? 1. Was will ich machen? 2. Bauteile 3. Überlegungen zur Schaltung und Algorithmus 4. Zuordnung Arduino-Pins

Mehr

Übungsstunde 2 zu Computergrafik 1

Übungsstunde 2 zu Computergrafik 1 Institut für Computervisualistik Universität Koblenz 2. und 30. Oktober 2012 Inhaltsverzeichnis 1 Organisatorisches 2 Mathematik 3 C++ und Vector-Klasse 4 OpenGL Ein paar Worte zu CG1 vorab... Das bisher

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Einführung in die Programmiersprache C Teil 2 Ein- und Ausgabe in C-Programmen Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Überblick zur Vorlesung Ein-

Mehr

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

Mehr

Ein- und Ausgabe (I/O)

Ein- und Ausgabe (I/O) Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 14 Motivation Computer arbeiten

Mehr

Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen

Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen Szenengraph-Architekturen - 1 Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen Hauptseminar Medieninformatik Christina Eicher 10. Mai 2004 Inhalt Szenengraph-Architekturen - 2 Teil 1: Szenengraphen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Unterlagen zur Veranstaltung Einführung in die Objektorientierte Programmierung Mit Processing Alexis Engelke Sommer 2012 Alexis Engelke Inhalt Level 1: Geometrie Hintergrundfarben Punkte, Linien und deren

Mehr

Das Model/View/Controller Paradigma

Das Model/View/Controller Paradigma Model/View/Controller Das Model/View/Controller Paradigma Christian Knauer Trennung von Daten, Ansicht und Funktion ermöglicht z.b. mehrere Ansichten desselben Datensatzes wird meist als Model-Delegate

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Ü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:

Mehr

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave Fachhochschule Südwestfalen Wir geben Impulse Kontrollstrukturen und Schleifen in Octave Einführung Inhalt m-files Script-Files Function-Files Ein- Ausgabe von Variablen oder Ergebnissen For-Schleife While-Schleife

Mehr

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals MÜNSTER Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals Prof. Dr. Christian Engwer & Andreas Buhr 16. April 2014 MÜNSTER Interaktive Simulationen 2 /22 Normales C++ Programm Programmstruktur

Mehr

Einführung: Zustandsdiagramme Stand:

Einführung: Zustandsdiagramme Stand: Einführung: Zustandsdiagramme Stand: 01.06.2006 Josef Hübl (Triple-S GmbH) 1. Grundlagen Zustandsdiagramme Zustände, Ereignisse, Bedingungen, Aktionen 2. Verkürzte Darstellungen Pseudozustände 3. Hierarchische

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Einführung in die Programmierung

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,

Mehr

Java: Eine kurze Einführung an Beispielen

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

Mehr

Eine Einführung in C-Funktionen

Eine Einführung in C-Funktionen Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

Mehr

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter}); S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 1: Von der Maschinensprache zu C Prof. Dr. Maschinensprache: MIPS R2000 Was bewirkt folgendes Programm: 00100111101111011111111111100000 10101111101111110000000000010100

Mehr

Zahlenraten: Ein Spiel in Java.

Zahlenraten: Ein Spiel in Java. Zahlenraten: Ein Spiel in Java. Nach dem Start vom Java-Editor (und dem Erstellen eines JFrame-Programms) sieht man Folgendes: Dieser Code startet das Programm, indem es ein Objekt der Klasse Zahlenraten

Mehr

Speicherklassen (1) Lokale Variablen

Speicherklassen (1) Lokale Variablen Speicherklassen (1) Lokale Variablen Lokale Variablen beschränken sich auf die Funktionen, in denen sie definiert werden Sind in der Funktion gekapselt können also nur in der Funktion verändert werden

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Ein- und Ausgabe mit Dateien

Ein- und Ausgabe mit Dateien Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main 2 Vorbemerkungen

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

In BlueJ geht es einfach

In BlueJ geht es einfach Arbeiten mit BlueJ Compilieren, Editieren, Objekte erzeugen, Methoden aufrufen, Objekte inspizieren, vorhandene Klassen benutzen, eigene Klassen und Methoden erstellen In BlueJ geht es einfach BlueJ durch

Mehr

Diplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker

Diplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker Diplomarbeit 5HDO7LPH6SHFLDO (IIHFWV Neue Möglichkeiten durch programmierbare Shader Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker Betreut von: Paul Grimm, Ralf Dörner Beginn: 01.04.02 Abgabe: 30.09.02

Mehr

Einführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg

Einführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg GPU-Versuch andreas.schaefer@cs.fau.de Friedrich-Alexander-Universität Erlangen-Nürnberg Praktikum Parallele Rechnerarchitekturen SS2014 Outline 1 Einführung 2 Outlook 1 Einführung 2 Eine kurze Geschichte

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Oliver Brinkmann Java Swing-Applikationen & JApplets (mit NetBeans)

Oliver Brinkmann Java Swing-Applikationen & JApplets (mit NetBeans) Oliver Brinkmann oliver.brinkmann@smail.fh-koeln.de Java Swing-Applikationen & JApplets (mit NetBeans) 1 Einführung in NetBeans Vorstellung: AWT-/Java-Swing-Paket JApplet Ereignisverarbeitung mit NetBeans

Mehr

Vergleich CAD-Programme

Vergleich CAD-Programme Vergleich CAD-Programme EliteCAD VectorWorks Bedienbarkeit Die Benutzeroberfläche besteht aus dem Zeichenfeld sowie drei Tool- Leisten mit Zeichenwerkzeugen, Parameter-Eingabefeldern und Darstellungsoptionen.

Mehr

OpenGL. (Open Graphic Library)

OpenGL. (Open Graphic Library) OpenGL (Open Graphic Library) Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation

Mehr

3D-Konstruktionsgrafik. FRILO Software GmbH Stand:

3D-Konstruktionsgrafik. FRILO Software GmbH  Stand: FRILO Software GmbH www.frilo.de info@frilo.eu Stand: 19.10.2015 3D-Konstruktionsgrafik Diese Dokumentation informiert über die Grundlagen zur 3D-Grafikansicht unserer Programme. Inhaltsverzeichnis Anwendungsmöglichkeiten...

Mehr

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit Direct 3D-Output für ein Rendering Framework von Benjamin Betting unter der Betreuung von Daniel Schiffner 1 Gliederung Kapitel I und II: Motivation,Einführung,Grundlagen

Mehr

Anwendung und Programmierung von Mikrocontrollern. Anwendung und Programmierung von Mikrocontrollern

Anwendung und Programmierung von Mikrocontrollern. Anwendung und Programmierung von Mikrocontrollern Anwendung und Programmierung von Mikrocontrollern Sommersemester 2013 Dr.-Ing. Hubert Zitt Kontakt: hubert.zitt@fh-kl.de www.fh-kl.de/~zitt Dr.-Ing. Hubert Zitt Seite 1 von 24 S65 Shield (von oben) Komponenten

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Christian-Albrechts-Universität zu Kiel CAU 2-1 Datentypen und Formate Mit der Festlegung des Datentyps wird die Art bestimmt, mit der der Computer die Informationen

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

Mehr

Architektur moderner GPUs. W. Sczygiol - M. Lötsch

Architektur moderner GPUs. W. Sczygiol - M. Lötsch Architektur moderner GPUs W. Sczygiol - M. Lötsch Überblick Chipentwicklung Aktuelle Designs Nvidia: NV40 (ATI: R420) Vertex-Shader Pixel-Shader Shader-Programmierung ROP - Antialiasing Ausblick Referenzen

Mehr

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration Praktikum Ingenieurinformatik Termin 4 Funktionen, numerische Integration 1 Praktikum Ingenieurinformatik Termin 4 1. Funktionen. Numerische Integration, Trapezverfahren 1.1. Funktionen Eine Funktion ist

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr

Programmier-Befehle - Woche 10

Programmier-Befehle - Woche 10 Funktionen Rekursion Selbstaufruf einer Funktion Jeder rekursive Funktionsaufruf hat seine eigenen, unabhängigen Variablen und Argumente. Dies kann man sich sehr gut anhand des in der Vorlesung gezeigten

Mehr

3. Die Programmiersprache Java

3. Die Programmiersprache Java 3. Die Programmiersprache Java 3.1 Arbeiten mit BlueJ 3.2 Objekte und Klassen 3.3 Klassen und Unterklassen 3.4 Daten und Operationen 3.5 Ausdrücke 3.6 Algorithmische Kernsprache 3.7 Sprachbeschreibung

Mehr

Grundlagen von C# - 1

Grundlagen von C# - 1 Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften

Mehr

Parallel-IO. Ports am ATmega128

Parallel-IO. Ports am ATmega128 Parallel-IO Ansteuerung Miniprojekt Lauflicht Ports am ATmega128 PortE (PE7...PE0) alternativ, z.b. USART0 (RS232) 1 Pin von PortC Port C (PC7...PC0) 1 Parallel-IO-Port "Sammelsurium" verschiedener Speicher

Mehr

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT Architektur Übersicht (allgemeine) OOP in C++ Polymorphie Virtuelle Funktionen Kompilieren Linken dynamische/statische Bibliotheken Tutorial: vs2008+ogre+(campus modell) Architektur (allgemeine) OOP in

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2016/2017 Willkommen zum Informatik-Repetitorium!

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

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

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

0. Einführung & Motivation

0. Einführung & Motivation 0. Einführung & Motivation Ansatz: "C++ für Java-Kenner" Konzentration auf semantische Unterschiede 'gleichartiger' Konzepte Erörterung der C++ -spezifischen Konzepte (Overloading, Templates) Anspruch

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)

Mehr

Blender Tutorial Dresden in 3D

Blender Tutorial Dresden in 3D Blender Tutorial Dresden in 3D Einführung In Blender wird viel mit Tastenkürzeln gearbeitet. (Die Kürzel sind am Ende nochmal gelistet). Damit diese Kürzel funktionieren, müsst ihr mit der Maus über dem

Mehr