La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Leghissa Simon. Descrizione proggetto Il proggetto prevede la visualizzazione e lanimazione di un cubo in ambiente Java 3D. Fasi: - creazione di un applicazione.

Presentazioni simili


Presentazione sul tema: "Leghissa Simon. Descrizione proggetto Il proggetto prevede la visualizzazione e lanimazione di un cubo in ambiente Java 3D. Fasi: - creazione di un applicazione."— Transcript della presentazione:

1 Leghissa Simon

2 Descrizione proggetto Il proggetto prevede la visualizzazione e lanimazione di un cubo in ambiente Java 3D. Fasi: - creazione di un applicazione grafica Java 3D - inserimento di un cubo nella scena - creazione di una o più animazioni

3 Classi e Librerie Classi implementate: - AnimazioneCubo3D(classe principale con metodo main) - MioBehavior(gestione eventi da tastiera) Principali librerie utilizzate: - javax.media.j3d.*(Core di Java 3D) - com.sun.j3d.utils.* (Classi di utility per Java 3D) - javax.swing.*(Libreria grafica J2SE)

4 SimpleUniverse 1. Creare un oggetto Canvas3D 2. Creare un oggetto SimpleUniverse e collegarlo al Canvas3D 3. Personalizzare l'oggetto SimpleUniverse: Costruire un content branch graph, contente un cubo e tutti gli oggetti relativi allanimazione Compilare il content branch graph 4. Collegare il content branch graph al SimpleUniverse Il metodo più semplice per creare una scena in Java 3D è quello di utilizzare la classe SimpleUniverse.

5 Le classi delle primitive geometriche Esistono tre modi per creare nuove geometrie: – usare le classi di utility per box, coni, cilindri e sfere – specificare le coordinate dei vertici per punti, linee e superfici – usare i loader di geometrie Il metodo più semplice per creare un cubo è lutilizzo della classe Box.

6 La classe Box Crea un box 3D: le dimensioni di default per lunghezza, larghezza ed altezza sono 2,con il centro posto nell'origine La figura di default è quindi un cubo con gli spigoli a ( -1, -1, -1) e ( 1, 1, 1) Le dimensioni posso essere specificate all'atto della creazione Box(float xdim, float ydim, float zdim, Appearance appearance)

7 Aspetto ed attributi Uno Shape3D (Box è una estensione di Shape3D) può fare riferimento sia ad un oggetto Geometry sia ad un oggetto Appearance La Geometry specifica le informazioni spaziali e (opzionale) di colore sui vertici Tuttavia i dati di una Geometry sono spesso insufficienti per descrivere l'aspetto di un oggetto: è necessario utilizzare un oggetto Appearance

8 Aspetto ed attributi Gli oggetti a cui può referenziarsi un Appearance sono molteplici, i principali sono: PointAttributes/LineAttributes PolygonAttributes ColoringAttributes/TransparencyAttributes RenderingAttributes/Material TextureAttributes/Texture/TexCoordGeneration Per ogni attributo esiste un metodo per impostare/recuperare il suo valore

9 Classe Behavior In Java3D sia le animazioni sia le interazioni sono definite utilizzando la classe Behavior. Scopo di un Behavior è modificare uno scene graph in risposta a qualche stimolo. Uno stimolo può essere la pressione di un tasto, un movimento del mouse, la collisione tra oggetti, il passare del tempo, ecc. I cambiamenti prodotti possono essere l'aggiunta e/o la rimozione di oggetti dallo scene graph, il cambiamento di attributi degli oggetti,…

10 Le animazioni in Java3D Teoricamente è possibile creare qualsiasi animazione personalizzata usando i Behavior, in ogni caso Java3D fornisce una serie di classi di utility per le animazioni più comuni. Ovviamente queste classi sono basate sui Behavior. Un particolare insieme di classi per le animazioni sono gli interpolatori: un oggetto Interpolator manipola alcuni parametri di uno scene graph per creare animazioni basate sul tempo.

11 Gli Interpolatori Gli Interpolator sono Behavior personalizzati che usano un oggetto Alpha. Le azioni degli Interpolator comprendono il cambiamento di : posizione orientamento dimensione colore trasparenza di un oggetto Esistono Interpolator anche per altre azioni, incluse le combinazioni delle precedenti azioni.

12 La classe Alpha Un oggetto Alpha produce un valore, detto valore alpha, compreso tra zero ed uno, estremi inclusi. Il valore alpha cambia nel tempo in base ai parametri dell'oggetto stesso. Fissati i parametri di Alpha ed un particolare istante di tempo, c'è un solo valore alpha che l'oggetto Alpha può produrre. Associando un oggetto Alpha ad un Interpolator, questultimo modificherà gli oggetti a lui sottostanti nello scene graph (target) a seconda del valore di alpha.

13 La classe Alpha

14 Alcune classi Interpolator Classe InterpolatorUsato perOggetto target ColorInterpolatorCambiare il colore di un oggetto Material PathInterpolator (Astratta)Creare percorsiTransformGroup PositionInterpolatorCambiare la posizione di un oggetto TransformGroup RotationInterpolatorCambiare l'orientamento di un oggetto TransformGroup ScaleInterpolatorCambiare le dimensioni di un oggetto TransformGroup SwitchValueInterpolatorScegliere un oggetto tra una collezione Switch TransparencyInterpolatorCambiare la trasparenza di un oggetto TransparencyAttribut es

15 Demo

16 see file LeghissaAnimaCuboJava3D.avi

17 Bibliografia Programmazione.it – Introduzione a Java 3D Getting Started with the Java 3D API Creating Geometry in Java 3D Easier Content Creation Interaction Animation Lezioni di Java 3D


Scaricare ppt "Leghissa Simon. Descrizione proggetto Il proggetto prevede la visualizzazione e lanimazione di un cubo in ambiente Java 3D. Fasi: - creazione di un applicazione."

Presentazioni simili


Annunci Google