Java 3D

Beispielprogramme

 

Im Buch verwendete Programme
BackgroundExample: Verwendung eines aus einer Datei geladenen Bildes als Hintergrund. Dieses Programm benöigt die Datei sunset.jpg (s.Zusätzliche Dateien). Einen einfarbigen Hintergrund findet man z.B. im Programm StaticSceneExample
ClippingPlanes: Veräderung des Clipping-Volumens durch den Sichtfeldwinkel und die vordere und hintere Clipping-Ebene
CollisionBehaviour1: Eine Klasse, die von CollisionExample verwendet wird, um die Farbe eines Objekt bei einer Kollision zu ädern. Dazu wird ein Switch enutzt
CollisionBehaviour2: Eine Klasse, die von CollisionExample verwendet wird, um ein Objekt bei einer Kollision zu bewegen
CollisionExample: Beispiel für die Verwendung der Kollisionsdetektion. Auserdem: Verwendung der Klasse Switch und der Navigation mittels Cursor-Tasten. Die Klassen CollisionBehaviour1 und CollisionBehaviour2 werden benötigt
ConstantDirectionCreator: Implementiert das Interface IDirectionCreator
ConstantFloatCreator: Implementiert das Interface IFloatCreator
ConstantLongCreator: Implementiert das Interface ILongCreator
ConstantSphereCreator: Implementiert das Interface ISimpleParticleCreator
ConstantVector3fCreator: Implementiert das Interface IVector3fCreator
DynamicSurfaceExample: Realisiert das Morphing einer Fläche in eine andere. IFunctionInTwoVariables, FunctionInTwoVariablesExample, FunctionInTwoVariablesExample2 und SimpleMorphBehaviour werden benötigt.
ExpFogExample: Exponentieller Nebel und die mehrfache Verwendung derselben Transformationsgruppe in einer Szene
Extract3DExample: Laden eines Objektes aus einer Datei im Wavefront Object Format, dargestellt wird nur ein Teilobjekt, nicht das gesamte geladene Objekt. Die Datei schiff.obj wird für das Programm benötigt
FunctionInTwoVariablesExample: Implementierung des Interfaces IFunctionInTwoVariables, das in u.a. in der Klasse DynamicSurfaceExample benötigt wird.
FunctionInTwoVariablesExample2: Implementierung des Interfaces IFunctionInTwoVariables, das in u.a. in der Klasse DynamicSurfaceExample benötigt wird.
GeomArrayExample: Erzeugung eines Objektes (Tetraeders) aus einzelnen Dreiecken
IDirectionCreator: Ein Interface zur Erzeugung von Bewegungsrichtungen von Partikeln.
IFloatCreator: Ein Interface zur Erzeugung von Geschwindigkeiten von Partikeln.
IFunctionInTwoVariables: Ein Interface, das eine reelle Funktion in zwei Variablen beschreibt.
ILongCreator: Ein Interface zur Erzeugung von Zwischenankunftszeiten und Lebensdauern von Partikeln.
InteractionExample: Auswahl von Objekten mit der Maus und Initiierung einer Bewegung. Dazu wird die Klasse PickingExample verwendet
InteractionTest: Auswahl von Objekten mit der Maus. Es wird unter Verwendung der Klasse PickingTest ausgegeben, welches Objekt ausgewählt wurde
ISimpleParticleCreator: Ein Interface im Package simpleParticleSystemPackage zur Erzeugung einzelner Partikel.
IVector3fCreator: Ein Interface zur Erzeugung von Anfangspositionen einzelner Partikel.
LightingExample: Verwendung verschiedener Lichtquellen und Reflexionseigenschaften von Oberflächen
LightingExample2: Eine um die Szene rotierende Lichtquelle verdeutlicht unrealistische Farbeffekte, die entstehen, wenn die Reflexionsfarben einer Oberfläche völlig unterschiedlich gewählt werden
LineOfSparksCreator: Implementiert das Interface ISimpleParticleCreator.
LinFogExample: Linearer Nebel und die mehrfache Verwendung derselben Transformationsgruppe in einer Szene
Load3DExample: Laden und Darstellen eines Objektes aus einer Datei im Wavefront Object Format, Ausgabe der Namen aller Teilobjekte, Färben eines Teilobjekts. Die Datei schiff.obj wird für das Programm benötigt
MovingLight: Eine sich bewegende Lichtquelle
MovingSpotLight: Ein um die Szene rotierender Scheinwerfer, dessen Lichtintesität zum Rand des Lichtkegels nicht abnimmt, dort aber abrupt auf Null fällt
NormalsForGeomArrays: Erzeugung eines Objektes (Tetraeders) aus einzelnen Dreiecken, bei dem die Normalenvektoren der Dreiecke interpoliert werden
ParticleSystemExample: Realisierung einer Wunderkerze mit Hilfe eines Partikelsystems. Es wird das Package simpleParticleSystemPackage benotigt.
PickingExample: Eine Klasse, die von InteractionExample benutzt wird, um mit der Maus ausgewählte Objekte zu bewegen
PickingTest: Eine Klasse, die von InteractionTest benutzt wird, um die Namen mit der Maus ausgewählter Objekte auszugeben
RandomDirectionCreator2: Implementiert das Interface IDirectionCreator.
RandomLongCreator: Implementiert das Interface ILongCreator.
ShadingExample: Verwendung von konstanter statt Gouraud-Schattierung
SimpleAnimation3d: Einfache Animation, die einen Hubschrauber starten und landen lässt
SimpleMorphBehaviour: Ein Behaviour, das die Konvexkombination bei einem Morph steuert.
SimpleParticleSystem: Die zentrale Klasse im Package simpleParticleSystemPackage zur Erzeugung eines einfachen Partikelsystems
SimpleParticleSystemRunner: Ein Thread, in dem Partikel f"ur ein Partikelsystem erzeugt werden.
SimpleParticleSystemTerminator: Thread, der sich meldet, wenn die Aktivitätsdauer eines Partikelsystems abgelaufen ist.
SimpleSingleParticleCreator: Ein Thread zur Erzeugung einzelner Partikel inklusive Bewegung.
SoundExample: Einbindung von Akustikeffekten in eine Szene in Form eines BackgroundSound und eines PointSound. Die Dateien bgsound.wav, psound.wav und darkclouds.jpg werden für das Programm benötigt
StaticSceneExample: Erzeugung einer statischen Szene mit einem Hubschrauber und einem Baum
SurfaceExample: Darstellung einer Funktion in zwei Variablen als Oberfläche. Die Klassen IFunctionInTwoVariables und FunctionInTwoVariablesExample werden dafür benötigt.
TesselationBWExample: Drahtgittermodelldarstellung einer statischen Szene mit einem Hubschrauber und einem Baum
TesselationExample: teilweise Drahtgittermodelldarstellung einer statischen Szene mit einem Hubschrauber und einem Baum
TesselationResolution: Annäherung einer Kugeloberfläche mit einer unterschiedlichen Anzahl von Dreiecken
Text3DExample: Verwendung von Text und eines Billboard-Behaviours in einer dreidimensionalen Darstellung. Die Klassen IFunctionInTwoVariables und FunctionInTwoVariablesExample werden dafür benötigt.
TextureExample: Aufbringen einer aus einer Bilddatei geladenen Textur auf eine Kugel. Die Datei myTexture.jpg wird für das Programm benötigt
TransparencyExample: Beispiel für interpolierte und Screen-Door-Transparenz
ViewParallelProjection: Paralleprojektion zur Darstellung einer statischen Szene mit einem Hubschrauber und einem Baum

 

Weitere Programme
ExtendedSimpleAnimation3d: Erweiterung des fliegenden Hubschraubers um einen Heckrotor (mit freundlicher Genehmigung von G. Gehrmann)
GDVStuhlWS0405: Ein Stuhl
TischClass: Ein Tisch (mit freundlicher Genehmigung von G. Gehrmann)
BuildAChair: Zusammensetzen eines Stuhls, auf dem ein Würfel rotiert (mit freundlicher Genehmigung von K. Riewe, M. Wernicke und H. Noehren)
MyTent: Ein aus Dreiecken zusammengesetzter Keil (mit freundlicher Genehmigung von K. Riewe, M. Wernicke und H. Noehrenberg)
Alpha: Ein interaktives Tool zur Visualisierung der Funktion der Alpha-Klasse in Java 3D. Die Hauptklasse ist MVC.java. (Mit freundlicher Genehmigung von F. Knye)

 

Zusätzliche Dateien
image1.jpg Wird als Textur bei TextureExample verwendet
sunset.jpg Hintergrunddatei, wird im BackgroundExample verwendet
schiff.obj Wavefront-Objekt, das in Load3DExample und Extract3DExample verwendet wird
darkclouds.jpg wird im SoundExample verwendet
bgsound.wav wird im SoundExample verwendet
psound.wav wird im SoundExample verwendet


Copyright: Prof. Dr. F.Klawonn
Optimiert für 1024x768
Für den Inhalt verlinkter Seiten wird keine Haftung übernommen