Einführung in Java3D. Dipl.-Inform. Inform.. Paul Grimm Professur Graphische Datenverarbeitung
|
|
- Fritz Keller
- vor 7 Jahren
- Abrufe
Transkript
1 Einführung in Java3D Dipl.-Inform Inform.. Paul Grimm Professur Graphische Datenverarbeitung
2 Ziele des Seminars Wie kann ich Java3D benutzen? Wo kann ich Informationen finden? Wo finde ich Beispiele? Welche Konzepte setzt Java3D um? April 2002 Einführung in Java3D, Paul Grimm, 2/93
3 Überblick Einführung in Java 3D Benutzung Dokumentation Aufbau Szenengraph Animationen Interaktion Ausblick April 2002 Einführung in Java3D, Paul Grimm, 3/93
4 Einführung - Was ist Java3D? Java Package für interaktive 3D Graphik High-level 3D Graphik API Programmieren von interaktiven Anwendungen mit 3D Inhalten Nahtlose Integration in Java Kein Browser nötig und Applet-fähig April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 4/93
5 Was macht Java3D? Übernahme der Bilderzeugung: Szenenmanagement Verdeckungsrechnung Übernahme der Benutzerinteraktion Plattformunabhängiges API Implementierung für verschiedene Low-Level Level APIs (Open GL, Direct3D) April 2002 Einführung in Java3D, Paul Grimm, 5/93
6 Was macht Java3D? Durchführung von Optimierungen Paralleles Rendern Nutzung von Hardwarebeschleunigung Reorganisation des Szenengraphen (=> Zusatzinformationen können angegeben werden, die bei der Optimierung ausgewertet werden) April 2002 Einführung in Java3D, Paul Grimm, 6/93
7 Was macht Java3D? Bereitstellung einer Klassenbibliothek Beschreibung des attributierten Szenengraphen Animation Virtuelle Kamera Benutzerinteraktion... April 2002 Einführung in Java3D, Paul Grimm, 7/93
8 Anwendungsbeispiele April 2002 Einführung in Java3D, Paul Grimm, 8/93
9 Anwendungsbeispiele April 2002 Einführung in Java3D, Paul Grimm, 9/93
10 Anwendungsbeispiele April 2002 Einführung in Java3D, Paul Grimm, 10/93
11 Anwendungsbeispiele April 2002 Einführung in Java3D, Paul Grimm, 11/93
12 Starten einer Java3D Anwendung? Standalone Starten wie jede andere Java Applikation Applet Java Plugin wird benötigt, dies installiert ggf. auch Java3D Applet in eine WWW-Seite einbinden April 2002 Einführung in Java3D, Paul Grimm, 12/93
13 Nutzung von Java Nutzung des Java-Interpreters java myprogram Nutzung des Java-Appletviewers appletviewer myprog.html Nutzung des Java-Compilers: javac myprogram.java April 2002 Einführung in Java3D, Paul Grimm, 13/93
14 Beispielanwendungen Mitgelieferte Demo sind im Verzeichnis / jdk1.2/demos demos/java3d Beispiele: AppearanceTest FourByFour April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 14/93
15 Java3D in Web und Literatur SUNs Java3D Homepage java.sun.com/products/java-media/3d Download Java3D Tutorial Java3D API Spezifikation April 2002 Einführung in Java3D, Paul Grimm, 15/93
16 Java3D in Web und Literatur J3D.org FAQs Loader für f unterschiedliche 3D-Formate Tutorial April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 16/93
17 Java3D VRML Viewer VRML Library for Java3D VRML Viewer VRML Loader Entstanden durch X3D Workinggroup April 2002 Einführung in Java3D, Paul Grimm, 17/93
18 Java Resourcen Offizielle Java Homepage Downloads unter Java Tutorial developer.java.sun.com/developer/infodocs/ April 2002 Einführung in Java3D, Paul Grimm, 18/93
19 Fragen und Anmerkungen April 2002 Einführung in Java3D, Paul Grimm, 19/93
20 Grundlagen Graphiksysteme Koordinatensystem Szenengraph April 2002 Einführung in Java3D, Paul Grimm, 20/93
21 Graphiksysteme April 2002 Einführung in Java3D, Paul Grimm, 21/93
22 Versionen 1998: Java3D Version : Java3D Version : Java3D Version : Java3D Version April 2002 Einführung in Java3D, Paul Grimm, 22/93
23 Das Koordinatensystem Java3D benutzt ein rechthändiges Koordinatensystem y x z 3D - Koordinaten,, z.b. (2.0, 1.5, 7.21) April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 23/93
24 Globale und lokale Koordinatensysteme Hierarchie von Koordinatensystemen Bsp.. Gabel eines Gabelstaplers» Koordinaten der Gabel bzgl.. Stapler» Koordinaten des Staplers bzgl. der Welt Spitze der Hierarchie: Weltkoordinaten April 2002 Einführung in Java3D, Paul Grimm, 24/93
25 Der Szenengraph Struktur der Szenenhierarchie Kanten: Abhängigkeitsrelation Knoten ( engl. Nodes ): Geometrien Transformationen Materialeigenschaften... April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 25/93
26 Szenengraphen in Java3D (1) Java3D wertet Szenengraph Beschreibung in separaten, asynchronen Threads aus Rendering von Graphik Rendering von Sound Animation Management der Eingabegeräte Event Erzeugung (z.b. bei Kollisionen) April 2002 Einführung in Java3D, Paul Grimm, 26/93
27 Roadmap Aufbau einer einfachen Java3D- Anwendung mit einzelnen Objekten Gruppierung und Transformation Aufbau einer komplexen Szene mit mehreren Objekten und mit Animationen April 2002 Einführung in Java3D, Paul Grimm, 27/93
28 Eine Applikation in Kürze Konstruktion einer virtuellen Welt, in der alle 3D Daten enthalten sind Auswahl einer Kamera, um die 3D Daten zu betrachten Einfügen der 3D Inhalte in die Szene Hierarchische Anordnung der Objekte in einem Szenengraphen Beschreibung der Interaktionen Einbetten in eine Java - Anwendung April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 28/93
29 Aufbau eines Szenengraphen Erzeugen von Knoten Shape3D myshape1 = new Box(); Shape3D myshape2 = new Cone(); Gruppieren von Knoten BranchGroup mygroup = new BranchGroup( ( ); mygroup.addchild addchild( myshape ); April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 29/93
30 Utility Klassen Utilitity Klassen bauen auf Java3D auf Vereinfachen oft auftretende Operationen: Aufbau einer virtuellen Welt Setzen der Kamera SimpleUniverse mysimple = new SimpleUniverse( mycanvas ); mysimple.addbranchgraph addbranchgraph(mybranch); April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 30/93
31 Simple Universe April 2002 Einführung in Java3D, Paul Grimm, 31/93
32 Viewing-Modell in Java3D Die meisten APIs transformieren die Szene Java3D transformiert das Auge Der Inhalts Zweig der Szene wird nicht verändert wenn sich der Betrachter bewegt Saubere Trennung von physikalischer und virtueller Welt April 2002 Einführung in Java3D, Paul Grimm, 32/93
33 Virtual universe Terminologie (1) Menge von Szenengraphen Ein Universum pro Applikation Locale Position im Universum, an der Szenengraph eingefügt wird Branchgraph Ein Szenengraph im Locale April 2002 Einführung in Java3D, Paul Grimm, 33/93
34 Terminologie (2) Branchgraph wird unterteilt in Content branch z.b. Geometrien, Beleuchtung,... View branch virtuelle Kamera, i.d.r. eine Kamera pro Universum April 2002 Einführung in Java3D, Paul Grimm, 34/93
35 Eine Applikation in Kürze II Konstruiere ein Virtual Universe,, das alle 3D Daten enthalten wird Wähle ein View,, um zu beschreiben wie die 3D Daten betrachtet werden Konstruiere einen Content Branch um die 3D Inhalte der Szene zu beschreiben Plaziere diesen Zweig an ein Locale Mehrere Zweige an verschiedenen Locales sind möglich April 2002 Einführung in Java3D, Paul Grimm, 35/93
36 Einbetten in eine Java Anwendung I Folgende Schritte sind notwendig: 1. Erzeugen eines Java AWT Frames 2. Setzen eine Java AWT Layouts 3. Erzeugen eines Canvas3D 4. Einfügen des Canvas3D April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 36/93
37 Einbetten in eine Java Anwendung public static void main( ( String[] args ) { Frame frame = new Frame( ); frame.setsize setsize( ( 640, 480 ); frame.setlayout setlayout( new BorderLayout( ( ) ); Canvas3D canvas = new Canvas3D( null ); frame.add add( ( "Center", canvas ); SimpleUniverse univ = new SimpleUniverse( canvas ); BranchGroup scene = createscenegraph(); scene.compile compile( ( ); univ.addbranchgraph addbranchgraph( scene ); } frame.show show( ( ); April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 37/93
38 Benötigte Java Packages Java Packages import java.awt awt.*; Java3D Packages import javax.media.j3d.*; import javax.vecmath vecmath.*; Java3D Utility Packages import com.sun sun.j3d..j3d.utils.universe.*; import com.sun sun.j3d..j3d.utils.geometry.*; April 2002 Einführung in Java3D, Paul Grimm, 38/93
39 Rückblick Darstellung von Graphik Primitiven Beispiel 1: Box Beispiel 2: Cone Einbettung in eine Java-Applikation April 2002 Einführung in Java3D, Paul Grimm, 39/93
40 3D-Modelle Modelle sind Beschreibungen von Objekten Ein Shape3D - Knoten besteht aus Geometrie Appearance (Erscheinen) Shape3D( Geometry geometry, Appearance appearance ) Geometrie kann aus mehreren Teilen bestehen Appearance enthält verschiedene Attribute, die beschreiben wie die Geometrie gezeichnet wird April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 40/93
41 Elemente einer Geometrie Koordinaten: Position der Knoten im Raum Normalen: Nach außen orientierte Normale pro Knoten Farben: Farbe pro Knoten Textur-Koordinaten Koordinaten: Texel Position im Knoten April 2002 Einführung in Java3D, Paul Grimm, 41/93
42 GeometryArray GeometryArray erbt von Geometry Ein GeometryArray Objekt hat vier Basistypen Punkte Linien Dreiecke Vierecke GeometryArray bietet set und get Methoden Es gibt Index- und Strip -Versionen April 2002 Einführung in Java3D, Paul Grimm, 42/93
43 GeometryArray GeometryArray ist eine Basisklasse, konkrete Ausführungen LineArray, PointArray, QuadArray, TriangleArray GeometryStripArray (mit Erben TriangleStripArray,, etc.) IndexedGeometryArray (mit Erben IndexedTriangleArray,, etc.) April 2002 Einführung in Java3D, Paul Grimm, 43/93
44 Modelle sind facettiert Ideale Dreiecke und Vierecke Einseitige Primitive Reihenfolge der Eckpunkte bestimmt die Flächennormale Gegen den Uhrzeigersinn => nach außen gerichtet (Beachtung der rechten Hand) April 2002 Einführung in Java3D, Paul Grimm, 44/93
45 Beispiel eines Würfels class mycube extends QuadArray { private float[] verts = {... }; private float[] normals = {... }; private float[] colors = {... }; mycube() { super( 24,QuadArray QuadArray.COORDINATES QuadArray.NORMALS QuadArray.COLOR_3); setcoordinates(0, verts); setnormals Normals(0, verts); setcolors(0, colors); } April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 45/93
46 Beispiel eines Wüfels private float[] verts = { } // front face 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f, -1.0f, 1.0f,... April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 46/93
47 Normalen eines Würfels private float[] normals = { } // Front Face 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, f, April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 47/93
48 Beispiel eines Würfels class mycube extends QuadArray { private float[] verts = {... }; private float[] normals = {... }; private float[] colors = {... }; mycube() { super( 24,QuadArray QuadArray.COORDINATES QuadArray.NORMALS QuadArray.COLOR_3); setcoordinates(0, verts); setnormals Normals(0, verts); setcolors(0, colors); } April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 48/93
49 Appearance Kontrolle über den Rendering-Prozeß Farbe Transparenz Beleuchtungsmodell Linieneigenschaften Und viele andere! Alle Eigenschaften sind in der Appearance-Klasse und ihren Komponenten enthalten April 2002 Einführung in Java3D, Paul Grimm, 49/93
50 Beispiel für verschiedene Appearance April 2002 Einführung in Java3D, Paul Grimm, 50/93
51 Farbattribute Ein ColoringAttribut node component Objekt regelt Farbe (wenn kein Beleuchtungsmodell verwendet wird) Beleuchtungsmodell Farbattribute werden verwendet wenn kein Beleuchtungsmodell verwendet wird Emittierende Punkte, Linien, Polygone, etc. April 2002 Einführung in Java3D, Paul Grimm, 51/93
52 Farbattribute Konstruktor der Klasse public ColoringAttributes( float red, float green, float blue, int shademodel) Über setcoloringattributes und getcoloringattributes der Klasse Appearance werden die Farbattribute gesetzt. April 2002 Einführung in Java3D, Paul Grimm, 52/93
53 Materialeigenschaften Ein Material node component Objekt regelt Ambiente, emittierte, diffuse und spekuläre Farben Glanzlicht-Faktor Materialeigenschaften werden verwendet, wenn das Modell beleuchtet ist Die meisten Szenen-Modelle Gilt vor den Farbattributen April 2002 Einführung in Java3D, Paul Grimm, 53/93
54 Material Konstruktor der Klasse Material: Material( Color3f ambientcolor, Color3f emissivecolor, Color3f diffusecolor, Color3f specularcolor, float shininess) Über die Methoden setmaterial und getmaterial der Appearance werden die Materialeigenschaften gesetzt April 2002 Einführung in Java3D, Paul Grimm, 54/93
55 Andere Eigenschaften Das TransparencyAttributes Objekt steuert die Tranzparenz ( ) PointAttributes und LineAttributes enthalten Punktgröße und Liniendicke PolygonAttributes regeln culling culling und Fülleigenschaften (Punkt, Linien, Fläche) RenderingAttributes steuern im Depth- und Alpha-Buffer April 2002 Einführung in Java3D, Paul Grimm, 55/93
56 Texturen Java 3D hat zwei Typen von Texturen Texture2D für Bilder Texture3D für Volumentexturen Beide Typen beinhalten Texturdaten Filtermodi Wrappingmodi Berandungsfarbe April 2002 Einführung in Java3D, Paul Grimm, 56/93
57 Texturen TextureLoader loader = new TextureLoader("stripe. ("stripe.jpg", this); ImageComponent2D image = loader.getimage getimage(); Texture2D texture = new Texture2D(); texture.setimage setimage(0, image); Appearance appear = new Appearance(); appear.settexture settexture(texture); April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 57/93
58 Weiteres Vorgehen Bis jetzt:aufbau einzelner 3D Objekte Ab jetzt:integration mehrerer 3D Objekte Gruppierung von Objekten Transformation von Objekten Bewegung von Objekten Lichtquellen April 2002 Einführung in Java3D, Paul Grimm, 58/93
59 Live Nodes Branch graph,, der einem Locale hinzugefügt wird heißt live,, d.h. er kann dargestellt werden BranchGroup mybranch = new BranchGroup( ( ); mybranch.addchild addchild( myshape ); mylocale.addbranchgraph addbranchgraph( mybranch ); boolean islive() April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 59/93
60 Compiled Nodes BranchGroup kann kompiliert werden void compile(); Beachte: compile bevor live Capabilities geben an, was in einem Szenengraph noch gelesen und verändert werden darf, nachdem der Szenengraph compiled oder live ist Capabilities wirken auf Optimierung April 2002 Einführung in Java3D, Paul Grimm, 60/93
61 Capabilities (1) Methoden für SceneGraphObject void setcapability( int bit ) void clearcapability( int bit ) boolean getcapability( int bit ) Capabilities gibt es für jeden Knoten In jedem Knoten gibt es Capabilities für die Attribute Knoten erben die Capabilities der Vaterklasse April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 61/93
62 Capabilities (2) Beispiele von Shape3D: ALLOW_APPEARANCE_READ ALLOW_APPEARANCE_WRITE ALLOW_GEOMETRY_READ ALLOW_GEOMETRY_WRITE myshape.setcapability setcapability( Shape3D.ALLOW_APPEARANCE_WRITE ); April 2002 Einführung in Java3D, Paul Grimm, 62/93
63 Gruppen in Java 3D Unterschiedliche Typen Group BranchGroup OrderedGroup / DecalGroup SharedGroup Switch TransformGroup Alle Gruppen haben Kinder Modelle, Lichtquellen, Geräusche, Verhalten April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 63/93
64 Group Die Group Klasse ist der allgemeinste der Gruppen Knoten Hat Genau einen Vater Beliebig viele Kinder Man Kinder anfügen, einfügen, löschen und auslesen Die Rendering-Reihenfolge Reihenfolge wird normalerweise von Java3D bestimmt April 2002 Einführung in Java3D, Paul Grimm, 64/93
65 BranchGroup Ein BranchGroup Objekt ist ein Teilbaum des Szenengraphen Kann an ein Locale angehängt werden Kann compiled werden Kann als Kind einer anderen Gruppe verwendet werden Kann zur Laufzeit verschoben oder gelöscht werden April 2002 Einführung in Java3D, Paul Grimm, 65/93
66 Ordered / DecalGroup Ein OrderedGroup Objekt garantiert, daß die Kinder in der vorgegebenen Reihenfolge bearbeitet werden Ein DecalGroup Objekt ist für den speziellen Fall von Objekten auf einem Hintergrund gedacht Das Hintergrund-Objekt ist vorgeschrieben April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 66/93
67 Switch Ein Switch Objekt erlaubt die Auswahl der zu bearbeitenden Kinder Es wird keine Reihenfolge vorgegeben April 2002 Einführung in Java3D, Paul Grimm, 67/93
68 Transformation Alle Modelle werden bezüglich der Weltkoordinaten plaziert Ein TransformGroup Objekt erlaubt die Verwendung eines neuen Koordinaten-systems relativ zum Vater Verändert man die TransformGroup,, so bewegen sich auch die Modelle in der Gruppe April 2002 Einführung in Java3D, Paul Grimm, 68/93
69 TransformGroup Transformationen sind Translation, Rotation und Skalierung Transformationen akkumulieren sich bei der Traversierung des Szenengraphen Das ergibt die Composite Modelling Transform (CMT) Die Transformationen tiefer im Graph werden zuerst ausgeführt April 2002 Einführung in Java3D, Paul Grimm, 69/93
70 Transform3D Ein Transform3D Objekt beschreibt die Transformation einer TransformGroup Dargestellt als 4x4 Double Matrix Muß allerdings affin sein (keine perspektivischen Transformationen) Beispiel: Transform3D t = new Transform3D(); t.set set(scale, new Vector3d(xpos xpos, ypos, 0.0)); April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 70/93
71 SharedGroups Ein SharedGroup Objekt dient zur Wiederverwendung von Teilen des Szenengraphen an mehreren Stellen Wird nie direkt in den Szenengraph eingefügt Wird über den Link Knoten referenziert Veränderungen der SharedGroup verändern alle Referenzen Kann compiled werden April 2002 Einführung in Java3D, Paul Grimm, 71/93
72 Beispiel eines Szenengraph April 2002 Einführung in Java3D, Paul Grimm, 72/93
73 Verhalten Programmierbarkeit Verhalten sind Java-Methoden Effizienz Java 3D führt Verhalten nur aus wenn nötig Komposition Verhalten werden mir Objekten verbunden Verhalten können nebeneinander existieren und dynamisch verändert werden April 2002 Einführung in Java3D, Paul Grimm, 73/93
74 Verhalten Jedes Verhalten enthält: Code zur Ausführung in einer processstimulus Methode Wakeup Bedingungen, um zu steuern wann der Code durchgeführt wird Bounding Information für die Ausführung April 2002 Einführung in Java3D, Paul Grimm, 74/93
75 Verhalten - Bounds Verhalten werden nur durchgeführt, wenn sich Sichtradius vom Betrachter und Bounding-Objekt des Verhaltens schneiden Bounding-Objekt Kugel, Würfel, Polyeder,, etc Default: Kein Bounding Objekt (deswegen auch keine Durchführung des Verhaltens) Die Position des Verhaltens im Szenengraph bestimmt den Ursprung des Bounding-Objekts April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 75/93
76 Verhalten - Wakeup Ein Verhalten wird nur durchgeführt, wenn die Wakeup-Kriterien erfüllt sind Ein gewisse Zeit ist verstrichen Ein Event wird generiert Transformation wird durchgeführt Kollision oder Nähe Kriterien können durch logische Operationen verbunden werden April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 76/93
77 Beispiel eines Behaviors public class MorphingBehavior extends Behavior { WakeupOnElapsedFrames w = new WakeupOnElapsedFrames(0); public void initialize() { alpha.setstarttime setstarttime( System.currentTimeMillis currenttimemillis()); wakeupon(w); } } public void processstimulus(enumeration criteria) {} public MorphingBehavior(Alpha a, Morph m) {} April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 77/93
78 Rotation Interpolator Alpha spinalpha = new Alpha( -1,4000 ); RotationInterpolator spinner = new RotationInterpolator( spinalpha, trans ); spinner.setschedulingbounds setschedulingbounds( new BoundingSphere( new Point3d( ), ) ); trans.addchild addchild( spinner ); April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 78/93
79 Vorgefertigte Verhalten Interpolatoren Alpha Rotation Position Pfad Billboards Level of Detail Knoten Mousebehavior April 2002 Einführung in Java3D, Paul Grimm, 79/93
80 MouseBehavior TransformGroup objtrans = new TransformGroup(); MouseRotate behavior = new MouseRotate(); behavior.settransformgroup settransformgroup(objtrans); objtrans.addchild addchild(behavior); behavior.setschedulingbounds setschedulingbounds(bounds); MouseZoom behavior2 = new MouseZoom(); MouseTranslate behavior3 = new MouseTranslate(); April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 80/93
81 Lichtquellen Java3D bietet folgenden Typen Ambientes Licht: Gerichtetes Licht: Punktlichtquelle: Spot AmbientLight DirectionalLight PointLight Attribute von allen Lichtquellen Status (aus/an) Farbe Bounding-Volumen April 2002 Einführung in Java3D, Paul Grimm, 81/93
82 Definition von Lichtquellen Ambientes Licht: AmbientLight( Color3f color ) Gerichtetes Licht: DirectionalLight(boolean lighton, Color3f color,, Vector3f direction) Punktlichtquelle: PointLight(Color3f color,, Point3f position, Point3f attenuation) April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 82/93
83 Weitere Java3D Features Eingabegeräte und Picking Einsatz von unterschiedlicher Loader Einsatz von 3D Sound April 2002 Einführung in Java3D, Paul Grimm, 83/93
84 Eingabegeräte Zugriff auf Echtzeit-Eingabegeräte Eingabegeräte Joystick, 6DOF Geräte, Knöpfe und Regler Einfache Integration in bestehende Applikationen Eingabegeräte können virtuell sein Alle Eingabegeräte sind Sensoren (für physikalische oder virtuelle Größen) April 2002 Einführung in Java3D, Paul Grimm, 84/93
85 Picking Java3D bietet Möglichkeiten zur Auswahl von Objekten des Szenegraphen Ein PickShape wird mit BranchGroups geschnitten BranchGroups enthalten Methoden zur Auswertung des Picking Verschiedene Kriterien bei der Auswahl April 2002 Einführung in Java3D, Paul Grimm, 85/93
86 Picking April 2002 Einführung in Java3D, Paul Grimm, 86/93
87 April 2002 Einführung in Java3D, Paul Grimm, 87/93
88 Hintergrund Der Background Knoten bestimmt den Hintergrund der Szene und besteht aus Konstanter Farbe Bild Geometrie Bounding-Informationen April 2002 Einführung in Java3D, Paul Grimm, 88/93
89 Beispiel eines Hintergrunds April 2002 Einführung in Java3D, Paul Grimm, 89/93
90 Hintergrund import com.sun sun.j3d..j3d.utils.image.textureloader; BoundingSphere bounds = new BoundingSphere(new new Point3d(0.0,0.0,0.0), 100.0); // Set up the background TextureLoader bgtexture = new TextureLoader(bgImage bgimage, this); Background bg = new Background(bgTexture bgtexture.getimage()); bg.setapplicationbounds setapplicationbounds(bounds); objroot.addchild addchild(bg); April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 90/93
91 3D Sound und Geräusche Java3D unterstützt Audio (Capabilities beachten!) BackgroundSound sound1 = new BackgroundSound(); PointSound sound2 = new PointSound(); BoundingSphere soundbounds = new BoundingSphere( new Point3d(0.0,0.0,0.0), 100.0); sound1.setschedulingbounds setschedulingbounds(soundbounds); objtrans.addchild addchild(sound1); April 2002 Einführung in Java3D, Paul Grimm, grimm@agc.fhg.de 91/93
92 Zusammenfassung Grundlagen Virtuelle Welt und Physikalische Welt Modelle Gruppierung und Transformation Verhalten Lichtquellen April 2002 Einführung in Java3D, Paul Grimm, 92/93
93 Ausblick Neue Features von Java3D Version 1.2 Offscreen Rendering Model clipping plane OrientedShape3D-Node Multiple Geometries in einem Shape3D Node Multitexture und Textur Farbtabellen Neue Picking Mechanismen April 2002 Einführung in Java3D, Paul Grimm, 93/93
Einführung in Java3D
Einführung in Java3D Dipl.-Inform. Paul Grimm Professur Graphische Datenverarbeitung Ziele des Seminars Wie kann ich Java3D benutzen? Wo kann ich Informationen finden? Wo finde ich Beispiele? Welche Konzepte
MehrEinführung - Was ist Java3D?
Einführung - Was ist Java3D? - Java Package für interaktive 3D Grafik - High-level 3D Grafik API - Programmieren von interaktiven Anwendungen mit dreidimensionalen Inhalten - Nahtlose Integration in Java
Mehr3D Programmierung mit Java
3D Programmierung mit Java Daniel F. Abawi Professur für Graphische Datenverarbeitung J. W. Goethe-Universität Fachbereich 12 Danksagung / Quellenangabe Die Basis für diesen Foliensatz wurde von Dr. Paul
MehrEinführung - Was ist Java3D?
Einführung - Was ist Java3D? - Java Package für interaktive 3D Grafik - High-level 3D Grafik API - Programmieren von interaktiven Anwendungen mit dreidimensionalen Inhalten - Nahtlose Integration in Java
MehrDer Szenegraph. Im Folgenden eine kurze Beschreibung der wichtigsten Knoten des Szenegraphen:
Java 3d Java3D ist eine Bibliothek von Java Klassen zur Darstellung dreidimensionaler Graphik innerhalb von Java Applikationen und Applets. Die Struktur der darzustellenden Szene wird durch das Aufbauen
MehrJava 3D. Linien, Flächen und Objekte Axel Bartsch, Okt. 2002
Java 3D Linien, Flächen und Objekte Axel Bartsch, Okt. 2002 Virtual World Koordinaten System Grundlagen zur Definition visueller Objekte Shape3D Unterklasse der Leaf-Klasse Eigenschaften des visuellen
MehrEinführung in Java3D
Einführung in Java3D SS05 Ashraf Abu Baker baker@gdv.cs.uni-frankfurt.de Varrentrappstr. 40-42 60486 Frankfurt am Main Raum 218 Java 3D ist eine high level Interaktive 3D Graphik-API (Application Programming
MehrJava 3D Einstiegs-Tutorial Teil 3
Navigation mit der Maus Java 3D Einstiegs-Tutorial Teil 3 Computergrafik - Übungen W. Kurth, E. Roth WS 2001/02 Java 3D eröffnet mehrere Möglichkeiten, sich mittels Maus- Eingaben im virtuellen Raum zu
MehrEinige weitere Fähigkeiten und Anwendungsbeispiele
Java3D Eine Einführung Was ist Java3D Ansicht (Viewing Model) Sichtbare Objekte Animationen und Interaktionen Einfaches Beispielprogram Einige weitere Fähigkeiten und Anwendungsbeispiele Was ist Java3D?
MehrJava 3D Einstiegs-Tutorial Teil 1
Java 3D Einstiegs-Tutorial Teil 1 Computergrafik - Übungen W. Kurth, E. Roth WS 2001/02 Java 3D: Application Programming Interface (API) für Java Erweiterung von Java um Klassenbibliotheken, die als Interface
MehrSzenengraphen. Codruţa Cosma. Universität Ulm Sommersemester 2005
Szenengraphen Codruţa Cosma Universität Ulm Sommersemester 2005 Übersicht Einführung VRML OpenSceneGraph Java3D vs. VRML OpenGL vs. Java3D und VRML Zusammenfassung 2/26 Was sind Szenengraphen? Datenstruktur
MehrJava3D - Teil 6. Michael Haller
Java3D - eil 6 Michael Haller Inhalt der Vorlesung Interaktion 2: astaturgesteuerte Navigation Mausinteraktion Mausgesteuerte Navigation Animation Picking 2 Wir erinnern uns... public void initialize(){
Mehr3D-Grafik und -Animation: Java3D
3D-Grafik und -Animation: Java3D Hauptseminar Virtuelle Präsenz Wintersemester 2003/2004 Marco Jahn Inhaltsverzeichnis 1 Einleitung... 3 2 Java3D Grundlagen... 3 2.1 Die Java3D API... 3 2.2 Aufbau eines
MehrB6. 3D-Computergrafik mit Java
B6. 3D-Computergrafik mit Java B6.1 Grundlagen der 3D-Computergrafik B6.2 Einführung in Java 3D B6.3 Animation B6.4 Geometrie, Material, Beleuchtung (Forts.) B6.5 Interaktion Literatur: D. Selman: Java
MehrB6. 3D-Computergrafik mit Java
B6. 3D-Computergrafik mit Java B6.1 Grundlagen der 3D-Computergrafik B6.2 Einführung in Java 3D B6.3 Animation B6.4 Geometrie, Material, Beleuchtung (Forts.) B6.5 Interaktion Literatur: D. Selman: Java
MehrB6. 3D-Computergrafik mit Java
B6. 3D-Computergrafik mit Java B6.1 Grundlagen der 3D-Computergrafik B6.2 Einführung in Java 3D B6.3 Animation B6.4 Geometrie, Material, Beleuchtung (Forts.) B6.5 Interaktion Literatur: D. Selman: Java
Mehr9. Digitale Verarbeitung 3-dimensionaler Darstellungen
9. Digitale Verarbeitung 3-dimensionaler Darstellungen 9.1 Grundlagen der 3D-Computergrafik 9.2 3D-Modellierung am Beispiel VRML 9.3 Interaktion in 3-dimensionalen Darstellungen 9.4 3D-Grafik-Programmierung
MehrZellaufbau Java 3D Verteilungsalgorithmus
Zellaufbau Java 3D Verteilungsalgorithmus Christina Ander & Regina Bisdorf Universität Bielefeld 06.12.2007 C. Ander & R. Bisdorf (Universität Bielefeld) Zellaufbau Java 3D Verteilungsalgorithmus 06.12.2007
MehrB6. 3D-Computergrafik mit Java
B6. 3D-Computergrafik mit Java B6.1 Grundlagen der 3D-Computergrafik (teilweise Wiederholung zu Vorlesung Digitale Medien) B6.2 Einführung in Java 3D B6.3 Animation B6.4 Geometrie, Material, Beleuchtung
MehrAktuelle Binaries: Version 1.5.2; download: https://java3d.dev.java.net/binary-builds.html. + Visual Toolkit (VTK -> KITWARE)
3. Java 3D 3.1 Grundlagen - Hierarchie von Java-Klassen, die eine Schnittstelle zur Darstellung und Interaktion von dreidimensionalen grafischen Szenen bilden. - Die geometrischen Objekte werdenin einem
MehrDie Klassenbibliothek Java 3D am Beispiel eines einfachen Planetensystems
Goerdeler-Gymnasium Paderborn Facharbeit 1 Thema: Die Klassenbibliothek Java 3D am Beispiel eines einfachen Planetensystems Fach: Kurs: Fachlehrer: Informatik GK Herr Hilwerling Autor: Daniel Dreibrodt
Mehr3D-Formate im Web. Teil 1: VRML. Von Lars Hillebrandt,
3D-Formate im Web Teil 1: VRML Von Lars Hillebrandt, wtell@upb.de Was ist VRML Virtual Reality Modeling Language VRML ist die am häufigsten verwendete Sprache für 3D-Grafik im Web. Seit 1997 ISO-Standard
MehrComputergrafik Universität Osnabrück, Henning Wenke,
Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-14 Kapitel V: Modeling Transformation & Vertex Shader 5.1 Vertex Definitionen: Vertex Vertex Computergrafik Mathematischer Punkt auf einer Oberfläche
MehrVor-Geschichte von VRML
Einführung in VRML VRML heisst Virtual Reality Modeling Language, ein Teil von Web3D / X3D. VRML ist einfach ein 3D Datenaustausch- Format: Es besitzt Sprachelemente für die heute in 3D-Applikationen üblichen
MehrJava3D. Beleuchtung und Material
Java3D Seminar WS 02/03 Beleuchtung und Material Presman Julia (145185) Presman Alexander (155298) FH-Fulda Inhaltsverzeichnis 1.Beleuchtungsmodell...2 2.Schattierungsmodell...3 2.1.Flat-Schattierung...3
MehrErstellung geometrischer Figuren und Verwendung von Texturen in Java 3D
Grafisch-Interaktive Systeme Prof. Dr. Heinzel Vertiefungsgebiet Embedded Systems Bachelor WS 2007 / 2008 Hochschule Fulda Erstellung geometrischer Figuren und Verwendung von Texturen in Java 3D Markus
MehrB6. 3D-Computergrafik mit Java
B6. 3D-Computergrafik mit Java B6.1 Grundlagen der 3D-Computergrafik (teilweise Wiederholung zu Vorlesung Digitale Medien) B6.2 Einführung in Java 3D B6.3 Animation B6.4 Geometrie, Material, Beleuchtung
MehrJava 3D Einstiegs-Tutorial Teil 2 Steuerung des Erscheinungsbildes (Appearance):
Java 3D Einstiegs-Tutorial Teil 2 Steuerung des Erscheinungsbildes (Appearance): Computergrafik - Übungen W. Kurth, E. Roth WS 2001/02 wie in VRML können Materialeigenschaften (optische Eigenschaften)
MehrGrundlagen der Java 3D- Programmierung
Grundlagen der Java 3D- Programmierung und deren exemplarische Umsetzung Verfasser: MATSE-Auszubildender am Institut für Leichtbau der RWTH Aachen, angehender Bachelor of Science Die vorliegende Arbeit
MehrKapitel 4: Schattenberechnung
Kapitel 4: Schattenberechnung 1 Überblick: Schattenberechnung Motivation Schattenvolumen Shadow Maps Projektive Schatten 2 Motivation Wesentlich für die Wahrnehmung einer 3D-Szene Eigentlich ein globaler
MehrDie Elemente einer Szene werden in einer Graphstruktur gespeichert
SZENEGRAPHEN Szenegraphen Allgemeines Szenegraphen dienen zum Verwalten von 3D-Szenen Die Elemente einer Szene werden in einer Graphstruktur gespeichert Jede reale Implementierung eines Szenegraphen ist
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrGraphische 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
MehrVorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
Mehr3.5 Implizite Beschreibungen
3.5 Implizite Beschreibungen 3 Repräsentation und Modellierung von Objekten Idee: Beschreibung von Objekt-Flächen bzw. -Volumina als Isoflächen in Skalarfeldern. Die Skalarfelder ihrerseits entstehen kontrolliert
MehrJavaFX Koordinaten und Transformationen
JavaFX Koordinaten und Transformationen Koordinaten Jedes Node-Objekt hat sein eigenes Koordinatensystem. In Container-Nodes beziehen sich Position und Größe der Kinder immer auf das Koordinatensystem
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
Mehr11. GUI-Programmierung mit SWING Überblick
11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing
MehrProPra WS 2008/09: LEGO-Sculptor
ProPra WS 2008/09: LEGO-Sculptor Dipl.-Inform. Christian Düntgen Lehrgebiet Datenbanksysteme für neue Anwendungen Worum geht es? 1. Einlesen einer Formbeschreibung aus VRML-Datei (ggf. Visualisierung der
MehrXML-basierte 3D-Komponenten
XML-basierte 3D-Komponenten Diplomarbeit, Wintersemester 2000/2001 Daniel F. Abawi Silvan Reinhold Betreuer: Dipl.-Inform. Ralf Dörner Dipl.-Inform. Paul Grimm Technische Universität Darmstadt Vorgehensweise
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Klassenattribute und -methoden Bieniusa Software Entwicklung 1 2/ 23 Beispiel: Klassenattribute I class Uebungsgruppe
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrTransformationen in Java 3D
Transformationen in Java 3D Eine Ausarbeitung von Florian Hüter im Rahmen des Seminars Java3D von Prof. Dr. W. Heinzel an der FH Fulda im WS 2002/03. Inhaltsverzeichnis: Seite 1. Allgemeines zu Java3D...3
MehrKoordinatensystemorientierung. -Drehung. Mittelfinger als -Achse ergibt sich das entsprechende. -Achse, den Zeigefinger als -Achse und den
Koordinatensystemorientierung -Drehung rechtshändiges Koordinatensystem: eine gegen den Uhrzeigersinn überführt die positiven Achsen ineinander. y x z Verwendet man den Daumen der rechten Hand als -Achse,
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
MehrVRML + HTML + Scripting/Java
Einführung in VRML VRML heisst Virtual Reality Modeling Language, ein Teil von Web3D / X3D. VRML ist einfach ein 3D Datenaustausch- Format: Es besitzt Sprachelemente für die heute in 3D-Applikationen üblichen
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrInstrumentierung und Dekodierung
116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so
Mehr3.1 Motivation. - Mit (mehreren) Koordinatentransformationen wird das Objektsystem in das Gerätesystem transformiert.
3.1 Motivation Wichtige Grundlage der Bildwiedergabe auf dem Bildschirm oder anderen Ausgabegeräten sind Koordinatensysteme und Koordinatentransformationen im IR 2 und IR 3. Im allgemeinen unterscheidet
MehrIT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
MehrInhalt. Grundlagen - Licht und visuelle Wahrnehmung 1. Grundlagen - 2D-Grafik (Teil 1) 43. Grundlagen - 2D-Grafik (Teil 2) 67
Grundlagen - Licht und visuelle Wahrnehmung 1 Physikalische Grundlagen 2 Licht 2 Fotometrie 6 Geometrische Optik 9 Schatten 13 Farben 15 Visuelle Wahrnehmung - vom Reiz zum Sehen und Erkennen 17 Das Auge
MehrShader. Computer Graphics: Shader
Computer Graphics Computer Graphics Shader Computer Graphics: Shader Inhalt Pipeline Memory Resources Input-Assembler Vertex-Shader Geometry-Shader & Stream-Output Rasterizer Pixel-Shader Output-Merger
MehrA Simple and Practical Method for Interactive Ray Tracing of Dynamic Scenes
A Simple and Practical Method for Interactive Ray Tracing of Dynamic Scenes Ingo Wald Carsten Benthin Philipp Slusallek Marco Lang Bisher Ray Tracing erstmals von Appel benutzt dutzende Algorithmen vor
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrKonzepte objektorientierter Programmierung
Konzepte objektorientierter Programmierung Objekte Klassen Nachrichten Kapselung Einführung Vererbung heute! Konzepte objektorientierter Programmierung Was ist ein Objekt? Was ist eine Klasse? Was sind
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrProbelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering
Probelektion zum Thema Shadow Rendering Shadow Maps Shadow Filtering Renderman, 2006 CityEngine 2011 Viewport Real reconstruction in Windisch, 2013 Schatten bringen viel Realismus in eine Szene Schatten
MehrProbeklausur: 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,
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 3 Schnittstellen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
MehrDreidimensionales Höhleninformationssystem
Dreidimensionales Höhleninformationssystem Entwicklung eines webbasierten Prototyps unter Verwendung von HTML, Javascript, SVG und VRML 2.2.2005 Vertiefungsblock Kartografie Severin Hohl Inhalt 3D-Formate
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrProgrammierpraktikum 3D Computer Grafik
Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Szenegraphen, Texturen und Displaylisten. Agenda Organisatorisches Das Konzept der Szenegraphen Grundlagen Beispiel eines Szenegraphen Transformationen
MehrMichael Bender Martin Brill. Computergrafik. Ein anwendungsorientiertes Lehrbuch. 2., überarbeitete Auflage HANSER
Michael Bender Martin Brill Computergrafik Ein anwendungsorientiertes Lehrbuch 2., überarbeitete Auflage HANSER Inhaltsverzeichnis Vorwort XI 1 Einleitung 1 1.1 Die Entwicklung der Computergrafik 1 1.2
MehrTesten nebenläufiger Objekte
Testen nebenläufiger Objekte Threads in Java Julian Lambertz Seminar Tests in Informatik und Statistik im SS 2004 Universität Ulm J.L., Juni 2004 1 Themenüberblick Einleitung Begriff der Nebenläufigkeit
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
MehrProgrammierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
MehrSoftwaretechnik (Medieninformatik): GUIs mit Swing Überblick
Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick 1 Einführung 2 Einfache Swing Komponenten 3 Ereignisbehandlung und Adapterklassen 4 Zeichnen 5 Layout Manager 6 Komplexere Swing Komponenten
MehrSilke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrGrafik - wozu? GUI Grafische Benutzungsschnittstellen. Gehört zum Standardumfang des JDK. 2 Varianten: AWT und Swing
Grafik - wozu? Grafik - wozu? GUI Grafische Benutzungsschnittstellen Gehört zum Standardumfang des JDK 2 Varianten: AWT und Swing Konzeptuell sind beide Varianten gleich Heute: Beispiel für AWT Zeichnen,
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrEntwurfsmuster (Design Patterns)
Entwurfsmuster (Design Patterns) SEP 303 Entwurfsmuster (Design Patterns) In der alltäglichen Programmierarbeit tauchen viele Probleme auf, die man schon einmal gelöst hat und die man in der Zukunft wieder
Mehr3D Modellierung. Masterstudium Informatik Vertiefungsrichtung Computer Graphics Sommersemester 2008. 3D Modellierung. Prof. Dr.-Ing. H.-P.
Masterstudium Informatik Vertiefungsrichtung Computer Graphics Sommersemester 2008 1 Bild aus der Abhandlung "Underweysung der Messung" von Albrecht Dürer, 1525 2 ... knapp 500 Jahre später beschäftigt
MehrAufbau interaktiver 3D-Engines
Aufbau interaktiver 3D-Engines ActorComponents Im Folgenden findet sich eine Übersicht über alle bereits implementierten Actorcomponents der Engine. Dabei werden XML-Elemente, die die Komponente beschreiben
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
Mehr(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU
(7) Normal Mapping Vorlesung Computergraphik II S. Müller Dank an Stefan Rilling Einleitung Die Welt ist voller Details Viele Details treten in Form von Oberflächendetails auf S. Müller - 3 - Darstellung
MehrSwing. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.06.07 G. Bohlender (IANM UNI Karlsruhe) Swing 27.06.07 1 / 10 Übersicht 1 Einführendes
MehrKlassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object
Smalltalk vs. Objective-C Klassen als Objekte Klassendeklarationen Selektoren als first-class values Objekt-Erzeugung Implementierung: Eigene VM vs. Einbettung in C Smalltalk: Everything is an object Klassen
MehrSilke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
MehrSzenengraph-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
MehrProgrammierpraktikum 3D Computer Grafik
Prof. Andreas Butz Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Szenegraphen, Texturen und Displaylisten. Agenda Organisatorisches Das Konzept der Szenegraphen Grundlagen Beispiel eines
MehrComputergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis
Computergrafik Michael Bender, Manfred Brill Ein anwendungsorientiertes Lehrbuch ISBN 3-446-40434-1 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40434-1 sowie
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel X Zeichnen mit Java2D SWT I Sommersemester 2009 Prof. Walter F. Tichy David Meder Literatur Informationen zu Java2D finden Sie in
MehrProbeklausur Informatik 2 Sommersemester 2013
Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel
MehrÜbungsblatt 2: Einstieg in JOGL
: Einstieg in JOGL Abgabe: Dieses Übungsblatt ist einzeln zu lösen. Die Lösung ist bis Montag, den 7. Mai 2012, 12:00 Uhr s.t. über UniWorx (https://uniworx.ifi.lmu.de/) abzugeben. Es werden nur die Formate
MehrV by WBR1/BFH-TI 2011 by MOU2/BFH-TI
Java-Applets Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets V3.0 2011 by WBR1&MOU2/BFH- TI Lernziele Die Kursteilnehmer sind in der Lage: Möglichkeiten und
MehrTeil 3 - Java. Grundlagen Klassen, Attribute Methoden
Teil 3 - Java Grundlagen Klassen, Attribute Methoden 1 Java 2 - Geschichte Ursprung: Green -Project bei der Firma Sun Microsystems 1991 Entwicklung eines Systems mit folgenden Eigenschaften: hardwareunabhängig
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrComputer Graphics Shader
Computer Graphics Shader Sven Janusch Inhalt Fixed Function Pipeline Programmable Pipeline Implementierung Applikation Beispiel Sven Janusch 2 Fixed Function Pipeline T&L Pipeline (Transformation and Lighting)
Mehr