Systemprogrammierung > Projektgruppe: Alexander Schesler, Hristo Matev.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Konzeptioneller Vergleich von VRML, Java3D und OpenGL hinsichtlich ihrer Eignung zur Erstellung von Animationen von Christian Stein.
Collision Detection in Java3D Hristo Matev WS 02/03.
Objektorientierte Programmierung
Java3D Einfacher scene graph View branch graph BG Shape3D Knoten S
Application Programming Interface Graphische Datenverarbeitung
Linien, Flächen & geometrische Figuren von Mario Linge
Geometrie Programmierung beginnend bei 0 ist
Kapselung , toString , equals , Java API
Anwendungssysteme SoSe Projekt Einführung in VRML (Teil 1) AWS SoSe2000Einführung in VRMLSeite 1.
Verteilte Software - Java - Prozedurale Programmierung 1
Graphische Datenverarbeitung IV Dr. Markus Heitz.
Threads Richard Göbel.
FH-Hof Texturen Richard Göbel. FH-Hof Anwendungen von Texturen Darstellung von 2D-Bildern Gestaltung von Oberflächen Simulation komplexer Geometrien...
FH-Hof Geometrie Richard Göbel. FH-Hof Aufbau des virtuellen Universums.
Java2D Richard Göbel.
Einführung in die Programmierung von 3D-Grafiken Basis ist Java3D
Licht und Schatten Richard Göbel.
FH-Hof Automatisches Erzeugen von Geometrie Richard Göbel.
Java: Grundlagen der Sprache
FH-Hof Java3D - Grundlagen Richard Göbel. FH-Hof Java3D Konzept Erzeugung eines Szenengraphen als virtuelle Welt Darstellung der virtuellen Welt mit Hilfe.
FH-Hof Texturen Richard Göbel. FH-Hof Anwendungen von Texturen Darstellung von 2D-Bildern Gestaltung von Oberflächen Simulation komplexer Geometrien...
FH-Hof Java 2D - Kontext für Zeichenoperationen Richard Göbel.
Ein Beispiel in Java.
V03 Laden und Speichern von Spielfeldern und der Spielfeldeditor.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Realisierung eines 3D-Spiels mittels Lightwave3D und Java3D Hristo Matev Cactus WS 03/04 Systemprogrammierung.
Java 3D Carina Fleck Licht und Material.
Java3d „Licht und Material“
Inhalt: 1.Projektkurzbeschreibung 2.Spielidee 3.Realisierung 3.1Modellierung: 3.1.1Spielfeld 3.1.2Spieler 3.2Logik 3.2.1Navigation 3.2.2Collision-Detection.
Java-Kurs Grafik Julian Drerup.
Programmieren mit JAVA
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
3. Klassendiagramme in Java implementieren
int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0);
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
DVG1 - Applets1 Applets. DVG1 - Applets2 Die Klasse Applet n Applets sind Grafikobjekte, die unter Steuerung eines anderen Programms (z.B. eines Browsers,
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
Abstrakte Klassen DVG
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Weitere Beispiele für Verzweigung mit und ohne Turtle
FH-Hof Konfiguration eines Universums Richard Göbel.
FH-Hof Licht Richard Göbel. FH-Hof Licht in Java3D - Basisideen Bereitstellung unterschiedlicher Lichtquellen Definition der Wirkung einer Beleuchtung.
FH-Hof Sound Richard Göbel. FH-Hof Geräusche in Java3D Klasse MediaContainer als Datenlieferant MediaContainer(java.io.InputStream stream). MediaContainer(java.lang.String.
Informatik 1 Übung 2.
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Verhalten von Objekten in der Szene
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Hallo, ich möchte in PPT eine Kugel darstellen d. h
CuP - Java Eingabe über Tastatur, AudioClips, überschreiben, Quiz Montag, 18. November 2002.
Variablenkonzept Klassisch, in Java Basistyp
Das Command Muster Deimbacher, Gölles.
Starten der Entwicklungsumgebung (IDE)
LEGO NXT Roboter in Java programmieren
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Lind 02/2005 Einführung in JAVA. Lind 02/2005 Beispiel: Mittelwert Es soll ein Programm erstellt werden, das den Mittelwert zweier reeller Zahlen berechnet.
PhotoPolis. PhotoPolis ist ein Studentenprojekt im Rahmen des 3D Programmierpraktikums am Lehrstuhl Medieninformatik an der LMU München Betreuer: Dipl.-Medieninf.
PhotoPolis PhotoPolis ist ein Studentenprojekt im Rahmen des 3D Programmierpraktikums am Lehrstuhl Medieninformatik der LMU München Betreuer: Dipl.-Medieninf.
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Nik Lutz, Stefan Feissli, Christof Seiler Diplomarbeit Verteidigung.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
JAVA 3D 1 Einführung in die Java3D API JAVA 3D2 Was ist Java3D? Standard-Extension-Klassenbibliothek für Java X (X >= 1.2) Ermöglicht.
Einführung in die Programmierung mit Java
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
 Präsentation transkript:

Systemprogrammierung > Projektgruppe: Alexander Schesler, Hristo Matev

Spielbeschreibung Erstellung eines virtuellen 3D- Raums mit Hindernissen Roboter bewachen eine Waffe Spieler versucht diese zu finden und unschädlich zu machen Spiel ist beendet, wenn Waffe unschädlich ist, oder Spieler vom Wachroboter erfasst

Aufgabenbereich Raummodellierung Texturierung des virtuellen 3D- Raums Wachrobotersteuerung ( Computerseite ) Sounds im Spiel Spielschwierigkeitsgrade Netzwerkspiel / Multiplayer, Client -Teil Optimierung der Szene Schluss-Video mit LW

Raummodellierung 1 4 Wände - die Grenzen des Spielfeldes 4 Wände - die Seitehintergrund eine Untergrundfläche - Boden 8 flache Flächen - Hindernisse ein Gebäude - Hindernis eine Kugel - Sonne mit Lichteffekten

Raummodellierung 2 Flächen-Objekte: QuadArray qa = new QuadArray(4, QuadArray.COORDINATES ); qa.setCoordinate (0, new Point3f (-100.0f, -3.0f, f )); qa.setCoordinate (1, new Point3f (-100.0f, -3.0f, 100.0f )); qa.setCoordinate (2, new Point3f (100.0f, -3.0f, 100.0f )); qa.setCoordinate (3, new Point3f (100.0f, -3.0f, f )); Sonne-Objekt: Sphere sp = new Sphere (1.4f, Sphere.GENERATE_NORMALS | Sphere.ENABLE_APPEARANCE_MODIFY,a); PointLight pl = new PointLight (bound, lPos); Appearance a = new Appearance (); Material mat = new Material ();

Texturierung des 3D- Raums QuadArray qa = new QuadArray(4, QuadArray.TEXTURE_COORDINATE_2); qa.setTextureCoordinate (0,new Point2f (0.0f, 1.0f)); qa.setTextureCoordinate (1,new Point2f (0.0f, 0.0f)); qa.setTextureCoordinate (2,new Point2f (1.0f, 0.0f)); qa.setTextureCoordinate (3,new Point2f (1.0f, 1.0f)); 2D Texturen für alle Flächen-Objekte:

Wachrobotersteuerung 1 Steuerung durch Fuzzy-Regler Wissensbasis Lingw. Variablen und Terme z.B Abstand Fuzzy-Regeln: if.... then.... Fuzzy- Inferenz Defuzzy- fizierung Fuzzy- fizierung Y x1 x2 x3 Wissensbasis FS

Regler Komponente Wachrobotersteuerung 2

Wachrobotersteuerung 3 Implementierung private native double getFuzzyAnswer (String f, double [] p); System.loadLibrary (libName); rotAngle = (new FuzzyAnswer ().getFuzzyAnswer (fisModule, distace)) target.getTransform (targetTransform); rotateRob.rotY (Math.toRadians (rotAngle)); targetTransform.mul (rotateRob); target.setTransform (targetTransform);

Sounds im Spiel BacktroundSound PointSound ConeSound Soundspace BackgroundSound bgSound = new BackgroundSound(); MediaContainer mc = new MediaContainer (); mc.setURLString (fileName); mc.setCacheEnable (true); bgSound.setEnable (true);

Spielschwierigkeitsgrade Bewegungsgeschwindigkeit der Roboter Fuzzy-Regler Anzahl Roboter switch (severity) { case 1: rotAngle = myFis.getAngle (dist, fisModule2); speedRobo = speed = (Math.abs (r.nextInt () % 100)); nRobo = 6; break;... }

Szenegraph 1 BG View BG Locale Virtual Universe createSceneLandcreateSceneBgWalls TG sLand S sWall1 S TG sWall1 S S S TG Sphere tgBgWalls (Seitenhintergrund) tgLand (Grundfläche) bSoundsScapeplbSound tgSound (Hintergrundmusik) createSceneSoundcreateSceneSuncreateScenePlay Siehe unten tgSun (Kugel mit Licht ) Background Sound SoundScapePoint Light Ambient Light

Szenegraph 2 TG S tgWalls (Spiel- grenzen) createScenePlay tgBg (Hintergrund) tgRobot (Roboter) BG TG SSSSSSSSSS Locale Virtual Universe tgObstacle (Hindernisse) tgBuild (Gebäude)... sWallssRobot (Roboter -Objekt) sBuild (Gebäude -Objekt) sO2sO1sO3sO5sO6sO7sO8sO4

Klassendiagramm PlayGround Applet {abstact} MyShapes MyLight MySound MyIntro FuzzyAnswer MyFiles PickObstacle Behavior {abstact} Schnittstelle zu c- Dateien (dll) Enthält main () MediaContainerBackgroundSound AuralAttributes Thread TerrainFileReader QuadArray

Schluss-Video mit LW Textszene Raumszene Weltraumszene Terrainszene

Entwicklungszeit AufgabenteilGesamtzeit / h Animation90,6 Programm61,2 Dokumentation15,0 166,8 Rendering - Zeit Rendering - Zeit SzeneFrame /s# Frames Gesamtzeit / h Textszene33000,25 Raumszene ,75 Terrainszene ,0 Weltraumszene ,0 141,0