Seminario per il corso Elementi di Grafica Digitale Dott. Federico ELIA A.A. 2008-2009.

Slides:



Advertisements
Presentazioni simili
Manerba Daniele – Università degli Studi di Brescia – a.a
Advertisements

Programmazione in Java
Linguaggi di programmazione
Microsoft PowerPoint: appunti di base OPERAZIONI DI BASE
AVVIARE IL COMPUTER WINDOWS ‘98 Queta fase è definita BOOTSTRAP
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Recupero debito quarto anno Primo incontro
Applet Java.
Power Point Lezione breve.
PHP.
CONOSCIAMO IL WINDOWS '95.
GLUT & OpenGL Ing. Tommaso Coviello Politecnico di Bari
STRUMENTI DI PRESENTAZIONE
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Applet Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Introduzione al linguaggio C++ 5 lezioni
OPEN OFFICE e IMPRESS Masucci Antonia Maria.
Grafica 2D in Java IGEA
Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali - a.a. 2009/10 Prof. Paolo Pasteris Tutor: Stefano Baldan Bouncing Balls Obiettivo:
Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali - a.a. 2009/10 Prof. Paolo Pasteris Tutor: Stefano Baldan PROGETTARE L'INTERAZIONE Interfacce.
Applicazioni progettuali di grafica computerizzata a.a. 2008/2009 Rendering grafico.
CAPITOLO 1 JAVA: UN TUFFO NEL LINGUAGGIO E NELL'AMBIENTE.
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Animazione di un cubo in Java 3D
Introduzione alla grafica digitale 2005,6,7,8,9,.. Matjaž Hmeljak.
Java 3D.
Esempi di Java 3D.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
Laboratorio di Informatica AA 2009/2010
Lezione 17 Esercitazione InDesign
Laboratorio di Informatica AA 2008/2009
Relatore: Laureando: Prof. Luca Zaccarian Roberto Antonelli
Gerarchie Nella lezione precedente abbiamo imparato creare una gerarchia di oggetti usando i gruppi (edit>group)
Programmazione ad oggetti per la simulazione numerica di strutture su grande scala dellUniverso di Daniele Giunchi Relatore: Prof. Antonio Messina.
Prof. Salvatore Riegler
VRML97 -Appendice- Cristina Donati 1 VRML97. Il Virtual Reality Modeling Language (VRML) è un formato di file volto alla descrizione degli oggetti interattivi.
Introduzione a PowerPoint
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
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 09.
Corso di tecniche della modellazione digitale computer 3D A.A. 2010/2011 docente Arch. Emilio Di Gristina 03.
Programmazione grafica 1
Strumenti di Presentazione (Microsoft PowerPoint 2000)
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Controllare le proiezioni
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Controllare la prospettiva
Architettura di OGL e pipe-line Daniele Marini Davide Gadia Davide Selmo Corso Di Programmazione Grafica aa2005/2006.
Sulla barra dei messaggi fare clic su Abilita modifica,
INTRODUZIONE A JAVASCRIPT
LEZIONE 2.
Introduzione. Introduzione Un’applet Java: Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet.
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
MODULO 01 Unità didattica 04
Introduzione a Windows (Seconda parte) Lezione 3 Riccardo Sama' Copyright 
Introduzione a Javascript
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Stampe ArcView lezione 5. Preparazione alla lezione Realizzare una mappa tematica: Aprire ea av ai Realizzare una mappa tematica come.
DIVERTIRSI CON SCRATCH
Flipped classroom e nuove metodologie didattiche Modulo 2 – Terza lezione Antonio Todaro “ Il Sito Web del docente ” prima parte.
XVRC2 Emanuele Ruffaldi Giugno Tre esperimenti con S3D ► Estensioni del Linguaggio ► Pre-Compilatore ► Esecuzione dentro il Java L C J.
1 SISTEMI INFORMATIVI TERRITORIALI LABORATORIO L’APPLICAZIONE AUTODESK MAP UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II CORSO DI LAUREA IN SCIENZE GEOLOGICHE.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
1 SISTEMI INFORMATIVI TERRITORIALI LABORATORIO ESERCIZI DEL GIORNO UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II CORSO DI LAUREA IN SCIENZE GEOLOGICHE.
Introduzione alle Classi e agli Oggetti in Java 1.
Progetto WELL-FIR Manuale Utente del Web GIS Versione 0.1.
1 SISTEMI INFORMATIVI TERRITORIALI LABORATORIO APPLICAZIONE di AUTODESK MAP 01 FOGLIO DI LAVORO – VETTORIALIZZAZIONE DI RASTER UNIVERSITA’ DEGLI STUDI.
Gestire la navigazione. Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità.
La LIM permette di: accedere a quantità infinite di informazioni visualizzare filmati o immagini interagire con testi ed esercizi (costruzione di testi.
Transcript della presentazione:

Seminario per il corso Elementi di Grafica Digitale Dott. Federico ELIA A.A

Set di API aggiuntive per JRE / JDK specifiche per la grafica 3D Circa 30 Package, alcuni già deprecated nella attuale versione Disponibilità per le principali piattaforme Wrapper per OpenGL / Direct3D Sintassi 100% Java Documentazione in formato HTML Tutorial online sul sito di Sun Microsystems

Potenzialità? Definizione di oggetti 2D, 3D in varie modalità Aggiunta di suoni alla scena Luci direzionali, ambientali, omnidirezionali, spot Gestione eventi tastiera/mouse/periodici Background, nebbia Rotazione, scala, rotazione Testurizzazione, materiale, trasparenza Visualizzazione: Canvas3D (Applet oppure finestra Swing/Awt)

Valori floating point ( float ) Unità di misura: metro

Struttura ad albero Nodo radice: VirtualUniverse Nodi gruppo: BranchGroup Nodi trasformazione: TransformGroup Nodi per la selezione fra due figli: Switch Foglie: Shape3D e derivati Ramificazione iniziale: Content Branch: Oggetti contenuti nella scena View Branch: Oggetti per la visualizzazione

Un nodo inserito nellalbero diventa vivo La scena può esser compilata per migliorare le prestazioni Di default se si tenta di modificare un nodo già attached allalbero, viene generata uneccezione RestrictedAccessException. È spesso necessario modificare laspetto od il comportamento dei nodi: alla creazione delloggetto occorre aggiungere le istruzioni che abilitino le operazioni sul nodo: nodo.setCapability(…);

Metodo più veloce: Disegnare su carta lalbero Nella codifica, si creano i nodi e si associano al parent partendo dalle foglie, risalendo lalbero fino alla radice Metodo più versatile (necessario per le modifiche successive della scena): Dal disegno su carta dellalbero si codificano i nodi Si aggiungono le necessarie istruzioni setCapability(…); per ogni nodo e si può costruire lalbero secondo il criterio più conveniente

Diagramma della scena:

ColorCube OrientedShape3D Text2D / Text3D Box / Cone / Cylinder / Sphere CompressedGeometry / GeometryArray Raster LineStripArray / LineArray / PointArray TriangleArray / QuadArray …

Appearance : Descrive completamente un oggetto shape ColoringAttributes : Definisce il colore ed il metodo di colorazione LineAttributes : Definisce spessore, pattern ed antialiasing per le linee PointAttributes : Definisce spessore ed uso di antialiasing per i punti PolygonAttributes : Definisce come disegnare le primitive dei poligoni (triangoli, quadrilateri…) Texture : Definisce limmagine da applicare ad una shape e la modalità …

A video viene mostrato solo il contenuto nel volume del Frustum, compreso fra il Front Clip Plane ed il Back Clip Plane Gli oggetti che intersecano i piani vengono tagliati

È possibile personalizzare la posizione dei piani agendo sul View Branch delluniverso: void View.setBackClipDistance(double); void View.setFrontClipDistance(double); double View.getBackClipDistance(); double View.getFrontClipDistance();

AmbientalLight : Luce omogenea nel suo bound in tutte le direzioni Interagisce con l AmbientColor del Material DirectionalLight : Sorgente di luce a raggi paralleli, senza attenuazione Interagisce con lo SpecularColor ed il DiffuseColor PointLight : Sorgente puntuale omnidirezionale (con attenuazione) Interagisce con lo SpecularColor ed il DiffuseColor SpotLight : Simile a PointLight, ma a faretto: fascio conico Interagisce con lo SpecularColor ed il DiffuseColor

Basate su Matrici di trasformazione 4x4 (double) Manipolabili con gli oggetti di tipo Transform3D È possibile combinare più trasformazioni insieme Un oggetto shape, per esser trasformato, deve esser figlio di un oggetto TransformGroup associato ad un Transform3D I TransformGroup possono esser figli di altri TransformGroup, in tal caso gli shape subiscono tutte le trasformazioni, a partire da quella superiore

Gli attributi di una forma cambiano nel tempo in base a: Interazione dellutente Tempo Animazioni controllate con oggetti Behavior, normalmente associati a TransformGroup Behavior caratterizzati da: inizializzazione stimolo (il verificarsi di un evento)

Behavior comuni per linterazione con lutente: KeyNavigationBehavior : Consente la navigazione utilizzando la tastiera MouseBehavior : Permette di traslare e ruotare PickMouseBehavior : Consente di selezionare col click del mouse loggetto su cui operare traslazione o rotazione OrbitBehavior : Rotazione, traslazione, zoom della scena con luso del mouse (click, drag&drop, scroll) …

Behavior comuni basati sul tempo ( Alpha ): ColorInterpolator : Modifica uno dei colori (Speculare, Emissione, Diffuso e/o Ambiente) di un Material SwitchValueInterpolator : Cambia la visualizzazione dei nodi figlio di un oggetto Switch PositionInterpolator / RotationInterpolator / ScaleInterpolator : Cambiano la posizione / angolo di rotazione / fattore di scala di un nodo TransparencyInterpolator : Varia la trasparenza del nodo target, interessandone i TransparencyAttributes dell Appearance

Oggetto di classe Alpha : Fornisce dei metodi per convertire un valore temporale in un valore Alpha, nel range [0,1] Parametri da configurare: numero di volte che si deve eseguire loperazione tempo in ms fra il tempo di partenza ed il primo trigger ulteriore tempo in ms prima della partenza modalità di funzionamento incremento e/o decremento periodo in ms durante il quale loggetto Alpha va da 0 a 1 (/da 1 a 0) accelerazione costante dellincremento / decremento il periodo in ms per il quale loggetto Alpha resta ad 1 (/0)

Java è un linguaggio (semi?)interpretato Java3D poggia su librerie grafiche native e vi accede attraverso chiamate a DLL Il funzionamento del Garbage Collector non è prevedibile Non è possibile utilizzare direttamente alcune funzioni native degli adattatori grafici (Bump Mapping, ad esempio), è richiesto limpiego di tempo CPU per sopperire a questa mancanza, a meno di usare ShaderProgram Non sempre le prestazioni sono accettabili…

Documentazione cristallina Sintassi di facile comprensione ed apprendimento API aperta all estensione delle classi Moltissime primitive grafiche Utilità per la manipolazione di immagini Facile costruzione delle scene Perfettamente integrata con le classi base di Java Multipurpose: usato in C.A.D., giochi, e- commerce, simulazione, cinema, biomedicina, … Forse ideale per lavvicinamento alla Computer Graphics

Sun Microsystems - Java 3D API Specification F. Milanese - Introduzione a Java 3D G. Di Blasi – Java3D