Mobile 3D-Spieleprogrammierung mit der Mobile 3D Graphics API (M3G) am Beispiel des Handyspieles "MobileBlocks"

Größe: px
Ab Seite anzeigen:

Download "Mobile 3D-Spieleprogrammierung mit der Mobile 3D Graphics API (M3G) am Beispiel des Handyspieles "MobileBlocks""

Transkript

1 Mobile 3D-Spieleprogrammierung mit der Mobile 3D Graphics API (M3G) am Beispiel des Handyspieles "MobileBlocks" Mobile 3D Gameprogramming with the Mobile 3D Graphics API (M3G) using the Example of the Mobile Game "MobileBlocks" Ulrich Voigt Diplomarbeit Betreuer: Prof. Dr. F. N. Rudolph Berlin,

2 II Danksagungen Ganz besonderer Dank gilt meiner Frau Dioné und meinen Kindern Minas und Lasse, die in den letzten Jahren aufgrund meines Studiums oft ohne mich auskommen mussten und mir verständnissvoll die Zeit gaben, die ich dafür brauchte. Ebenso bedanke ich mich bei meinen Eltern für die großzügige Unterstützung und die Ausdauer die sie dabei aufbringen.

3 III Kurzfassung Diese Diplomarbeit demonstriert am Beispiel des Spieles MobileBlocks, welche Möglichkeiten die Mobile 3D Graphics API zur Entwicklung von 3D Handyspielen bietet. Seitdem zu Beginn dieses Jahrhunderts Java fähige Mobiltelefone auf den Markt kamen, werden auch Spiele für sie entwickelt und erfreuen sich wachsender Beliebtheit. Inzwischen sind die Prozessoren und Speicher vieler Mobiltelefone leistungsstark genug, um auch die performanceintensiveren 3D Spiele auf Handys darstellen zu können. Die Mobile 3D Graphics API bietet mit ihren Funktionen und ihrer inzwischen weiten Verbreitung eine geeignete Plattform, dreidimensionale Inhalte für Mobiltelefone bereit zu stellen. Diese Arbeit beschreibt, wie M3G arbeitet und liefert mit dem selbst erstellten Spiel MobileBlocks ein Beispiel für die praktische Umsetzung ihrer Funktionen.

4 IV Inhaltsverzeichnis 1 Einleitung Problemstellung Aufgabenstellung und Zielsetzung Anwendungsentwicklung für Mobiltelefone Kategorien von Mobiltelefonen Mobile Anwendungsentwicklung Plattformabhängige Entwicklung Plattformunabhängige Entwicklung Entwicklung mobiler 3D Anwendungen OpenGL ES Mobile 3D Graphics API MascotCapsule API OpenGL ES for Java (JSR 239) Mathematische Grundlagen und Konzepte der 3D Programmierung Mathematische Grundlagen der 3D Programmierung Koordinatensysteme Vektoren und Punkte Homogene Koordinaten Matrizen Affine Transformationen Transformationen um einen Pivot Konzepte der 3D Computergraphik Geometrische Primitiven D Modelle Licht und Beleuchtung Texturen Kamera und Projektion Die Transformationspipeline Mobile 3D Graphics API M3G und OpenGL ES M3G - Features und Struktur M3G Konzepte Graphics3D Szenengraphen... 3

5 V Transformationen Animationen Animierte Mesh Objekte Laden externer Dateien und das M3G Dateiformat Geometrie- und Fragmentpipeline Das Handyspiel MobileBlocks Vorstellung des Spieles Spielsteuerung Aufbau und Klassenstruktur des Handyspieles MobileBlocks Rahmenklassen Spielinterne Klassenstruktur Zusammenfassung der 3D Elemente von MobileBlocks Literatur... 7 Index Glossar... 73

6 VI Abbildungsverzeichnis Abbildung 5-1: Drei Finger-Regel [PUL8.]... 1 Abbildung 5-2: Skalarprodukt zweier Vekoren [PUL8.] Abbildung 5-3: Kreuzprodukt zweier Vektoren [PUL8.] Abbildung 5-4: affine Transformationen [PUL8.] Abbildung 5-5: Geometrische Primitiven von OpenGL ES [PUL8.] Abbildung 5-6: Mesh aus verbundenen Dreiecken [PUL8.]... 2 Abbildung 5-7: Lichtreflexion auf Vertexbasis und auf Dreiecksbasis [SCH3.] Abbildung 5-8: Lichtquellen: Punktlicht, Richtungslicht und Spotlicht [PUL8.] Abbildung 5-9: Texturwrapping. Mitte clamp-to-edge, rechts repeat Wrapping [PUL8.] 23 Abbildung 5-1: Perspektivprojektion [HOE7.] Abbildung 5-11: Parallelprojektion [HOE7.] Abbildung 5-12: Transformationspipeline [MAL6.] Abbildung 6-1: M3G Klassenhierarchie [PUL8.] Abbildung 6-2: M3G Klassenhierarchie [PUL8.] Abbildung 6-3: Aufbau eines Mesh Objektes in M3G [PUL8.] Abbildung 6-4: Appearance Komponenten [PUL8.] Abbildung 6-5: Sprite3D, Appearance und Image2D [MOR7.] Abbildung 6-6: field of view, near plane und far plane eines Camera Objektes [MOR7.] Abbildung 6-7: Benutzung eines zusätzlichen Group Knotens zur Implementierung einer Rotation um einen Pivot und achsen-orientierter Skalierung [PUL8.] Abbildung 6-8: Zusammenhang der Klassen KeyframeSequence, AnimationTrack und AnimationController [MOR7.] Abbildung 6-9: Interpolationsmethoden [HOE7.] Abbildung 6-1: Eine Transformation des Bones bewirkt eine Skinverformung [HOE7.] 48 Abbildung 6-11: M3G Dateiformat [HOE7.]... 5 Abbildung 6-12: Referenz der Geometrie- und Fragmentpipeline von M3G (aus: M3G Javadoc) Abbildung 7-1: Icons zur Kamerasteuerung. Links: Translation, Mitte: Rotation, Rechts: Figurensteuerung... 56

7 VII Tabellenverzeichnis Tabelle 1: KeyframeSequence Interpolationsmethoden Tabelle 2: animierbare Eigenschaften in M3G ( animation targets )... 44

8 Einleitung 1 1 Einleitung Schon im Jahr 23 wurden mit der Entwicklung von OpenGL ES und der Mobile 3D Graphics API die Grundlagen geschaffen, auch 3D Anwendungen für Mobiltelefone zu erstellen und damit der Grundstein für die Entwicklung von 3D Handyspielen gelegt. Da die Mobiltelefone jedoch zu dieser Zeit noch wenig Rechenleistung und Speicher zur Verfügung stellten, war die Produktion von 3D Spielen höchstens für einzelne Handymodelle, in einem sehr eingeschränkten Umfang möglich. Dies hat sich mit der Entwicklung von Mobiletelefonen zu Smart Phones, also kleinen Taschencomputern, geändert. Inzwischen gibt es über 2 unterschiedliche Handys, welche die Mobile 3D Graphics API unterstützen 1 und auch das Angebot an 3D Spielen wird immer größer. Auch wenn heute 3D Handyspiele vielleicht noch eine Randerscheinung sein mögen, so zeigt doch die Entwicklung der Computer- und Konsolenspiele, dass erweiterte Fähigkeiten der jeweiligen Plattform gerade in Spielen genutzt werden und die Tendenz meistens hin zu einer realistischeren Darstellung der Spielwelten mittels 3D geht. Schon in wenigen Jahren wird die Masse der Mobiltelefone die gleichen Möglichkeiten bieten, die heute lediglich die neueren Smart Phones zur Verfügung stellen und spätestens dann werden die meisten Handyspiele, wie heute schon im Bereich der Computer- und Konsolenspiele, 3D Spiele sein. 1

9 Problemstellung 2 2 Problemstellung Will man ein 3D Handyspiel entwickeln, stellt sich zunächst die Frage, welche Möglichkeiten zur Verfügung stehen, um dies zu verwirklichen. Es ist notwendig, zu wissen, welche Technologien es dafür bereits gibt und welche Unterstützungen sie leisten, dem Ziel eines lauffähigen 3D Spieles näher zu kommen. Da Handyspiele zu einem, im Vergleich zu Computerund Konsolenspielen, niedrigen Preis angeboten werden, darf der Aufwand, der zur Erstellung eines solchen Spieles notwendig ist, einerseits nicht zu groß sein und andererseits sollte es eine größere Zahl von Mobiltelefonen geben, welche die zu Grunde liegende Technologie auch unterstützen. Schnell wird man bei der Suche nach 3D Technologien für Handys auf OpenGL ES und die Mobile 3D Graphics API stoßen. Doch was ist der Unterschied und welche der beiden Möglichkeiten ist diejenige, die das Potenzial hat, mit möglichst geringem Aufwand, möglichst viele Nutzer zu erreichen?

10 Aufgabenstellung und Zielsetzung 3 3 Aufgabenstellung und Zielsetzung Nahezu jedes auf dem Markt angebotene Handy unterstützt heutzutage die mobile Java Version Java ME und auf den meisten ist zusätzlich auch die Mobile 3D Graphics API installiert. Zwar unterstützen viele Geräte auch OpenGL ES, eine kleinere, für eingebettete Systeme optimierte Version des bekannten 3D Standards OpenGL, aber um diese Schnittstelle ansprechen zu können, muss die Anwendung meist auf Basis der jeweils zugrunde liegenden Plattform programmiert werden. Dies wiederspricht dem Anspruch einer möglichst großen Portabilität des Spieles. OpenGL ES ist eine Schnittstelle auf niedrigem, hardwarenahem Niveau, die, um sie als Basis für Anwendungen und Spiele effektiv einzusetzen, zunächst einmal in eine abstraktere und allgemeinere Engine gekapselt werden muss. Genau das macht die Mobile 3D Graphics API, so dass mit ihr bereits eine fertige und anwendbare 3D Engine vorliegt, die außerdem weit verbreitet ist. Jede 3D Engine bietet auf ihre eigene Art Unterstützung für die zu lösenden Probleme einer dreidimeanionalen Anwendung. Die Mobile 3D Graphics API verfolgt dabei ihre eigenen, eher objektorientierten Ansätze, die für viele 3D Programmierer aus dem Computer- oder Konsolenspielebereich eher ungewohnt sein werden. Diejenigen Programmierer, die zwar Java ME kennen, jedoch noch keine Erfahrung mit der Entwicklung von 3D Spielen haben, erhalten dank der Mobile 3D Graphics API einen relativ einfachen und vertrauten Einstieg in die Welt der 3D Programmierung. Trotzdem ist es notwendig zunächst einmal die Terminologie und die mathematischen Grundlagen einer graphischen 3D Anwendung zu verstehen. Daher werde ich, nach einem allgemeinem Überblick über die Möglichkeiten der Anwendungsentwicklung und speziell der 3D Entwicklung auf Mobiltelefonen, eine kurze Einführung in die Mathematik und Terminologie von graphischen 3D Anwendungen geben. Meine Arbeit erklärt danach die Funktionsweise von M3G, um im letzten Teil mit der Beschreibung des Handyspieles MobileBlocks ein Anwendungsbeispiel zu geben.

11 Anwendungsentwicklung für Mobiltelefone 4 4 Anwendungsentwicklung für Mobiltelefone In diesem Kapitel möchte ich eine kurze Einführung in die Möglichkeiten der Anwendungsentwicklung für Mobiltelefone geben. Zunächst werde ich die heute verfügbaren Handys grob kategorisieren, um danach unterschiedliche Betriebssysteme und Plattformen zu beschreiben. Am Ende dieses Kapitels gebe ich einen kurzen Abriss über die Möglichkeiten der 3D Anwendungsentwicklung für Mobiltelefone. 4.1 Kategorien von Mobiltelefonen Heutige Mobiltelefone lassen sich laut Pulli et. Al. grob in drei Kategorien einordnen: Basic Phones, Feature Phones und Smart Phones [PUL8.]. Obwohl es innerhalb der drei Kategorien große Variationsbreiten gibt, hilft die Einteilung dabei zu beurteilen, welche Möglichkeiten ein Handy für die Ausführung graphischer Anwendungen und insbesondere Spiele bietet. Die Entwicklung schreitet jedoch so schnell voran, dass heutige Smart Phones die Feature Phones von morgen sind und Anwendungen, die heute nur auf High End Smart Phones möglich sind, schon bald massentauglich werden (ebd.). Die Kategorie der Basic Phones ist für graphische Anwendungen nicht weiter interessant, da sie meist eine geschlossene Umgebung mit proprietären Betriebssystemen haben, deren Anwendungen lediglich von den Entwicklern der Handys selbst erstellt werden können. Außerdem ist diese Kategorie von Mobiltelefonen mit sehr geringen Prozessorkapazitäten und kleinen Displays mit geringer Auflösung ausgestattet. Die zweite Katgorie der Feature Phones dagegen bildet die Masse der Mobiltelefone in den Industrieländern, und die meisten von ihnen unterstützen mobile Java Anwendungen. Dies ermöglicht eine relativ einheitliche graphische Anwendungs- und Spieleentwicklung und bietet genügend Programmierschnittstellen für die meisten Multimediabedürfnisse, inklusive 3D Graphiken. Die Java Handys umspannen jedoch eine so große Bandbreite bezüglich Performance und zur Verfügung stehender Features, dass viel Zeit investiert wird, Anwendungen an die unterschiedlichen Gegebenheiten der einzelnen Geräte anzupassen (ebd.). Die dritte Kategorie der Smart Phones entwickelt sich schon jetzt zu vollwertigen, tragbaren Computern. Ihre Schlüsselfeatures sind große, scharfe und helle Farbdisplays, schnelle Prozessoren, viel Speicher und üppige Multimedia Ausstattungen. Einige der neueren Geräte beinhalten auch ausgewiesene 3D Hardwareunterstützung. Die Betriebssysteme lassen die Installation von Fremdanwendungen ebenso zu wie Java Anwendungen, und sowohl die Mobile 3D Graphics API, als auch OpenGL ES stehen meist für 3D Inhalte zur Verfügung (ebd.).

12 Anwendungsentwicklung für Mobiltelefone Mobile Anwendungsentwicklung Während in der Welt der Desktopcomputer lediglich drei Hauptfamilien von Betriebssystemen existieren, gibt es dutzende Betriebssysteme für Mobiltelefone. Traditionell waren alle Handy Betriebssysteme geschlossene Systeme, was bedeutet, dass lediglich die Hersteller Anwendungen für sie entwickeln und installieren konnten. Sie dienten ja auch hauptsächlich dem Zweck des Telephonierens. Dies hat sich mit der Entwicklung von Mobiltelefonen zu kleinen Taschencomputern geändert. Alle Anwendungen selbst zur Verfügung zu stellen bedeutet eine große und teure Entwicklungsaufgabe für einen einzelnen Hersteller, so dass erst durch das Öffnen der Handyplattformen die Bandbreite der verfügbaren Anwendungen deutlich wachsen konnte. Heute haben fast alle vertriebenen Mobiltelefone eine offene Entwicklungsumgebung, auch wenn für einige erst Zertifikate vom Hersteller benötigt werden, damit Anwendungen für sie erstellt werden dürfen. Beispiele für offene Plattformen sind Java, BREW/WIPI, Linux, Palm OS, Symbian OS und Windows Mobile (ebd.). In neuester Zeit sind noch das Apple iphone und Google s Android hinzugekommen Plattformabhängige Entwicklung Native Anwendungen, also Anwendungen, die direkt im Maschinen Code des Zielprozessors kompiliert wurden, haben den Vorteil, dass sie ihren Code direkt auf der Hardware des Zielgerätes ausführen können. Dadurch haben sie einerseits die Möglichkeit, auf alle geräteinternen Features zuzugreifen und können andererseits die maximale Performance erzielen. Der große Nachteil dieser Anwendungen ist die fehlende Portabilität auf andere Plattformen und die Gefahr, dass fehlerhafte Ausführungen der Programme das ganze System zum Absturz bringen können. Ich möchte hier nur ganz kurz die wichtigsten nativen Plattformen erwähnen Symbian OS Das zurzeit marktführende Betriebssystem für Smart Phones ist Symbian OS, der Firma Symbian, die jedoch zu Nokia gehört. Auf Basis von Symbian OS arbeiten die Benutzeroberflächen S6, S8, S9 und UIQ. Symbian OS wird aber nicht nur von Nokia verwand, sondern unter anderem auch von Sony Ericsson, Motorola und Siemens. Symbian OS unterstützt, ähnlich wie Desktop Betriebssysteme, Multithreading, präemptives Multitasking und Speicherschutz. Aufgrund der weiten Verbreitung von Symbian OS ist dieses Bertiebssystem auch in den Fokus von Virenprogrammierern gerückt. Durch Einführung eines Zertifikatsystems ist jedoch das Ausführen von unerwünschtem Code stark eingeschränkt worden. 2 Die native Programmiersprache von Symbian OS ist das Symbian C++. Besonderheiten des Symbian C++ sind ein strenges Exception Handling und Speichermanagement. Es bietet durch seine Klassenbibliotheken Zugriff auf unterschiedliche Features der Mobilfunkgeräte. 3 Aufgrund der weiten Verbreitung von Symbian OS und der Plattformen S6 und UIQ, welches die Touchscreen Variante von S6 darstellt, wird der Nachteil der geringen Portabilität der nativen Anwendungen bis zu einem gewissen Grad aufgefangen. Aus diesem Grund ist das Angebot von Symbian Anwendungen inclusive Spielen relativ groß. Insbesondere die von 2 3

13 Anwendungsentwicklung für Mobiltelefone 6 Nokia wiedererweckte Spieleplattform N-Gage baut auf Symbian OS auf und bietet hochwertige Handyspiele, zum Teil auch in 3D auf Basis von OpenGL ES, an Windows Mobile Microsofts Windows Mobile ist ein mobiles Betriebssystem, welches auf der Microsoft Win32 API basiert. Es wird vor allem auf PDAs aber auch für Smart Phones benutzt und ähnelt in seiner Oberfläche den Desktop Varianten von Windows. 5 Auch Windows Mobile ist weit verbreitet, wobei seine Anwendungsausrichtung jedoch deutlich stärker in Richtung Office Anwendungen tendiert. Eine eigene Spielplattform, wie N- Gage für Symbian Geräte gibt es hier daher nicht. Windows Mobile unterstützt auf vielen Geräten zur 3D Programmierung Direct3D 6, aber auch OpenGL ES Apple iphone Das iphone von Apple nutzt als Betriebssystem ein angepasstes Mac OS X für Flashspeicher. 8 Zur Entwicklung von iphone und ipod Touch Software ist man gezwungen, einen Macintosh Computer zu benutzen, wobei als Programmierspache Objective-C zum Einsatz kommt. Ein kostenloses SDK stellt Apple nebst der IDE Xcode nach einer Registrierung zur Verfügung. Auf das Mobiltelefon selbst darf jedoch nur signierte Software, so dass zur Entwicklung nur der Emulator zur Verfügung steht. Die Zahl der für das iphone zur Verfügung stehenden Anwendungen wächst sehr schnell, da das Interesse der Entwickler am Geschäft des iphones teilzuhaben scheinbar sehr groß ist. 9 Das iphone unterstützt OpenGL ES zur Entwicklung von 3D Software Android Das von der Open Handset Alliance entwickelte mobile Betriebssystem Android basiert auf dem Linux-Betriebssystem und nutzt als Programmiersprache Java. Die Laufzeitumgebung von Android basiert auf der Dalvik Virtual Machine, die ähnlich wie die Java VM funktioniert, jedoch eine Registermaschine darstellt. Anwendungen für Android werden in Java geschrieben und können mit dem Android SDK entwickelt werden. 11 Auch die Android Plattform unterstützt zur mobilen 3D Entwicklung OpenGL ES. 12 Momentan kann man in Deutschland noch kein Android Handy erwerben, in den USA ist jedoch inzwischen mit dem T-Mobile G1 das erste Mobiltelefon auf Basis der Android Plattform auf dem Markt Siehe: c t Magazin für Computertechnik Ausgabe 18/28 S.18ff

14 Anwendungsentwicklung für Mobiltelefone Plattformunabhängige Entwicklung Java Micro Edition Da heutzutage fast alle Mobiltelefone mit J2ME Unterstützung ausgeliefert werden, ist die Java Micro Edition inzwischen die am weitesten verbreitete Anwendungsplattform überhaupt [PUL8.]. Die Plattformunabhängigkeit von Java ME erlaubt es den Entwicklern Anwendungen zu erstellen, die auf den unterschiedlichsten Mobiltelefonen verwendbar sind. Zur Entwicklung von 3D Anwendungen stellt Java ME auf vielen Handys die M3G API zur Verfügung. Es gibt jedoch auch noch andere Klassenbibliotheken, die mit J2ME zusammen verwendbar sind und eine Schnittstelle zur 3D Programmierung bieten (siehe unten). Die Java Plattform stellt eine hervorragende Ergänzung für ein ansonsten geschlossenes System dar. Sie gewährleistet Sicherheit, Stabilität und Portabilität dank des Designs ihrer Virtual Machine, während die Kosten für Dokumentation und Support auf alle Firmen verteilt wird, die an der Java Standardisierung teilhaben (ebd.). Die sichere und robuste Architektur der Java Virtual Machine hat jedoch ihren Preis: Das Abschirmen der Anwendungen von der darunterliegenden Software und Hardware macht Low- Level Optimierungen unmöglich und bietet der Anwendung nur eingeschränkten Zugang zu den Features eines Mobiltelefons. Die Performance der Anwendungen kommt meist nicht an die einer nativen Anwendung heran. Es ist laut Pulli et. Al. ganz besonders auf mobilen Geräten kein Mythos, dass in Java programmierter Code langsamer ist als C und C++ (ebd.) Flash Lite Neben J2ME hat sich seit einiger Zeit auf vielen Mobiltelefonen die Unterstützung von Flash Lite etabliert. Flash Lite ist eine für mobile Geräte optimierte Version des Flash Players der Firma Adobe. Mit Hilfe der Programmiersprache Action Script lassen sich so auch interaktive Anwendungen wie Benutzeroberflächen, aber auch Spiele erstellen. Flash und auch Flash Lite benutzen dafür Vektorgrafiken, was eine Skalierung ohne Qualitätsverlust ermöglicht und eine Portierung auf unterschiedliche Geräte mit verschiedenen Displaygrößen vereinfacht. Neben der noch nicht so großen Verbreitung und geringer Soundunterstützung ist die schlechtere Performance aufgrund des größeren Rechenaufwands für Vektorgraphiken, ein Nachteil, den Flash Lite gegenüber Java ME bietet

15 Anwendungsentwicklung für Mobiltelefone Entwicklung mobiler 3D Anwendungen Die weltweit ersten Mobiltelefone mit einer eingebetteten 3D Engine wurden in Japan im Jahr 21 von der Firma J-Phone vertrieben [PUL8.]. Die Grafik Engine war eine frühe Version der Mascot Capsule Engine der Firma HI Coorporation. Der Hauptzweck dieser frühen Anwendungen war es, einfache 3D Objekte zu animieren (ebd.). Außerhalb Japans war das erste Mobiltelefon, welches 3D Grafiken unterstützte, das Nokia 341, welches im Jahr 22 in Europa vertrieben wurde. Es hatte noch einen monochromen Bildschirm mit einer Auflösung von lediglich 96x65 Pixeln, unterstützte aber schon alle essentiellen 3D Render Features und ähnelte der OpenGL ES Version 1. (ebd.). Andere frühe 3D Grafik Engines waren Swerve von Superscape, ExEn (Execution Engine) von InFusio, X-Forge von Fathammer und Mophun von Synegetics (ebd.). Es waren alles Middleware- und Spielengine Lösungen, die High-Level Features wie Animation, binäre Dateiformate und oftmals auch Eingabeverarbeitung und Sound unterstützten. Das Fehlen einer einheitlichen Plattform machte es jedoch schwer, genügend Marktsegmente zu besetzen, um gewinnbringend Anwendungen zu erstellen (ebd.). Im Jahr 22 gründete die Khronos Group, ein Standardisierungskonsortium zur Spezifizierung und Förderung mobiler Multimedia APIs, ein Komitee, um eine abgespeckte OpenGL Version für mobile Geräte zu entwickeln. In Konkurenz dazu bildete sich unter der Führung von Nokia eine Initiative, um eine High-Level 3D API für Java ME zu standardisieren. Beide Standards wurden Seite an Seite entwickelt und beeinflußten einander, da teilweise die gleichen Leute an beiden Projekten mitwirkten. Im Herbst 23 wurden sowohl OpenGL ES 1., als auch M3G 1. im Abstand von nur wenigen Monaten veröffentlicht. Ein Jahr später konnten dann die ersten Implementierungen auf Mobiltelefonen vertrieben werden (ebd.) OpenGL ES OpenGL ES ist eine kompakte Version des bekannten Grafikstandards OpenGL. Es handelt sich um eine Low-Level Rendering API, die auf die Bedürfnisse von eingebetteten Systemen angepasst ist. Die erste Vesion, OpenGL ES 1., hatte zum Ziel, eine extrem kompakte API zur Verfügung zu stellen, ohne dabei auf wichtige Features zu verzichten. Sie musste als volle Softwareimplementierung mit weniger als 5KB Code auskommen, jedoch gleichzeitig eine Hardwarebeschleunigung ermöglichen. Die grafischen Effekte, die von den Desktop Versionen bekannt waren, sollten dennoch zur Verfügung stehen (ebd.). Die spätere Version OpenGL ES 1.1 beinhaltete mehr Features zur Unterstützung von Hardwarebeschleunigung, die zusammen mit den ersten 3D Graphikchips verfügbar wurde. Die letzte Version, OpenGL ES 2., stellt eine völlig überarbeitete API zur Verfügung und ist nicht rückwärtskompatibel zu den 1.x Versionen. Die 1.x und 2.x Versionen koexistieren jedoch insofern, als dass alle OpenGL 2.x Geräte auch mit Version 1.1 Treibern ausgestattet werden (ebd.). Eine OpenGL ES unterstützende API ist EGL. Sie kümmert sich um die Integration von O- pengl ES in das zugrundeliegende System und managt Render Targets und Kontexte (ebd.).

16 Anwendungsentwicklung für Mobiltelefone Mobile 3D Graphics API Als die ersten Java fähigen Mobiltelefone im Jahr 2 auf den Markt kamen, wurde ersichtlich, dass die Performance und der Speicheroverhead von Java für Echtzeit 3D Anwendungen ungeeignet waren. Daraus ergab sich die Notwendigkeit, eine neue Standard API zu entwickeln, die so viele Berechnungen wie möglich in nativen Code auslagern konnte. M3G war eine völlig neue High-Level API, die Ideen aus früheren APIs wie Java 3D und OpenInventor entlehnte. Sie besteht aus einer Baumstruktur mit Knoten, welche die 3D Elemente kapseln. Die Knoten können so zu einem Szenengraphen verbunden werden, dass er die grafischen Objekte und ihre Beziehung zueinander repräsentiert. M3G ist so entworfen, dass es effizient auf Basis des OpenGL ES Renderers implementiert werden kann (ebd.). Da M3G das Hauptthema dieser Arbeit darstellt, werde ich mich weiter unten tiefgehend mit dieser Schnittstelle befassen MascotCapsule API MascotCapsule ist eine 3D Rendering Engine für mobile Geräte, die von der japanischen Firma HI Corporation entwickelt und 21 das erste Mal kommerziell genutzt wurde [HOE7.]. Die Version V4 bietet Unterstützung für M3G und ist rückwartskompatibel zu Version V3. Im Vergleich zu M3G bietet MascotCapsule weniger Features, ist aber gerade durch seine Einfachheit performanter. Version V3 überbrückt die Unterschiede zwischen älteren Geräten und solchen mit erweiterten Fähigkeiten (ebd.). Ähnlich wie M3G bietet MascotCapsule auch Unterstützung zum Laden von Binärdateien. Die 3D Daten werden hier in Modell Dateien mit der Endung.bac und Animationsdateien mit der Endung.tra aufgeteilt. Texturdaten werden als.bmp Dateien gespeichert und geladen (ebd.) OpenGL ES for Java (JSR 239) JSR 239, auch als JOGL (Java Bindings for OpenGL ES) bezeichnet, ist eine Java Spezifikation, deren Ziel es ist, OpenGL ES und EGL mobilem Java so direkt wie möglich zur Verfügung zu stellen. Es verspricht volle OpenGL ES Funktionalität für eine maximale Performance und Flexibilität. Die unterschiedlichen Versionen von OpenGL ES werden hier als eine Hierarchie von Java Schnittstellen präsentiert [PUL8.]. Als Java API erweitert JSR 239 die Fehlerbehandlungen von OpenGL ES mit zusätzlichen Exceptions, um potentielle Risiken für die Systemstabilität und -sicherheit auszuschalten. Bis jetzt ist die Anzahl der Handys, die JSR 239 unterstützen jedoch noch recht klein (z.b. Sony Ericsson Z75).

17 Mathematische Grundlagen und Konzepte der 3D Programmierung 1 5 Mathematische Grundlagen und Konzepte der 3D Programmierung Bevor ich die Funktionen der Mobile 3D Graphics API beschreibe, möchte ich einen kurzen Überblick auf die mathematischen Grundlagen der 3D Programmierung geben und anschließend einige grundlegende Konzepte der 3D Computergraphik vorstellen. 5.1 Mathematische Grundlagen der 3D Programmierung Koordinatensysteme Um Formen und Positionen zu definieren benötigt es eine Referenz. Diese stellt das Koordinatensystem zur Verfügung und definiert einen Raum. Den Ursprung eines Koordinatensystems bildet ein Punkt, während seine Achsen Richtungen darstellen. Dreidimensionale Koordinatensysteme haben drei Achsen, die normalerweise mit den Buchstaben x, y und z bezeichnet werden. Jede Achse hat eine Längeneinheit und ist senkrecht zu den anderen Achsen positioniert. Werden zunächst die x- und die y-achse senkrecht zueinander positioniert, dann gibt es zwei Möglichkeiten die z-achse anzulegen. Die Wahl der Positionierung der z- Achse entscheidet daher darüber, ob ein Koordinatensystem rechtshändig oder linkshändig orientiert ist. Die Rechtshändigkeit eines Koordinatensystems läßt sich mit der 3 Finger Regel überprüfen (siehe Abb. 5-1). Abbildung 5-1: Drei Finger-Regel [PUL8.] Mit Ausnahme des globalen Weltkoordinatensystems, wird ein Koordinatensystem immer in Bezug zu einem anderen Koordinatensystem gesetzt. So hat jedes 3D Objekt sein eigenes lokales Koordinatensystem, welches in Beziehung zu dem System des Raumes steht, der das Objekt umgibt [PUL8.].

18 Mathematische Grundlagen und Konzepte der 3D Programmierung Vektoren und Punkte Innerhalb eines 3D Koordinatensystems ist jede Position im Raum ein Punkt, der durch seine Koordinaten beschrieben werden kann. Ein Vektor dagegen ist eine Verschiebung, eine Differenz zwischen zwei Punkten. Ein Vektor hat keine Position, jedoch eine Richtung und eine Länge. Ähnlich wie Punkte können Vektoren durch Koordinaten beschrieben werden. Der Vektor v ab, der die Verschiebung von Punkt a nach Punkt b darstellt, hat die Koordinaten: v ab = [b x - a, b x y - a y, b z - a z ] Formel 1: Vektor v ab zwischen den Punkten a und b Ein Punkt lässt sich auch durch einen Vektor vom Ursprung zu dem Punkt selbst darstellen (ebd.). Die Summe zweier Vektoren bildet einen neuen Vektor. Vektoren können auch mit skalaren Werten multipliziert werden, wodurch sich die Länge des Vektors ändert: a v = [av, av, av ] x y z Formel 2: Multiplikation des Vektors v mit dem Skalar a Es gibt zwei Arten, Vektoren miteinander zu multiplizieren: Das Skalarprodukt und das Kreuzprodukt. Das Ergebnis des Skalarproduktes ist ein Skalar. Es lässt sich auf zwei verschiedene Arten darstellen: a b = a x b x + a y b y + a z b z a b = cos(θ ) a b Formel 3: zwei Darstellungen des Skalarproduktes Die erste Darstellung ist algebraisch und benutzt die Vektorkoordinaten. Die zweite ist geometrisch und basiert auf den Längen der Vektoren und dem kleinsten Winkel zwischen ihnen. Eine der wichtigsten Eigenschaften, die mit dem Winkel einhergehen, ist die, dass bei senkrecht zueinander stehenden Vektoren das Skalarprodukt ergibt (siehe Abb. 5-2).

19 Mathematische Grundlagen und Konzepte der 3D Programmierung 12 Abbildung 5-2: Skalarprodukt zweier Vekoren [PUL8.] Das Kreuzprodukt zwischen zwei Vektoren existiert nur im dreidimensionalen Koordinatensystem. Aus ihm entsteht ein neuer Vektor. a b = [ aybz azby, azbx axbz, axby a ybx ] Formel 4: Kreuzprodukt zweier Vektoren a und b Der durch das Kreuzprodukt der Vektoren entstandene Vektor ist senkrecht zu den Vektoren a und b (siehe Abb. 5-3). Die Länge des neuen Vektoren entspricht sin(θ ) a b. Sind a und b parallel, dann ist seine Länge. Wird die Multiplikation umgekehrt, dann ändert sich das Vorzeichen des Ergebnisses (ebd). Abbildung 5-3: Kreuzprodukt zweier Vektoren [PUL8.] Homogene Koordinaten Es kann sehr verwirrend sein, Punkte und Richtungen durch Vektoren mit drei Koordinaten zu repräsentieren. Homogene Koordinaten können diesen Unterschied besser darstellen: Es wird einfach eine vierte Koordinate (w) hinzugefügt. Ist w =, dann handelt es sich um eine Richtung, ansonsten um einen Punkt (ebd.). Um einen Punkt mit den homogenen Koordinaten [h x, h y, h z, h w ] in einen 3D Punkt umzurechenen, dividiert man die Komponenten durch den Wert von h w. Ist h w =, dann erhält man einen Punkt, der eine unendliche Entfernung besitzt. Dies wird als die Richtung zum Punkt [h x, h y, h z ] interpretiert. Umgekehrt kann man den Punkt [hx, hy, hz] durch hinzufügen der

20 Mathematische Grundlagen und Konzepte der 3D Programmierung 13 vierten Komponente homogenisieren: [p x, p y, p z, 1]. Tatsächlich kann man jeden Wert der ungleich Null ist für w benutzen, um den gleichen Punkt zu erhalten: [wp x, wp y, wp z, w] (ebd.). Es läßt sich auch erkennen, dass für normalisierte homogene Koordinaten (w ist entweder oder 1) aus der Differenz zweier Punkte ein Richtungsvektor entsteht (w wird zu 1-1=). Aus der Addition eines Richtungsvektors zu einem Punkt entsteht dagegen wieder ein Punkt, der entgegen dem alten um die Werte des Vektors verschoben wurde (w wird zu 1+=1). Es gibt noch einen weiteren, wichtigeren Grund, für die Benutztung homogener Koordinaten: Sie erlauben es, alle linearen 3D Transformationen mit einer 4x4 Matrix, die auf 4x1 homogenen Vektoren basiert, auszudrücken. Diese Darstellung ist so mächtig, dass sich mit ihr Verschiebungen, Rotationen, Skalierungen, Scherungen und sogar Perspektiv- und Parallelprojektionen ausdrücken lassen (ebd.) Matrizen Eine 4x4 Matrix M besteht aus den Komponenten m ij, wobei i die Reihe bezeichnet und j die Spalte: M m m = m m m m m m m m m m m m m m Formel 5: 4x4 Matrix Ein Spaltenvektor v besitzt die Komponenten v i : v v = v v3 [ v v v v ] T 1 v = Formel 6: Spaltenvektor und transponierte Form Die Transponierung wandelt einen Spaltenvektor in einen Reihenvektor um, und umgekehrt. Bei einer Matrix M=[m ij ] bewirkt eine Transponierung eine Spiegelung an der Diagonalen, das heißt, die Spalten werden zu den Reihen: M T =[m ji ] (ebd.) Matrix Produkte Das Produkt einer Matrix mit einem Vektor erzeugt einen neuen Vektor. Sowohl Richtungen als auch Positionen werden durch die Multiplikation des entsprechenden homogenen Vektors v mit einer Transformationsmatrix M transformiert: v =Mv. Jede Komponente des Spaltenvektors v ergibt sich durch ein Skalarprodukt einer Reihe von M mit v, wobei M genauso viele Spalten haben muss, wie v Reihen:

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

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

Computer-Graphik I Transformationen & Viewing

Computer-Graphik I Transformationen & Viewing lausthal Motivation omputer-raphik I Transformationen & Viewing Man möchte die virtuelle 3D Welt auf einem 2D Display darstellen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann

Mehr

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

Mehr

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme Smartphone - Betriebssysteme Peter Rami - Graz, 28.04.2009 Inhalt Smartphone Symbian OS Windows Mobile BlackBerry OS iphone OS Android Marktanteile & Ausblick Smartphone - Betriebssysteme Peter Rami -

Mehr

4. Kapitel 3D Engine Geometry

4. Kapitel 3D Engine Geometry 15.11.2007 Mathematics for 3D Game Programming & Computer Graphics 4. Kapitel 3D Engine Geometry Anne Adams & Katharina Schmitt Universität Trier Fachbereich IV Proseminar Numerik Wintersemester 2007/08

Mehr

Computergraphik Grundlagen

Computergraphik Grundlagen Computergraphik Grundlagen IV. Koordinatensysteme und geometrische Transformationen Prof. Stefan Schlechtweg Hochschule Anhalt Fachbereich Informatik Inhalt Lernziele 1. Skalare Punkte und Vektoren 2.

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

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

C++ und mobile Plattformen

C++ und mobile Plattformen Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) C++ und mobile Plattformen Mit diesem Artikel möchte ich euch einen kurzen Überblick über die verschiedenen Plattformen für

Mehr

6 Symmetrische Matrizen und quadratische Formen

6 Symmetrische Matrizen und quadratische Formen Mathematik für Ingenieure II, SS 9 Freitag. $Id: quadrat.tex,v.5 9//5 ::59 hk Exp $ $Id: orthogonal.tex,v.4 9// ::54 hk Exp $ $Id: fourier.tex,v. 9// :: hk Exp $ Symmetrische Matrizen und quadratische

Mehr

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997 Raytracing Schlussbericht Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997 bei Betreuer Marco Manzi, Institut für Informatik und angewandte Mathematik Inhalt Fragestellung...

Mehr

ax 2 + bx + c = 0, (4.1)

ax 2 + bx + c = 0, (4.1) Kapitel 4 Komplexe Zahlen Wenn wir uns auf die reellen Zahlen beschränken, ist die Operation des Wurzelziehens (also die Umkehrung der Potenzierung) nicht immer möglich. Zum Beispiel können wir nicht die

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

Mobile Applications. Adrian Nägeli, CTO bitforge AG

Mobile Applications. Adrian Nägeli, CTO bitforge AG Mobile Applications Adrian Nägeli, CTO bitforge AG Inhalt Vorstellung Marktübersicht Entwicklung Adrian Nägeli Dipl. Inf.-Ing FH Seit 2005 bei bitforge bitforge AG Standort Rapperswil-Jona Gründung 2004

Mehr

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Computer Vision: 3D-Geometrie D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Lochkamera Modell C Projektionszentrum, Optische Achse, Bildebene, P Hauptpunkt (optische Achse kreuzt die Bildebene),

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Komprimieren von Bildern

Komprimieren von Bildern Komprimieren von Bildern Weshalb komprimiert man Bilder? Internet-Browser können lediglich eine begrenzte Zahl von Bilddateien lesen: Dies sind die Formate.gif,.jpg und.png. Man kann Bilder jedoch in einer

Mehr

Numerisches Programmieren

Numerisches Programmieren Technische Universität München SS 2012 Institut für Informatik Prof Dr Thomas Huckle Dipl-Inf Christoph Riesinger Dipl-Math Alexander Breuer Dipl-Math Dipl-Inf Jürgen Bräckle Dr-Ing Markus Kowarschik Numerisches

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

Mehr

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Alexander Bobenko und Ivan Izmestiev Technische Universität Berlin 1 Hausaufgaben vom 12.09.2007 Zahlentheorie 1 Aufgabe 1.1 Berechne die (quadratischen)

Mehr

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

Mehr

Das SR4 bietet eine Reihe von Verbesserung und behebt kleinere bekannte Probleme aus den Bereichen:

Das SR4 bietet eine Reihe von Verbesserung und behebt kleinere bekannte Probleme aus den Bereichen: Smith Micro Software, Inc. und das Poser-Team freuen sich mitteilen zu dürfen, dass das Poser Pro 2014 Service Release 4 (SR4) ab sofort für Mac OS X und Windows verfügbar ist. Das SR4 wird ihre Poser-Vollversion

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

3D Grafik mit TrueSpace 5. Crashkurs März 2013. März 2013 Einführung in die 3D-Bearbeitung - 2012 Frank Kaden 1/26

3D Grafik mit TrueSpace 5. Crashkurs März 2013. März 2013 Einführung in die 3D-Bearbeitung - 2012 Frank Kaden 1/26 3D Grafik mit TrueSpace 5 Crashkurs März 2013 März 2013 Einführung in die 3D-Bearbeitung - 2012 Frank Kaden 1/26 3D Grafik mit TrueSpace dreidimensionales Visualisierungs-, Modellier-, Animationsprogramm

Mehr

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

NX für die digitale Produktentwicklung:

NX für die digitale Produktentwicklung: StS.fact sheet NX Virtual Studio NX für die digitale Produktentwicklung: Als vollständige Lösung für die digitale Produktentwicklung bietet die NX Software integrierte und technologisch führende Funktionen

Mehr

Lineare Algebra - alles was man wissen muß

Lineare Algebra - alles was man wissen muß Statistik für Bioinformatiker SoSe 3 Rainer Spang Lineare Algebra - alles was man wissen muß Der Titel ist natürlich gelogen, aber was wir hier zusammengetragen haben ist zumindest ein Anfang. Weniger

Mehr

Linear Workflow. Linear Workflow. Version 1.0-2011-10-11

Linear Workflow. Linear Workflow. Version 1.0-2011-10-11 Version 1.0-2011-10-11 Verfahren, Bilder unter Rücksichtnahme ihres Farbprofils und der des Ausgabegeräts zu berechnen (3D), bzw. zu bearbeiten (Compositing), um eine mathematisch und physikalisch korrekte

Mehr

Anleitung zum Applet Schiefer Wurf

Anleitung zum Applet Schiefer Wurf Anleitung zum Applet: Schiefer Wurf 1 Anleitung zum Applet Schiefer Wurf Bearbeitung von: Mathias Hartner SS 2009 Studiengang: Elektronik und Informationstechnik Betreuung durch: Prof. Dr. Wilhelm Kleppmann

Mehr

Telemonitoring von Vitaldaten Über die besonderen Herausforderungen einer mobilen Lösung und deren Umsetzung

Telemonitoring von Vitaldaten Über die besonderen Herausforderungen einer mobilen Lösung und deren Umsetzung BodyTel l Thema Telemonitoring von Vitaldaten Über die besonderen Herausforderungen einer mobilen Lösung und deren Umsetzung am Beispiel des BodyTel Systems BodyTel GlucoTel Echtzeit Blutzucker Monitoring

Mehr

Autorensysteme für mobile Anwendungen - Totgesagte leben länger. Prof. Dr. Michael Bauer 25.10. 2012 Autorensysteme

Autorensysteme für mobile Anwendungen - Totgesagte leben länger. Prof. Dr. Michael Bauer 25.10. 2012 Autorensysteme Autorensysteme für mobile Anwendungen - Totgesagte leben länger Was ist, was will ein Autor? Produzent interaktiver, multimedialer Inhalte geschlossene Einheiten (Apps) keine Grenzen für Kreativität Entwicklungs-

Mehr

Mathematischer Vorkurs für Physiker WS 2009/10

Mathematischer Vorkurs für Physiker WS 2009/10 TU München Prof. Dr. P. Vogl, Dr. S. Schlicht Mathematischer Vorkurs für Physiker WS 2009/10 Vorlesung 1, Montag vormittag Vektoralgebra Ein Vektor lässt sich geometrisch als eine gerichtete Strecke darstellen,

Mehr

Value Added Services (VAS) Mobile. Kundenprojekte

Value Added Services (VAS) Mobile. Kundenprojekte Value Added Services (VAS) Mobile Kundenprojekte Live Reply arbeitet bereits seit 10 Jahren an mobilen en. en und Anwendungsfälle reichen von Widgets bis hin zu ausgeklügelten Symbian- oder Android-en

Mehr

Brainloop Secure Dataroom Version 8.30. QR Code Scanner-Apps für ios Version 1.1 und für Android

Brainloop Secure Dataroom Version 8.30. QR Code Scanner-Apps für ios Version 1.1 und für Android Brainloop Secure Dataroom Version 8.30 QR Code Scanner-Apps für ios Version 1.1 und für Android Schnellstartanleitung Brainloop Secure Dataroom Version 8.30 Copyright Brainloop AG, 2004-2015. Alle Rechte

Mehr

C# Programm: Raytracer (3D Renderer)

C# Programm: Raytracer (3D Renderer) C# Programm: Raytracer (3D Renderer) Hiermit verbrachten wir die letzte Einheit in C# des Informatikunterrichtes. Dieser Raytracer ist ein Programm, das nur mit wenigen Informationen über einen Raum, der

Mehr

Färben, texturieren und rendern in Solid Edge

Färben, texturieren und rendern in Solid Edge Färben, texturieren und rendern in Solid Edge Man kann den Objekten in Solid Edge Farben geben, transparent oder opak und Texturen. Das sind Bilder die auf die Oberflächen aufgelegt werden. Dabei bekommt

Mehr

Web Datei Formate GIF JPEG PNG SVG. Einleitung. GIF Graphic Interchange Format. JPEG Joint Photographic Expert Group. PNG Portable Network Graphic

Web Datei Formate GIF JPEG PNG SVG. Einleitung. GIF Graphic Interchange Format. JPEG Joint Photographic Expert Group. PNG Portable Network Graphic Einleitung Graphic Interchange Format Joint Photographic Expert Group Portable Network Graphic scalabel Vector Graphic Fazit Übungsaufgabe Speichern Einleitung Das Web ist eines der wichtigsten Medien

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

Bilddateien. Für die Speicherung von Bilddaten existieren zwei grundsätzlich unterschiedliche Verfahren. Bilder können als

Bilddateien. Für die Speicherung von Bilddaten existieren zwei grundsätzlich unterschiedliche Verfahren. Bilder können als Computerdateien Alle Dateien auf dem Computer, egal ob nun Zeichen (Text), Bilder, Töne, Filme etc abgespeichert wurden, enthalten nur eine Folge von Binärdaten, also Nullen und Einsen. Damit die eigentliche

Mehr

Sicherheit in Android

Sicherheit in Android Motivation Aufbau Sicherheit Ausblick Quellen Sicherheit in Android Peter Salchow INF-M2 - Anwendungen 1 Sommersemester 2008 Department Informatik HAW Hamburg 20. Mai 2008 Peter Salchow Sicherheit in Android

Mehr

NEXT GENERATION MOBILE PHONE PLATFORMS

NEXT GENERATION MOBILE PHONE PLATFORMS Stephan Zeisberg NEXT GENERATION MOBILE PHONE PLATFORMS Ein Einblick in die Systemarchitekturen aktueller Smartphones 1 Motivation Technologischer Stillstand in der Entwicklung mobiler Betriebssysteme

Mehr

Plattformen mobiler Endgeräte Windows Phone, ios, Android

Plattformen mobiler Endgeräte Windows Phone, ios, Android Plattformen mobiler Endgeräte Windows Phone, ios, Android 13.12.2012 Inhaltsverzeichnis 1. Einführung 2. Ecosystem Smartphone OS 3. Mobile Software Platform 4. Android App Entwicklung 5. Zusammenfassung

Mehr

3D rendering. Introduction and interesting algorithms. PHP Usergroup Dortmund, Dortmund, 2006-12-14. Kore Nordmann

3D rendering. Introduction and interesting algorithms. PHP Usergroup Dortmund, Dortmund, 2006-12-14. Kore Nordmann <kore@php.net> 3D rendering Introduction and interesting algorithms PHP Usergroup Dortmund, Dortmund, 2006-12-14 Kore Nordmann Speaker Kore Nordmann Studies computer science at the University Dortmund

Mehr

VRML Tools. Markus Czok, Carsten Rohde

VRML Tools. Markus Czok, Carsten Rohde VRML Tools Markus Czok, Carsten Rohde Viewer Viewer Def.: Englische Bezeichnung für (Datei-)Betrachter. Für die meisten im PC Bereich üblichen Datenformate gibt es derartige Viewer, die es erlauben den

Mehr

Prüfungsprotokoll Computergrafik 1 und 2 (1692 & 1693) Prüfer: M. Felten von: Lindig Florian. Dauer: 30 min jeweils. Note: 1.

Prüfungsprotokoll Computergrafik 1 und 2 (1692 & 1693) Prüfer: M. Felten von: Lindig Florian. Dauer: 30 min jeweils. Note: 1. Prüfungsprotokoll Computergrafik 1 und 2 (1692 & 1693) Prüfer: M. Felten von: Lindig Florian Dauer: 30 min jeweils Note: 1.0 jeweils Alles in allem eine lockere Atmosphäre, man bekommt genug Papier und

Mehr

Animation der Montage von CATIA-Bauteilen

Animation der Montage von CATIA-Bauteilen Animation der Montage von CATIA-Bauteilen KONZEPTION UND PROTOTYP PRÄSENTATION ZUM PRAXISPROJEKT SS 2007 VON TIM HERMANN BETREUER: PROF. DR. HORST STENZEL Motivation Voraussetzungen Ziele Datenkonvertierung

Mehr

Microsoft Excel 2010 Matrix-Funktionen

Microsoft Excel 2010 Matrix-Funktionen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Excel 2010 Matrix-Funktionen Matrix-Funktionen in Excel 2010 Seite 1 von 7 Inhaltsverzeichnis Einleitung... 2 Integrierte Matrixfunktionen...

Mehr

Dr. Holger Eichelberger

Dr. Holger Eichelberger SchülerInnen-Uni 2015 Dr. Holger Eichelberger eichelberger@sse.uni-hildesheim.de Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App?

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Zwei Aufgaben, die auf windschiefe Regelflächen führen,

Zwei Aufgaben, die auf windschiefe Regelflächen führen, Zwei Aufgaben, die auf windschiefe Regelflächen führen, von À. KIEFER (Zürich). (Als Manuskript eingegangen am 25. Januar 1926.) I. Gesucht im Raum der Ort des Punktes, von dem aus die Zentralprojektionen

Mehr

CREATIVE PROGRAMMING TOOLKITS

CREATIVE PROGRAMMING TOOLKITS CREATIVE PROGRAMMING TOOLKITS Unter Creative Programming Toolkits verstehen wir Software-Teile welche uns helfen vielfältige Medien-kunst zu erstellen. Viele dieser Werkzeuge wurden durch Künstler für

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Bin ich fit für myconvento?

Bin ich fit für myconvento? Bin ich fit für myconvento? Sie planen den Einsatz unserer innovativen Kommunikationslösung myconvento und fragen sich gerade, ob Ihr Rechner die Anforderungen erfüllt? Hier erfahren Sie mehr. Inhalt Was

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Grafikformate. Grafikformate. Digitale Bildverarbeitung Bildkompression

Grafikformate. Grafikformate. Digitale Bildverarbeitung Bildkompression Digitale Bildverarbeitung Bildkompression Einleitung Datenmenge für ein unkomprimiertes Bild Verwendungszweck des Bildes Bild soll weiterverarbeitet werden Bild soll archiviert werden Bild soll per E-Mail

Mehr

Geometrie Klasse 5 Basiswissen und Grundbegriffe der Geometrie

Geometrie Klasse 5 Basiswissen und Grundbegriffe der Geometrie Geometrie Klasse 5 Basiswissen und Grundbegriffe der Geometrie Skript Beispiele Musteraufgaben Seite 1 Impressum Mathefritz Verlag Jörg Christmann Pfaffenkopfstr. 21E 66125 Saarbrücken verlag@mathefritz.de

Mehr

Standardisierte kompetenzorientierte schriftliche Reifeprüfung. Mathematik. Probeklausur März 2014. Teil-1-Aufgaben

Standardisierte kompetenzorientierte schriftliche Reifeprüfung. Mathematik. Probeklausur März 2014. Teil-1-Aufgaben Standardisierte kompetenzorientierte schriftliche Reifeprüfung Mathematik Probeklausur März 2014 Teil-1-Aufgaben Beurteilung Jede Aufgabe in Teil 1 wird mit 0 oder 1 Punkt bewertet, jede Teilaufgabe in

Mehr

Einführung in die Vektor- und Matrizenrechnung. Matrizen

Einführung in die Vektor- und Matrizenrechnung. Matrizen Einführung in die Vektor- und Matrizenrechnung Matrizen Definition einer Matrix Unter einer (reellen) m x n Matrix A versteht man ein rechteckiges Schema aus reellen Zahlen, die wie folgt angeordnet sind:

Mehr

Programmieren für iphone und ipad

Programmieren für iphone und ipad Markus Stäuble Programmieren für iphone und ipad Einstieg in die App-Entwicklung für das ios 4 3., aktualisierte und erweiterte Auflage dpunkt.verlag 1 Einleitung 1 1.1 Begriffe 2 1.2 Was behandelt dieses

Mehr

Foto und Grafik. Arbeitsheft für den Informatikunterricht. Fotos, Pixel und Vektoren sowie Bildbearbeitung am PC. Name. ... Klasse ...

Foto und Grafik. Arbeitsheft für den Informatikunterricht. Fotos, Pixel und Vektoren sowie Bildbearbeitung am PC. Name. ... Klasse ... Foto und Grafik Arbeitsheft für den Informatikunterricht Fotos, Pixel und Vektoren sowie Bildbearbeitung am PC Name... Klasse... Ausgabe 2011 Redaktion N. Braun, Fachlehrer ICT & Medien Internet: www.jumpcuts.ch

Mehr

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint Überblick Unterscheidung Tablet PC & Tablet Computer Tablet PC; ursprüngliche Bezeichnung von Microsoft Mit Tablet Computer sind die heutigen gängigen Mit Tablet Computer sind die heutigen gängigen Tablets

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel

Mehr

Dr. Martin Brändle. ETH Zürich Informationszentrum Chemie Biologie Pharmazie Wolfgang-Pauli-Str. 10, HCI J 57.4 8093 Zürich

Dr. Martin Brändle. ETH Zürich Informationszentrum Chemie Biologie Pharmazie Wolfgang-Pauli-Str. 10, HCI J 57.4 8093 Zürich ETH Zürich Informationszentrum Chemie Biologie Pharmazie Wolfgang-Pauli-Str. 10, HCI J 57.4 8093 Zürich Ausgangspunkt: Rauminformation Was steckt dahinter? DB: Datenklassen Plan-bezogen Bibliotheks-bezogen

Mehr

Glossar. Launching auf.

Glossar. Launching auf. 243 Ad Hoc Distribution Die Ad Hoc Distribution ist eine Möglichkeit, um Ihre entwickelte Anwendung auf anderen Endgeräten zu verteilen. Diese Art der Verteilung erfolgt ohne den App Store. Die Anzahl

Mehr

Perspektiven: Spiele in ios

Perspektiven: Spiele in ios Perspektiven: Spiele in ios Universität zu Köln Historisch Kulturwissenschaftliche Informationsverarbeitung SS 2012 Reusable Content in 3D und Simulationssystemen Dozent: Prof. Dr. Manfred Thaller Referent:

Mehr

Mobile: Die Königsfrage

Mobile: Die Königsfrage Mobile: Die Königsfrage - Native App,Mobile Website oder doch Responsive Design? - Native App oder Mobile Website? Wer am Boom der mobilen Anwendungen teilhaben möchte, hat im Prinzip zwei Möglichkeiten:

Mehr

Vergleich der Plattformen und praktische Erfahrungen. Softwareentwicklung für Smartphones

Vergleich der Plattformen und praktische Erfahrungen. Softwareentwicklung für Smartphones Vergleich der Plattformen und praktische Erfahrungen Softwareentwicklung für Smartphones Die SIC! Software GmbH Experten Mobility Software B2B Umfassende Erfahrung seit 1996: Mobile Internet-Portal Clients

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

Objektorientierte Softwareentwicklung SoSe 15

Objektorientierte Softwareentwicklung SoSe 15 Objektorientierte Softwareentwicklung SoSe 15 Heinz Faßbender Raum E148 Tel. 0241/6009 51913 Email: fassbender@fh-aachen.de www.fassbender.fh-aachen.de FH AACHEN UNIVERSITY OF APPLIED SCIENCES FACHBEREICH

Mehr

Buzzword Bingo Game Documentation (Java based Game)

Buzzword Bingo Game Documentation (Java based Game) Buzzword Bingo Game Documentation (Java based Game) Meppe Patrick Djeufack Stella Beltran Daniel April 15, 2011 1 Inhaltsverzeichnis 1 Einleitung 3 2 Aufgabenstellung 3 3 Allgemeines zu Buzzword Bingo

Mehr

KURZANLEITUNG FÜR DIE. Installation von Nokia Connectivity Cable Drivers

KURZANLEITUNG FÜR DIE. Installation von Nokia Connectivity Cable Drivers KURZANLEITUNG FÜR DIE Installation von Nokia Connectivity Cable Drivers Inhalt 1. Einführung...1 2. Voraussetzungen...1 3. Installation von Nokia Connectivity Cable Drivers...2 3.1 Vor der Installation...2

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

GEO-DIENSTE AUF BASIS DER ANDROID-PLATTFORM. Seminar: Datenbankunterstützung für mobile GIS Michael Goj

GEO-DIENSTE AUF BASIS DER ANDROID-PLATTFORM. Seminar: Datenbankunterstützung für mobile GIS Michael Goj GEO-DIENSTE AUF BASIS DER ANDROID-PLATTFORM Seminar: Datenbankunterstützung für mobile GIS Michael Goj AGENDA Einleitung Standortbezogene Dienste und Anwendungen Geo-Dienste Die Android-Plattform Google

Mehr

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python. 1.3 Aufbau des Buchs lichkeiten offen. Auf die Unterschiede der beiden Versionen gehe ich besonders ein, sodass ein späterer Umstieg von der einen zur anderen Version leichtfällt. Erste Zusammenhänge werden

Mehr

Vorbereitung der Bauteil-Abgabe mit netfabb Studio Basic

Vorbereitung der Bauteil-Abgabe mit netfabb Studio Basic TUTORIAL BAUTEIL REPARATUR Vorbereitung der Bauteil-Abgabe mit netfabb Studio Basic Stand 10/2010 netfabb Studio Basic Version 4.6.0 Vorwort Die STL-Schnittstelle (Standard Triangulation Language) oder

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

M 7102 Wenig aktiv im Verein Tätig in der Lehrerausbildung (Sts OU, Goethe-Uni)

M 7102 Wenig aktiv im Verein Tätig in der Lehrerausbildung (Sts OU, Goethe-Uni) J. Poloczek, 2012 M 7102 Wenig aktiv im Verein Tätig in der Lehrerausbildung (Sts OU, Goethe-Uni) www.informatik.uni-frankfurt.de/~poloczek Veranstaltungen (unten) AUGE RG 600 Betriebssystem Android auf

Mehr

Handbuch für Android 1.5

Handbuch für Android 1.5 Handbuch für Android 1.5 1 Inhaltsverzeichnis 1 Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 3 2. Installation... 5 3. Grundfunktionen... 5 3.1 Einrichtung von Boxcryptor

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Computergrafik Bilder, Grafiken, Zeichnungen etc., die mithilfe von Computern hergestellt oder bearbeitet werden, bezeichnet man allgemein als Computergrafiken. Früher wurde streng zwischen Computergrafik

Mehr

7 Plugins einbinden. 7.1 Beispiel»Die Taschenlampe«

7 Plugins einbinden. 7.1 Beispiel»Die Taschenlampe« 201 PhoneGap bringt einen standardisierten Hardwarezugriff für Smartphones mit. Aber was passiert, wenn Sie mehr wollen: Wenn Sie eine Hardware per Bluetooth ansprechen wollen oder Features der jeweiligen

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Agenda Problemstellung Medizinprodukt App Grundlagen Szenarien (Problemstellungen und Lösungsansätze) 03.06.2013 2 Innovationen

Mehr

SMART Notebook 11.4 Software für Windows - und Mac-Computer

SMART Notebook 11.4 Software für Windows - und Mac-Computer Versionshinweise SMART Notebook 11.4 Software für Windows - und Mac-Computer Über diese Versionshinweise Diese Versionshinweise fassen die Funktionen der SMART Notebook 11.4 Collaborative Learning Software

Mehr

SCRIBUS WORKSHOP Handout Gimp

SCRIBUS WORKSHOP Handout Gimp SCRIBUS WORKSHOP Handout Gimp 1 Ziele des Workshops Was ist Gimp? Was kann ich mit Gimp machen? Wie erstelle ich ein Bild für Scribus? Wie erstelle ich eine Vektorgrafik für Scribus? Varia? 2 Was ist Gimp?

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Windows 8 die Tablet-Plattform fü r Unternehmen

Windows 8 die Tablet-Plattform fü r Unternehmen Windows 8 die Tablet-Plattform fü r Unternehmen Inhaltsverzeichnis Einleitung... 3 Anforderungen des Fachbereiches... 3 Geschwindigkeit... 3 Einfache Bedienung... 3 Displaygröße... 3 Gesamtgröße und Gewicht...

Mehr

Willkommen zum AutoCAD 2015 Training 3D-Visualisierung

Willkommen zum AutoCAD 2015 Training 3D-Visualisierung Willkommen zum AutoCAD 2015 Training 3D-Visualisierung Lernen Sie wie Sie Ihre 3D- Zeichnungen visualisieren. 10.11.2014 AutoCAD 2015 3D-Animation 1 Vorstellung Dipl.-Ing. Jürgen A. Becker Versorgungstechnik

Mehr

Thema. Aufgabenstellung. Fachpraktikum Visualisierung und interaktive Systeme WS 2011. Aufgabe 5: 3D-Tetris. 3D - Tetris.

Thema. Aufgabenstellung. Fachpraktikum Visualisierung und interaktive Systeme WS 2011. Aufgabe 5: 3D-Tetris. 3D - Tetris. Fachpraktikum Visualisierung und interaktive Systeme WS 2011 Aufgabe 5: 3D-Tetris Thema 3D - Tetris. Aufgabenstellung Die Aufgabe ist, ein Drei-Dimensionales Tetrisspiel zu konstruieren. Es werden zufällig

Mehr

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

Computer Vision I. Nikos Canterakis. Lehrstuhl für Mustererkennung, Universität Freiburg Nikos Canterakis Lehrstuhl für Mustererkennung, Universität Freiburg Gliederung 7 Projektionen und Rückprojektionen Der Punkt Die Gerade Die Quadrik Die Ebene Zusammenhang Kalibriermatrix - Bild des absoluten

Mehr

Rendering Grundlagen Autodesk Maya. Grundlagen. Version 1.0-2009-04-08. 2009 Ingo Clemens brave rabbit www.braverabbit.de

Rendering Grundlagen Autodesk Maya. Grundlagen. Version 1.0-2009-04-08. 2009 Ingo Clemens brave rabbit www.braverabbit.de Rendering Grundlagen Version 1.0-2009-04-08 Allgemeine Unterschiede bei Renderern Scanline Rendering Raytrace Rendering Renderlayer Einsatz von Renderlayern Overrides Material Overrides Layer Presets Batch

Mehr

Hochschule Bremen. Rechnerstrukturen Labor WS 04/05 I7I. Thema: Grafikkarten. Laborbericht. Datum 18.01.2005

Hochschule Bremen. Rechnerstrukturen Labor WS 04/05 I7I. Thema: Grafikkarten. Laborbericht. Datum 18.01.2005 Hochschule Bremen Rechnerstrukturen Labor I7I Thema: Grafikkarten Laborbericht Datum 18.01.2005 Carsten Eckert(83912) (72497) Fazit Für unseren Praxisteil zum Vortrag Grafikkarten haben wir uns entschieden,

Mehr

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM ÜBERSICHT Android Android Dalvik Virtuelle Maschine Android und Desktop Applikationen Android Entwicklung Tools R Activity

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009

Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009 Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009 Aufgabe 35: Thema: Singulärwertzerlegung und assoziierte Unterräume Sei A eine m n Matrix mit Rang r und A = UDV T ihre Singulärwertzerlegung.

Mehr

Virtualisierung ein Überblick

Virtualisierung ein Überblick Virtualisierung ein Überblick Frank Hofmann Potsdam 18. April 2007 Frank Hofmann (Potsdam) Virtualisierung ein Überblick 18. April 2007 1 / 33 Gedanken zum Thema Fragen, die sich jeder stellt Virtualisierung

Mehr