Animazione di un cubo in Java 3D

Slides:



Advertisements
Presentazioni simili
Programmazione in Java
Advertisements

Introduzione ad XML Mario Arrigoni Neri.
MODULO 3 – ELABORAZIONE TESTI
Unit à E4 Applet. Obiettivi Saper progettare e realizzare Applet Java allinterno di pagine HTML Comprendere le interazioni tra il browser e lapplet Saper.
Classe IV B A.s – 2009 Programma di Informatica 6 ore (3 laboratorio) Docenti –Prof. Alberto Ferrari –Prof. Alberto Paganuzzi.
Recupero debito quarto anno Primo incontro
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.
GLUT & OpenGL Ing. Tommaso Coviello Politecnico di Bari
Dr. Giovanni Stracquadanio
Quinta lezione: Stampare e salvare una mappa Stampa e salvataggio in vari formati. Utilizzare il prodotto per inserirlo in relazioni Utilizzarlo come base.
Texture Mapping.
Seminario per il corso Elementi di Grafica Digitale Dott. Federico ELIA A.A
Costruzione di Interfacce Lezione 4 Geometria per la grafica
UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA’ DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK Introduzione.
Esplorazione degli strumenti di Smart Notebook math tolls
coordinate utente e di finestra
1 Grafica ed eventi/2 Più movimento alle classi. 2 Esercizio n.1 Realizzare una applicazione che permette il trascinamento di una ellissi allinterno di.
Gestione eventi esercitazione n aprile 2006.
ONDE ELETTROMAGNETICHE
Fabio Massacci Programmazione ad Oggetti
AA2003/04 © M.A. Alberti Programmazione Interfacce 1 Programmazione Corso di laurea in Informatica.
Un approccio costruttivista alla geometria
Introduzione alla grafica digitale 2005,6,7,8,9,.. Matjaž Hmeljak.
Java 3D.
Esempi di Java 3D.
1 Linux day /11/2003 ADA. Dai requisiti al progetto Come nasce il progetto di una piattaforma e-learning Open Source.
Elaborazione di Franco Grivet Chin
Argomenti della lezione
1 Effetti impressionistici Daniele Marini. 2 Tecniche discrete di manipolazione del frame buffer: –Texture mapping –Antialiasing –Compositing –Alpha blending.
Programmazione in Java
Istituto Comprensivo di Olgiate Molgora
ARCHITECTURAL TOOLS FOR RHINO
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
Gerarchie Nella lezione precedente abbiamo imparato creare una gerarchia di oggetti usando i gruppi (edit>group)
Descrizione Semantica ad Alto Livello di Ambienti Virtuali in X3D
VRML97 -Appendice- Cristina Donati 1 VRML97. Il Virtual Reality Modeling Language (VRML) è un formato di file volto alla descrizione degli oggetti interattivi.
Massimiliano Piscozzi – Sistemi multimediali.
Display list e scene graph Daniele Marini Dipartimento di Informatica e Comunicazione.
Architettura di OGL e pipe-line Daniele Marini Corso Di Programmazione Grafica.
Corso di tecniche della modellazione digitale computer 3D A.A. 2010/2011 docente Arch. Emilio Di Gristina 03.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
MODULO 02 Iniziamo a usare il computer MODULO 02 Unità didattica 07 Usiamo Windows: Impariamo a operare sulle cartelle.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Reactor Prof. F. Corato. Utilizziamo 1 come frame/key.
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Display list e scene graph Daniele Marini Dipartimento di Informatica e Comunicazione.
Introduzione al corso Corso di Programmazione Grafica e Laboratorio Daniele Marini.
1 Programmazione grafica e Laboratorio Daniele Marini.
Architettura di OGL e pipe-line Daniele Marini Davide Gadia Davide Selmo Corso Di Programmazione Grafica aa2005/2006.
Hyper-Text Mark-Up Language
Percorso didattico per l’apprendimento di Microsoft Access Modulo 5
Introduzione. Introduzione Un’applet Java: Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet.
ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI (Metodologia DFD)
Percorso didattico per l’apprendimento di Microsoft Access Modulo 5
Lezione 1 Panoramica sui paradigmi di programmazione
Creazione di pagine per Internet Brevi note a cura di Emanuele Lana
Corso di formazione: LIMFORM 2012 “Animiamo la Geometria!” L.I.M. e Nuove Tecnologie A supporto della didattica laboratoriale.
Realizzazione Sito Web
PERCORSO DI RICERCA - AZIONE SUL CURRICOLO DI MATEMATICA
Diagramma delle Classi
Tag FRAMESET. I frame sono un particolare tipo di struttura HTML, che consente di suddividere la finestra del browser in diversi riquadri distinti. Un'insieme.
Microsoft Word Lezione 6 Riccardo Sama' Copyright  Riccardo Sama'
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Progetto di Linguaggi e modelli computazionali M Prof. Enrico Denti Progetto di: Francesco Paci.
Loschiavo Tobia - Ridolfi Lorenzo Realizzazione di un visualizzatore 3D dei dati provenienti da Polhemus Corso di Robotica aa Luglio 2004.
Scratch.
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Tutorial: propagazione di un’onda all’interno di una sfera.
Transcript della presentazione:

Animazione di un cubo in Java 3D Leghissa Simon

Descrizione proggetto Il proggetto prevede la visualizzazione e l’animazione 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

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)

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

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 è l’utilizzo della classe Box.

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)

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

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

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,…

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.

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.

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, quest’ultimo modificherà gli oggetti a lui sottostanti nello scene graph (target) a seconda del valore di alpha.

La classe Alpha

Alcune classi Interpolator Classe Interpolator Usato per Oggetto target ColorInterpolator Cambiare il colore di un oggetto Material PathInterpolator (Astratta) Creare percorsi TransformGroup PositionInterpolator Cambiare la posizione di un RotationInterpolator Cambiare l'orientamento di un oggetto ScaleInterpolator Cambiare le dimensioni di SwitchValueInterpolator Scegliere un oggetto tra una collezione Switch TransparencyInterpolator Cambiare la trasparenza di TransparencyAttributes

Demo

see file LeghissaAnimaCuboJava3D.avi

Bibliografia Programmazione.it – Introduzione a Java 3D http://programmazione.it/index.php?entity=eitem&idItem=37338 Getting Started with the Java 3D™ API http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch1.pdf Creating Geometry in Java 3D http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch2.pdf Easier Content Creation http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch3.pdf Interaction http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch4.pdf Animation http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch5.pdf Lezioni di Java 3D http://www.dmi.unict.it/~gdiblasi/didattica/cg/