Introduzione a Java3D. Di Blasi Gianpiero - D.M.I. - Università di Catania

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione a Java3D. Di Blasi Gianpiero - D.M.I. - Università di Catania"

Transcript

1 Introduzione a Java3D Di Blasi Gianpiero - D.M.I. - Università di Catania

2 L'evoluzione Hardware Le schede 3D producono oggi grafica interattiva paragonabile agli effetti speciali cinematografici Java è diventato uno standard di sviluppo Java3D è il punto di congiunzione dei due mondi

3 Addentriamoci in Java3D Java3D è una API grafica 3D di alto livello Impiega lo Scene Graph Programming Model Il programmatore decide solo cosa disegnare Java3D deciderà come disegnare Include le caratteristiche tipiche delle più popolari API grafiche (DirectX, OpenGL)

4 Cosa si può fare con Java3D? (1) Java3D permette di creare mondi virtuali con: luci e texture comportamenti ed animazioni suoni Inoltre le applicazioni Java3D si adattano automaticamente al dispositivo di output: un semplice monitor occhialini 3D CAVE (sistemi immersivi multi-schermo)

5 Cosa si può fare con Java3D? (2) Java3D supporta un ampio range di applicazioni: sistemi CAD/CAM visualizzazione scientifica/biomedicale data visualization simulazioni 3D ecommerce desktop 3D videogame Vediamo qualche esempio concreto...

6 SDRC I-DEAS Viewer Webscope

7 VisAD spreadsheet

8 INT J/View3Dpro

9 ISS SMP Control Console x Canadarm2

10 Maestro

11 ASENZA Nokia Mobile Phone Xtivia Reality Server

12 Nearlife Virtual FishTank

13 Il CAVE alla University of Calgary

14 Looking Glass

15 Java3D - obiettivi di design Una collaborazione tra SUN, SGI, Intel e Apple I principali obiettivi di design sono stati: integrazione con Java (core, portabilità) alte prestazioni e scalabilità supporto delle principali caratteristiche 3D (luce, shading, texture, ecc.) forza industriale (non solo applet 3D o poco più)

16 Vediamo una demo Looking Glass

17 Lezione 1 Hello Java3D

18 Costruzione di uno scene graph Un universo virtuale Java3D è creato tramite uno scene graph

19 Simboli di uno scene graph VirtualUniverse Relazione padre-figlio Locale Reference Group Leaf NodeComponent Altri oggetti

20 Un esempio più completo

21 SimpleUniverse

22 Alcune classi (1) Node è una superclasse astratta delle classi Group e Leaf definisce importanti metodi comuni alle sue sottoclassi le sottoclassi di Node costruiscono uno scene graph Group è la superclasse usata per specificare posizioni ed orientamenti degli oggetti nell'universo virtuale le più comuni sottoclassi sono BranchGroup e TransformGroup nello scene graph, i simboli di Group sono indicati con BG per BranchGroup e TG per TransformGroup

23 Alcune classi (2) Leaf è la superclasse usata per specificare forme, aspetti, suoni e comportamenti non possono avere figli, ma possono avere reference ad oggetti NodeComponent NodeComponent è la superclasse usata per specificare geometrie, aspetto, texture e materiale di un nodo Shape3D non sono parte dello scene graph, ma sono collegati ad esso tramite reference può essere collegato a più di un nodo Shape3D

24 Un po' di terminologia (1) Prima di passare al codice bisogna spiegare due termini di Java3D: live e compiled inserendo un branch graph in un Locale lo si rende vivo, insieme a tutti i sui figli gli oggetti vivi possono essere renderizzati ed i loro parametri non possono essere più modificati per rendere un parametro modificabile anche quando l'oggetto è vivo, la corrispondente capability deve essere impostata modificabile prima che l'oggetto diventi vivo

25 Un po' di terminologia (2) Un BranchGroup può essere compilato La compilazione di un BranchGroup converte l'oggetto e tutti i suoi figli in una forma più efficiente per il rendering Conviene sempre compilare un BranchGroup subito prima di renderlo vivo e solo se deve essere inserito nel Locale

26 Un po' di terminologia (3)

27 Finalmente codice! Esempio HelloJava3D_c1

28 Lezione 2 Forme ed aspetto

29 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

30 La classe Shape3D Un nodo Shape3D definisce un oggetto visuale Non contiene informazioni su forma o aspetto di un oggetto Questo compito è delegato al componente Geometry ed al componente Appearance

31 Le classi di utility per le geometrie (1) Le classi di utility per creare box, coni, cilindri e sfere forniscono una grande flessibilità nella definizione di forme geometriche semplici e possono essere usate in molti casi pratici Tali classi non definiscono il colore o l'aspetto di un oggetto tali informazioni derivano dal nodo Appearance senza un riferimento ad un nodo Appearance l'oggetto potrebbe non essere visualizzato o essere visualizzato bianco

32 Le classi di utility per le geometrie (2) Esempio ConeYoyoApp_a2

33 La classe Geometry Geometry è una superclasse astratta per la gestione delle geometrie

34 La classe GeometryArray Le sottoclassi di Geometry posso essere usate per specificare punti, linee e poligoni pieni (triangoli e quadrilateri) Queste primitive vertex-based sono sottoclassi della classe GeometryArray Come dice il nome stesso la classe GeometryArray conserva i suoi dati in degli array

35 Le sottoclassi di GeometryArray La figura mostra alcuni sottoclassi di GeometryArray esempi delle Notare che nessuno dei vertici è condiviso: ogni linea o poligono è renderizzato indipendentemente da ogni altro

36 Le sottoclassi di GeometryStripArray (1) La figura mostra alcuni esempi delle sottoclassi di GeometryStripArray Notare il diverso riutilizzo dei vertici che ogni classe mette in atto

37 Le sottoclassi di GeometryStripArray (2) Esempio ConeYoyoApp_b1

38 Aspetto ed attributi (1) Per descrivere l'aspetto di un oggetto è necessario utilizzare un oggetto Appearance Appearance non contiene le informazioni sull'aspetto di uno Shape3D, piuttosto sa dove trovare tali informazioni Un oggetto Appearance può referenziarsi a molteplici oggetti sottoclassi di NodeComponent (detti attributi ), dove sono memorizzate le informazioni sull'aspetto dello Shape3D

39 Aspetto ed attributi (2)

40 Aspetto ed attributi (3) 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 impostare/recuperare il suo valore metodo per

41 La classe GeometryInfo (1) Creare mondi complessi un triangolo alla volta è terribilmente noioso Fortunatamente esistono una serie di metodo più facili per fare ciò La classe GeometryInfo è uno di questi metodi Invece di dover definire una geometria un triangolo alla volta la classe GeometryInfo permette di definire poligoni arbitrari Sarà lei (ed altre classi collaboratrici) ad occuparsi di convertire la geometria in triangoli

42 La classe GeometryInfo (2)

43 La classe GeometryInfo (3) La classe GeometryInfo fa uso di tre classi collaboratrici Triangulator: per la triangolazione dei poligoni Stripifier: per il raggruppamento dei triangoli in strip (migliora le performance) NormalGenerator: per la creazione delle superfici normali (per l'illuminazione)

44 La classe GeometryInfo (4) Esempio GeomInfoApp

45 Le classi Loader (1) Una classe Loader legge un modello da un file e ne crea la sua rappresentazione Java3D Il package com.sun.j3d.loaders fornisce gli strumenti per caricare contenuti 3D creati con altre applicazioni (3DStudio, Blender, ecc.) Poiché esistono moltissimi formati 3D (obj, vrml, 3ds, ecc.) e possono sempre esserne inventati di nuovi (per esempio X3D) Java3D mette a disposizione un'interfaccia generica per la creazione di caricatori di file

46 Le classi Loader (2) Esempio ObjLoad

47 Lezione 3 Interazione ed Animazione

48 Creare mondi vivi Per rendere un mondo Java3D più interessante ed utile bisogna aggiungere interazione ed animazione Si ha interazione quando il mondo cambia in risposta ad un'azione dell'utente Si ha animazione quando il mondo cambia senza un intervento diretto dell'utente (e solitamente corrisponde con il passare del tempo) In Java3D sia le animazioni sia le interazioni sono definite utilizzando la classe Behavior

49 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 possibilità sono limitate soltanto dalle capability degli oggetti stessi

50 Implementazione di un Behavior (1) Un Behavior personalizzato deve implementare i metodi initialize() e processstimulus() della classe astratta Behavior il metodo initialize() è invocato quando lo scene graph contenente il Behavior diventa vivo Esso è responsabile delle operazioni di inizializzazione del trigger degli eventi e dei valori iniziali del Behavior Il trigger è specificato come un WakeupCondition o una combinazione di WakeupCondition

51 Implementazione di un Behavior (2) Il metodo processstimulus() è invocato dal trigger quando si verifica la condizione specificata Poiché molteplici eventi posso essere inglobati in un singolo WakeupCondition, questo metodo si occupa anche della decodifica dell'evento processstimulus() è responsabile della risposta agli eventi ad esempio tutte le azioni da tastiera posso essere inglobate in un WakeupOnAWTEvent Solitamente questo metodo resetta anche il trigger

52 Le condizioni di wakeup (1) I Behavior vengono attivati non appena si verificano gli stimoli a cui devono rispondere Gli oggetti per definire gli stimoli sono le condizioni di wakeup definite nelle classi discendenti la classe WakeupCondition WakeupCondition è estesa da cinque classi: una è la classe WakeupCriterion le altre quattro permettono la composizione di condizioni di wakeup multiple

53 Le condizioni di wakeup (2)

54 Le condizioni di wakeup (3) Esempio SimpleBehaviorApp_a2

55 Le classi utility per la navigazione (1) Negli esempi finora esposti l'osservatore non aveva la possibilità di navigare Java3D permette ciò tramite delle classi di utility Il view branch graph di un universo virtuale contiene una view platform transform Se tale trasformazione cambia, l'effetto è quello di muovere e/o orientare l'osservatore Aggiungere la possibilità di navigare è semplice: basta aggiungere un Behavior che cambia la view platform transform in risposta agli eventi

56 Le classi utility per la navigazione (2)

57 Le classi utility per la navigazione (3) Esempio KeyNavigatorApp

58 Le classi utility per il mouse (1) Il package com.sun.j3d.utils.behaviors.mouse contiene i behavior per l'interazione con il mouse L'interazione tramite mouse prevede: traslazione (movimento su un piano parallelo all'image plate) zooming (movimento in avanti ed indietro) rotazione

59 Le classi utility per il mouse (2) Esempio MouseBehaviorApp

60 Le classi utility per il picking (1) Esistono due modi per usare il picking in Java3D: usare le classi utility creare una classe di picking personalizzata Il package del picking include le classi utility: PickRotateBehavior PickTranslateBehavior PickZoomBehavior Ogni classe usa un bottone del mouse diverso così da renderne possibile l'uso simultaneo

61 Le classi utility per il picking (2) Esempio MousePickApp_a1

62 Le animazioni in Java3D (1) Come l'interazione anche l'animazione in Java3D è implementata tramite i Behavior Teoricamente è possibile creare qualsiasi animazione personalizzata usando i Behavior, in ogni caso Java3D fornisce una serie di classi di utility dette interpolatori per le animazioni più comuni Ovviamente queste classi sono basate sui Behavior

63 Le animazioni in Java3D (2) Gli interpolatori sono classi per le animazioni: un oggetto Interpolator manipola alcuni parametri di uno scene graph per creare animazioni basate sul tempo Un altro insieme di animazioni servono ad animare gli oggetti visuali in risposta ai cambiamenti del punto di osservazione Questo insieme include le classi OrientedShape3D e LOD (Level of Detail) Billboard, La classe Morph si occupa invece di animare le geometrie

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

65 La classe Alpha (1) 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 disegnando il valore di alpha nel tempo si può vedere il fronte d'onda che l'oggetto Alpha produce

66 La classe Alpha (2)

67 Le classi Interpolator (1)

68 Le classi Interpolator (2) Esempio ClockApp_a2

69 Lezione 4 Luci e texture

70 Le luci in Java3D (1) Molti degli esempi finora proposti davano la sensazione di finto Tale sensazione dall'assenza di luci è principalmente data è arrivato il momento di illuminare il nostro mondo Java3D illumina gli oggetti in base ad una combinazione delle proprietà degli oggetti Material e delle luci nell'universo virtuale

71 Le luci in Java3D (2) Esempio SimpleLightApp_b1

72 Le classi Light L'API Java3D fornisce quattro classi per le luci, ogni classe deriva dalla classe astratta Light La classe Light fornisce i metodi e le capability per manipolare lo stato, il colore ed i Bound di una luce Lo stato di una luce è un booleano che accende e spegne la luce stessa

73 La classe AmbientLight Una AmbientLight fornisce una luce della stessa intensità in tutte le posizioni ed in tutte le direzioni (limitatamente al suo Bound) Una AmbientLight modella la luce riflessa dagli altri oggetti se guardiamo sotto un tavolo vedremo la sua superficie inferiore anche se nessuna luce la illumina direttamente (a meno di avere una lampada sotto il tavolo) Una AmbientLight interagisce con il colore ambientale di un oggetto

74 La classe DirectionalLight Una DirectionalLight approssima sorgenti di luce molto distanti (ad esempio il sole) diversamente dalla AmbientLight, una DirectionalLight illumina solo in una direzione Poiché tutti i vettori di luce di una DirectionalLight sono paralleli, la luce non si attenua mai (la luce solare non si attenua) In altre parole, l'intensità di una DirectionalLight non varia al variare della distanza tra oggetto e DirectionalLight

75 La classe PointLight La PointLight è l'opposto della DirectionalLight Essa è una sorgente di luce puntuale che si diffonde in tutte le direzioni e la cui intensità diminuisce con la distanza (ad esempio una lampada) L'attenuazione di una PointLight è modellata da un'equazione quadratica concettualmente simile a quella della forza di gravità

76 La classe SpotLight (1) Una SpotLight è una sottoclasse di PointLight aggiunge il concetto di direzione e concentrazione ad una PointLight modella sorgenti di luce fatte dall'uomo come luci flash e riflettori emana una luce lungo una direzione ed all'interno di un angolo di visuale; all'interno di questo angolo l'intensità della luce varia in funzione dell'angolo e dalla distanza dal vertice

77 La classe SpotLight (2)

78 La classe Material Le proprietà materiali di un oggetto possono essere impostate tramite l'attributo Material l'oggetto Material specifica i colori (ambientale, diffuso, speculare ed emissivo) e la lucentezza di un oggetto I primi tre colori sono usati nel modello di illuminazione per calcolare le riflessioni Il colore emissivo permette ad un oggetto di emettere luce propria La lucentezza serve per le riflessioni speculari

79 Impostare i colori di un oggetto (1) Ci sono tre modi per impostare i colori di un oggetto: tramite il metodo setcolor() di Geometry tramite il ColoringAttributes tramite il Material Java3D permette di creare oggetti usando nessuno, alcuni o tutti e tre i modi appena visti

80 Impostare i colori di un oggetto (2) Colore di Geometry presente No Si No Si Colore di Geometry presente No Si No Si Illuminazione abilitata Colore di ColoringAttributes Risultato presente No Colore di Material No Colore di Geometry Si Colore di Material Si Colore di Geometry Illuminazione disabilitata Colore di ColoringAttributes Risultato presente No Bianco No Colore di Geometry Si Colore di ColoringAttributes Si Colore di Geometry

81 Le normali alle superfici Per illuminare un oggetto è necessario che esso stesso abbia definito le sue normali alle superfici quando si creano oggetti usando le Geometry bisogna usare uno dei metodi setnormal() per specificare le normali alle superfici Utilizzando un oggetto GeometryInfo è possibile utilizzare la classe NormalGenerator per ottenere in automatico le normali le primitive geometriche generano in automatico le normali (se specificato nel costruttore)

82 Texturing concetti base (1) In Java3D il texturing di poligoni è ottenuto: creando un Appearance caricando una texture specificando le posizione della texture sulla geometria impostando gli attributi di texturing A causa dell'estrema flessibilità del modello di texturing di Java3D, il numero di opzioni che l'api mette a disposizione potrebbe a prima vista confondere le idee In realtà il texturing non è particolarmente complesso

83 Texturing concetti base (2) Esempio SimpleTextureApp_a2

84 Generazione automatica delle coordinate (1) Assegnare le coordinate delle texture per ogni vertice della geometria è un passo necessario e complicato Le coordinate delle texture sono spesso calcolate con codice specifico per ogni oggetto Sarebbe meglio avere un sistema automatico: questo è proprio quello che tenta di fare la classe TexCoordGeneration

85 Generazione automatica delle coordinate (2) Per generare automaticamente le coordinate delle texture bisogna specificare alcuni parametri in un oggetto TexCoordGeneration Le coordinate delle texture sono calcolate a runtime in base ai parametri specificati I parametri da specificare sono: formato delle texture (2D o 3D), modalità di generazione (lineare o sferica)

86 Generazione automatica delle coordinate (3) Esempio TexCoordGenApp

87 Cosa non abbiamo Fatto? Approfondimenti sui vari argomenti esposti Collisioni Dispositivi di input Viste multiple Suono E tanto altro ancora...

88 Riferimenti vari Documentazione Java3D Tutorial Java3D

89 Libri A.E. Walsh, D. Gehringer Java3D API Jump-Start Prentice Hall PTR D. Selman Java3D Programming Manning Publications Company H. Sowizral, K. Rushforth, M. Deering The Java 3D API Specification Addison-Wesley Professional K. Brown, D. Petersen Ready-to-Run Java 3D, with plug-and-play code John Wiley & Sons Inc J. Barrilleaux 3D User Interfaces with Java 3D Manning Publications Company

90 Introduzione a Java3D Di Blasi Gianpiero - D.M.I. - Università di Catania

Java3D. Lezione 0. Introduzione. Di Blasi Gianpiero - D.M.I. - Università di Catania

Java3D. Lezione 0. Introduzione. Di Blasi Gianpiero - D.M.I. - Università di Catania Java3D Lezione 0 Introduzione Di Blasi Gianpiero - D.M.I. - Università di Catania L'evoluzione Hardware Le schede 3D producono oggi grafica interattiva paragonabile agli effetti speciali cinematografici

Dettagli

Java3D. Lezione 0. Introduzione. Di Blasi Gianpiero - D.M.I. - Università di Catania

Java3D. Lezione 0. Introduzione. Di Blasi Gianpiero - D.M.I. - Università di Catania Java3D Lezione 0 Introduzione Di Blasi Gianpiero - D.M.I. - Università di Catania L'evoluzione Hardware Le schede 3D producono oggi grafica interattiva paragonabile agli effetti speciali cinematografici

Dettagli

Java 3D. Creazione di immagini Visualizzazione ed animazione Applicazioni di grafica interattiva 3D. Introduction to Java3D 1

Java 3D. Creazione di immagini Visualizzazione ed animazione Applicazioni di grafica interattiva 3D. Introduction to Java3D 1 Java 3D Java 3D è una estensione standard di Java 2 jdk (development kit) E costituita da una gerarchia di classi utili nella creazione di universi virtuali Fornisce classi per Creazione di immagini Visualizzazione

Dettagli

Milanese Francesco www.redbaron85.com Java 3D Guida di base. Java 3D. Guida di base

Milanese Francesco www.redbaron85.com Java 3D Guida di base. Java 3D. Guida di base Java 3D Guida di base Francesco RedBaron85 Milanese www.redbaron85.com 2010 1 Java 3D è un ricco set di API di programmazione di livello medio-alto che consente di creare facilmente applicazioni con grafica

Dettagli

OpenSceneGraph & OSG4Web

OpenSceneGraph & OSG4Web OpenSceneGraph & OSG4Web Parte 1 OpenSceneGraph Introduzione alla creazione di una Applicazione 3D e OpenGL Basi di OpenSceneGraph Demo e prove pratiche Parte 2 Navigazione e Virtual Worlds su larga scala

Dettagli

Lezione 3: Grafica 3D*

Lezione 3: Grafica 3D* Lezione 3: Grafica 3D* Informatica Multimediale Docente: Umberto Castellani *I lucidi sono tratti da una lezione di Maura Melotti (m.melotti@cineca.it) Sommario Il processo grafico La modellazione 3D Rendering

Dettagli

ScuolaSI computer grafica 3d

ScuolaSI computer grafica 3d ScuolaSI computer grafica 3d pagina stampata dal sito ScuolaSI http://www.scuolasi.it pubblicato il 22/04/2011 Grafica - La computer grafica 3D è un ramo della computer grafica che basa la creazione di

Dettagli

Realtà Virtuali Prof. Raffaella Folgieri, aa 2013/2014. Realizzare la VR: i software

Realtà Virtuali Prof. Raffaella Folgieri, aa 2013/2014. Realizzare la VR: i software Realtà Virtuali Prof. Raffaella Folgieri, aa 2013/2014 Realizzare la VR: i software Piattaforme per la VR: VRML Il più diffuso: VRML (Virtual Reality Modeling Language) Rappresentazioni 3D interattive

Dettagli

Programmazione J2ME. Lezione 10. Mobile3D (incompleta) Di Blasi Gianpiero - D.M.I. - Università di Catania

Programmazione J2ME. Lezione 10. Mobile3D (incompleta) Di Blasi Gianpiero - D.M.I. - Università di Catania Di Blasi Gianpiero - D.M.I. - Università di Catania Programmazione J2ME Lezione 10 Mobile3D (incompleta) Cosa impareremo oggi? L'API Mobile3D Come scoprire la presenza dell'api Mobile3D Caratteristiche

Dettagli

Grafica 3D Interattiva

Grafica 3D Interattiva Informatica Grafica ][ Marco Gribaudo marcog@di.unito.it Grafica 3D Interattiva sono una libreria di funzioni a basso livello per facilitare la scrittura di videogiochi e di applicazioni multimediali.

Dettagli

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano Lezione1 Informatica Grafica Cos è la computer grafica Lezione del 10 Marzo 2010 Grafica OpenGL vs Direct Dipartimento di Ingegneria Meccanica Politecnico di Milano 1.1 Tubo a Raggi Catodici Cathode Ray

Dettagli

Informatica Grafica. Prof. Massimiliano Dellisanti Fabiano Vilardi. (2a parte) a.a. 2011/2012

Informatica Grafica. Prof. Massimiliano Dellisanti Fabiano Vilardi. (2a parte) a.a. 2011/2012 Informatica Grafica (2a parte) a.a. 2011/2012 Prof. Massimiliano Dellisanti Fabiano Vilardi 1 Grafica 3D Con Grafica 3D si indicano quelle tecniche informatiche finalizzate alla descrizione (e rappresentazione

Dettagli

GeoGebra vers.5 - vista Grafici 3D

GeoGebra vers.5 - vista Grafici 3D GeoGebra vers.5 - vista Grafici 3D Marzo 2015 (manuale on-line, con aggiunte a cura di L. Tomasi) Questo articolo si riferisce a un componente della interfaccia utente di GeoGebra. Viste Menu Vista Algebra

Dettagli

AMBIENTE VIRTUALE UTENTE

AMBIENTE VIRTUALE UTENTE Moduli logici di un Ambiente Virtuale Sintesi Campionamento Comportamenti Proprietà AMBIENTE VIRTUALE Management Rendering Interazione UTENTE È il processo che porta alla descrizione di un oggetto (modello),

Dettagli

Information Visualization

Information Visualization Information Visualization Introduzione alla CG Prof. Andrea F. Abate abate@unisa.it http://www.unisa.it/docenti/andreafrancescoabate/index CG e VR: cosa sono e a cosa servono Con il termine Computer Graphics,

Dettagli

AMBIENTE VIRTUALE. Moduli logici di un Ambiente Virtuale. Modellazione. Management Rendering Interazione. Sintesi. Comportamenti.

AMBIENTE VIRTUALE. Moduli logici di un Ambiente Virtuale. Modellazione. Management Rendering Interazione. Sintesi. Comportamenti. Moduli logici di un Ambiente Virtuale Sintesi Campionamento Comportamenti Proprietà AMBIENTE VIRTUALE Management Rendering Interazione UTENTE È il processo che porta alla descrizione di un oggetto (modello),

Dettagli

Introduzione alla Computer Graphics

Introduzione alla Computer Graphics Introduzione alla Computer Graphics Informatica Grafica CdLS a ciclo unico in Ingegneria Edile-Architettura a.a. 2008/09 Computer Graphics e Image Processing Image processing Insieme di teorie ed algoritmi

Dettagli

BLENDER. LEZIONI DI LABORATORIO Lezione 1

BLENDER. LEZIONI DI LABORATORIO Lezione 1 BLENDER LEZIONI DI LABORATORIO Lezione 1 Sito ufficiale: www.blender.org BLENDER Sito ufficiale italiano: www.blender.it Wiki: http://wiki.blender.org/ Quick start: http://wiki.blender.org/index.php/file:quickstart_guide.png

Dettagli

Modulo 3. Rappresentazione di solidi mediante forntiera e strutture dati collegate.

Modulo 3. Rappresentazione di solidi mediante forntiera e strutture dati collegate. Modulo 3. Rappresentazione di solidi mediante forntiera e strutture dati collegate. Nel precedente modulo abbiamo presentato le modalità di rappresentazione di un solido mediante enumerazione o mediante

Dettagli

Applicazioni 3D avanzate

Applicazioni 3D avanzate Azienda Ospedaliera Card. G. Panico Applicazioni 3D avanzate VR e segmentazione delle articolazioni: campi applicativi Indice Applicazioni 3D avanzate Articolazioni e grandi macchine 1. Definizioni 2.

Dettagli

Visualizzazione e Controllo Remoto di Agenti in Ambienti Virtuali Tramite la Libreria OpenSceneGraph

Visualizzazione e Controllo Remoto di Agenti in Ambienti Virtuali Tramite la Libreria OpenSceneGraph ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA SEDE DI CESENA FACOLTÀ DI SCIENZE MATEMATICHE, FISCHE E NATURALI CORSO DI LAUREA IN SCIENZE DELL INFORMAZIONE Visualizzazione e Controllo Remoto di Agenti in

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Visualizzazione in ambienti di Realtà Virtuale di scenari fotorealistici basati su dati e calcoli illuminotecnici. Applicazione agli Esterni Urbani

Visualizzazione in ambienti di Realtà Virtuale di scenari fotorealistici basati su dati e calcoli illuminotecnici. Applicazione agli Esterni Urbani Agenzia Nazionale per le Nuove Tecnologie l Energia e lo Sviluppo Economico Sostenibile RICERCA DI SISTEMA ELETTRICO Visualizzazione in ambienti di Realtà Virtuale di scenari fotorealistici basati su dati

Dettagli

Grafica vettoriale. applicazioni di tipo fotografico

Grafica vettoriale. applicazioni di tipo fotografico Grafica vettoriale Come abbiamo visto in un certo dettaglio, la grafica raster si basa sull'idea di definire certe proprietà (colore, trasparenza, ecc.) di ogni pixel applicazioni di tipo fotografico Al

Dettagli

Lezione 19: Grafica in tempo reale. I problemi del Real Time. I problemi del Real Time. I problemi del Real Time. I problemi del Real Time

Lezione 19: Grafica in tempo reale. I problemi del Real Time. I problemi del Real Time. I problemi del Real Time. I problemi del Real Time I problemi del Real Time Lezione 19: Grafica in tempo reale Come visto nelle precedenti lezioni, i calcoli necessari a generare immagini 3D sono numerosi e complessi. I programmi di grafica 3D impiegano

Dettagli

SVILUPPO CLIENT 3D OPENGL IN JAVA

SVILUPPO CLIENT 3D OPENGL IN JAVA Relazione di Tirocinio anno accademico 2007/2008 SVILUPPO CLIENT 3D OPENGL IN JAVA Candidato: Michele Zangari Tutore Aziendale: Ing. Andrea Lagomarsini Tutore Accademico: Prof. Giuseppe Attardi Indice

Dettagli

Grafica 3D su device Mobili

Grafica 3D su device Mobili Grafica 3D su device Mobili Capitolato d'appalto Data: 27 novembre 2012 Azienda certificata UNI EN ISO 9001:2008 M E N T I S S. r. l. È v i e t a t a q u a l s i a s i r i p r o d u z i o n e, a n c h

Dettagli

SOMMARIO. Introduzione - OpenInventor. Introduzione - OpenInventor. OpenInventor

SOMMARIO. Introduzione - OpenInventor. Introduzione - OpenInventor. OpenInventor OpenInventor SOMMARIO (riferimento: J. Wernecke, The Inventor Mentor Ed.: Addison-Wesley) Scene database e i scene graph Nodi Coin3D (riferimento: www.coin3d.org) Esempi Introduzione - OpenInventor OpenInventor

Dettagli

Grafica vettoriale. Al contrario la grafica vettoriale si basa sull'idea di dare una descrizione geometrica dell'immagine

Grafica vettoriale. Al contrario la grafica vettoriale si basa sull'idea di dare una descrizione geometrica dell'immagine Grafica vettoriale Come abbiamo visto in un certo dettaglio, la grafica raster si basa sull'idea di definire certe proprietà (colore, trasparenza, ecc.) di ogni pixel applicazioni di tipo fotografico Al

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Informazioni generali Docente: Samuel Rota Bulò @email: srotabul@dais.unive.it Homepage: http://www.dais.unive.it/~srotabul/ ooprogramming2012.html

Dettagli

Fondamenti di Grafica Tridimensionale

Fondamenti di Grafica Tridimensionale Fondamenti di Grafica Tridimensionale La Pipeline Grafica Marco Di Benedetto marco.dibenedetto@isti.cnr.it Visualizzazione dell Informazione noi siamo qui Informazione mondo reale (es: 3D scans) creazione

Dettagli

OpenGL: Principi base di rendering di Federico NinjaCross Coletto

OpenGL: Principi base di rendering di Federico NinjaCross Coletto OpenGL: Principi base di rendering di Federico NinjaCross Coletto Dopo una panoramica iniziale sulle potenzialità che OpenGL offre, la nostra esplorazione prosegue con un primo approccio alle strutture

Dettagli

Esercitazione 1 primi passi e uso dei file

Esercitazione 1 primi passi e uso dei file primi passi e uso dei file 1 Sistemi operativi per PC I sistemi operativi per personal computer più diffusi sono: Windows (Microsoft) Linux (freeware) MacOS (Apple) Il laboratorio verterà su Windows 2

Dettagli

Premessa. GUI: organizzazione generale

Premessa. GUI: organizzazione generale Premessa Luxology Modo è un software di grafica 3D di ultima generazione. Non è un software con una vocazione specifica, ma piuttosto un sistema estremamente flessibile che comprende modellazione solida

Dettagli

Laboratorio di IUM. Lezione 8. L'AWT che serve. Di Blasi Gianpiero - D.M.I. - Università di Catania

Laboratorio di IUM. Lezione 8. L'AWT che serve. Di Blasi Gianpiero - D.M.I. - Università di Catania Di Blasi Gianpiero - D.M.I. - Università di Catania Laboratorio di IUM Lezione 8 L'AWT che serve Cosa impareremo oggi? L'API per la stampa La clipboard di sistema Il Drag'n'Drop L'API per la stampa (1)

Dettagli

REVERSE ENGINEERING. Reverse Engineering 22/12/2008. paolo.magni@kaemart.it 1. Contenuto della lezione. Reverse Engineering

REVERSE ENGINEERING. Reverse Engineering 22/12/2008. paolo.magni@kaemart.it 1. Contenuto della lezione. Reverse Engineering Corso di Laboratorio Progettuale di Disegno Assistito da Calcolatore Knowledge Aided Engineering Manufacturing and Related Technologies REVERSE ENGINEERING Contenuto della lezione Metodologia Tecnologie

Dettagli

Dal punto di vista concettuale c è poca differenza rispetto al Web

Dal punto di vista concettuale c è poca differenza rispetto al Web Aspetti avanzati dell interazione multimediale 1 Non solo on-line Contenitori multimediali off-line (CD (CD-ROM/DVD) Dal punto di vista concettuale c è poca differenza rispetto al Web si ottengono strumenti

Dettagli

D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche

D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche Il Cloud Computing La visualizzazione nella Cloud Problematiche Virtualizzazione della GPU Front end Virtualization

Dettagli

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Funzioni e strategie di progettazione: dai kernel monolitici

Dettagli

STUDIO DEL MOTORE GRAFICO OGRE 3D PER L'INTEGRAZIONE DI UNO SHADER DI GESTIONE DELL'ILLUMINAZIONE

STUDIO DEL MOTORE GRAFICO OGRE 3D PER L'INTEGRAZIONE DI UNO SHADER DI GESTIONE DELL'ILLUMINAZIONE UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI: Scienze Matematiche, Fisiche e Naturali CORSO DI LAUREA IN: Comunicazione Digitale STUDIO DEL MOTORE GRAFICO OGRE 3D PER L'INTEGRAZIONE DI UNO SHADER DI GESTIONE

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

Introduzione a API e game engine per la programmazione grafica

Introduzione a API e game engine per la programmazione grafica Introduzione a API e game engine per la programmazione grafica OpenGL e WebGL Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a.

Dettagli

Facoltà di Ingegneria

Facoltà di Ingegneria Università degli studi di Roma Tor Vergata Facoltà di Ingegneria Laurea in Ingegneria Informatica Creazione e animazione interattiva di grafica tridimensionale Relatore Ing. Francesco Martinelli Candidato

Dettagli

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM Davide Barbieri Contatti skype: davbar86 mail: davide.barbieri@ghostshark.it Panoramica corso Introduzione al mondo delle GPU Modello GPGPU Nvidia

Dettagli

Fondamenti di Computer Graphics

Fondamenti di Computer Graphics Fondamenti di Computer Graphics Andrea Giachetti Department of Computer Science, University of Verona, Italy andrea.giachetti@univr.it 1 Il corso Simile al corso tenuto nella laurea triennale, solo teoria,

Dettagli

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata

Dettagli

Guida all'utilizzo di "Ambiente Italia 3D"

Guida all'utilizzo di Ambiente Italia 3D Guida all'utilizzo di "Ambiente Italia 3D" MATTM-SCC-DM0006-V01-01 Pagina 1 di 34 Sommario 1 Avvio del programma Ambiente Italia 3D 3 2 Elementi dell'interfaccia 5 2.1 Il visualizzatore 5 2.2 La barra

Dettagli

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java

Dettagli

Programmazione AA 2012 2013

Programmazione AA 2012 2013 Programmazione ad Oggetti AA 2012 2013 Contenuti del corso Modulo A Tecniche di programmazione Docente: Prof. Michele Bugliesi Modulo B Tecniche di progetto Docente: Prof. Alessandro Roncato Contenuti

Dettagli

I file raster gestione e stampa

I file raster gestione e stampa Alla fine del capitolo saremo in grado di: Conoscere il significato dei file di raster Saper distinguere il file raster da quello vettoriale. Saper gestire i file Raster Saper vettorializzare manualmente

Dettagli

Pipeline di rendering. Pipeline di rendering. Outline. Grafica off-line vs Grafica real-time

Pipeline di rendering. Pipeline di rendering. Outline. Grafica off-line vs Grafica real-time Pipeline di rendering Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Outline Grafica off-line vs Grafica real-time

Dettagli

A cura dell insegnante Elena Serventi Funzione strumentale TIC (Tecnologie dell Informazione e della Comunicazione) del circolo didattico di Pavone

A cura dell insegnante Elena Serventi Funzione strumentale TIC (Tecnologie dell Informazione e della Comunicazione) del circolo didattico di Pavone A cura dell insegnante Elena Serventi Funzione strumentale TIC (Tecnologie dell Informazione e della Comunicazione) del circolo didattico di Pavone Canavese Febbraio 2011 Cos'è una LIM? LIM è l'acronimo

Dettagli

Grafica Real-Time, Hardware Grafico e Linguaggi di Shading. Alessandro Martinelli

Grafica Real-Time, Hardware Grafico e Linguaggi di Shading. Alessandro Martinelli Grafica Real-Time, Hardware Grafico e Linguaggi di Shading Alessandro Martinelli Grafica Real Time Il concetto di 'Real Time' in ambito grafico ha una valenza molto particolare: Fino agli anni '80, solo

Dettagli

Sommario Indietro >> Aggiungi Rimuovi Lingua? Informazioni su questa Guida... Navigazione nella Guida

Sommario Indietro >> Aggiungi Rimuovi Lingua? Informazioni su questa Guida... Navigazione nella Guida Sommario Indietro >> Informazioni su questa Guida... Navigazione nella Guida Personalizzazione Apertura del pannello di controllo Funzioni del pannello di controllo Schede Elenchi del pannello di controllo

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Open Source 3D Engine. OpenGL Rendering System. Il Framework

Open Source 3D Engine. OpenGL Rendering System. Il Framework Open Source 3D Engine OpenGL Rendering System Il Framework I moderni mezzi di programmazione, consentono a noi sviluppatori di utilizzare librerie avanzate e testate che si prestano eccellentemente allo

Dettagli

Un rapidissimo test di funzionamento (Java 6 + Java3D 1.5).

Un rapidissimo test di funzionamento (Java 6 + Java3D 1.5). Java3D Quick start. Un rapidissimo test di funzionamento (Java 6 + Java3D 1.5). Scaricate dal sito di java3d lo zip. Create una cartella a piacere per il tutorial. In quella cartella copiate i file j3dcore-d3d.dll

Dettagli

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico Impossibile visualizzare l'immagine. Struttura di un sistema operativo Struttura dei Sistemi Operativi Servizi di un sistema operativo Interfaccia Utente Capitolo 2 -- Silberschatz Chiamate di sistema

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

UNIVERSITÀ DEGLI STUDI DI SIENA

UNIVERSITÀ DEGLI STUDI DI SIENA UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Informatica, orientamento Robotica ed Automazione Tesi di Laurea Interazione Visuo-Aptica con Oggetti Deformabili

Dettagli

NOMENCLATURA INTERFACCIA DI INTERNET EXPLORER PRINCIPALI PULSANTI DELLA BARRA DEGLI STREUMENTI

NOMENCLATURA INTERFACCIA DI INTERNET EXPLORER PRINCIPALI PULSANTI DELLA BARRA DEGLI STREUMENTI NOMENCLATURA INTERFACCIA DI INTERNET EXPLORER Pagina 6 PRINCIPALI PULSANTI DELLA BARRA DEGLI STREUMENTI Richiama la pagina visualizzata in precedenza Richiama la pagina visualizzata dopo quella attualmente

Dettagli

Una caffettiera napoletana. Tutorial2. Materiale di proprietà di 4m group www.4mgroup.it Tutti i diritti riservati.

Una caffettiera napoletana. Tutorial2. Materiale di proprietà di 4m group www.4mgroup.it Tutti i diritti riservati. Una caffettiera napoletana Tutorial2 Esercitazione guidata Una caffettiera napoletana Dopo tante teiere, concedetevi, finalmente, il piacere di un buon caffè napoletano! Preparate tutto l occorrente: aprite

Dettagli

CORSO DI 3DS MAX+VRAY

CORSO DI 3DS MAX+VRAY @.com..com IL SOFTWARE Realizzato da Autodesk, 3d Studio Max è un programma di grafica vettoriale tridimensionale e animazione particolarmente indicato a quanti vogliano, in maniera assolutamente professionale,

Dettagli

02 L Informatica oggi. Dott.ssa Ramona Congiu

02 L Informatica oggi. Dott.ssa Ramona Congiu 02 L Informatica oggi Dott.ssa Ramona Congiu 1 Introduzione all Informatica Dott.ssa Ramona Congiu 2 Che cos è l Informatica? Con il termine Informatica si indica l insieme dei processi e delle tecnologie

Dettagli

ANALISI E SVILUPPO DI SHADER GRAFICI IN LINGUAGGIO GLSL ANALYSIS AND DEVELOPMENT OF GRAPHICS SHADERS USING GLSL

ANALISI E SVILUPPO DI SHADER GRAFICI IN LINGUAGGIO GLSL ANALYSIS AND DEVELOPMENT OF GRAPHICS SHADERS USING GLSL UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica ANALISI E SVILUPPO DI SHADER GRAFICI IN LINGUAGGIO GLSL ANALYSIS AND DEVELOPMENT OF GRAPHICS SHADERS USING

Dettagli

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio L altra strada per il BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 Il BPM Il BPM (Business Process Management) non è solo una tecnologia, ma più a grandi linee una disciplina

Dettagli

Simulazione traffico urbano

Simulazione traffico urbano Simulazione traffico urbano Si richiede di simulare il movimento del traffico in un ipotetico tratto di strada che viene percorso da delle automobili e che dei pedoni devono attraversare. La situazione

Dettagli

Corso Android Corso Online Programmatore Android

Corso Android Corso Online Programmatore Android Corso Android Corso Online Programmatore Android Accademia Domani Via Pietro Blaserna, 101-00146 ROMA (RM) info@accademiadomani.it Programma Generale del Corso Modulo Uno - Programmazione J2ee 1) Programmazione

Dettagli

Strutture dei sistemi operativi

Strutture dei sistemi operativi Contenuti della lezione di oggi Strutture dei sistemi operativi Descrizione dei servizi messi a disposizione dell utente dal SO Utente generico Programmatore Esame delle possibili strutture di un SO Monolitica

Dettagli

Lezione 6. Manipolare la Realtà: il video mapping

Lezione 6. Manipolare la Realtà: il video mapping Lezione 6 Manipolare la Realtà: il video mapping Introduzione Una forma d arte che ha sposato la tecnologia è rappresentata dalle istallazioni (o performance): un mix di media vengono utilizzati da un

Dettagli

P a s q u a l e t t i V e r o n i c a

P a s q u a l e t t i V e r o n i c a PHP: OOP Pasqualetti Veronica Oggetti Possiamo pensare ad un oggetto come ad un tipo di dato più complesso e personalizzato, non esistente fra i tipi tradizionali di PHP, ma creato da noi. 2 Gli oggetti

Dettagli

PROGETTO FINALE CORSO DI REALTA VIRTUALE

PROGETTO FINALE CORSO DI REALTA VIRTUALE PROGETTO FINALE CORSO DI REALTA VIRTUALE SIMULAZIONE DI UNO SPETTROMETRO DI MASSA IN AMBIENTE GRAFICO 3D AUTORI: FRANCESCO PIZZO DAVIDE FUSCO DOCENTE: FRANCESCO CORATO INTRODUZIONE Il seguente progetto

Dettagli

Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II

Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II PROF. G. BONGIOVANNI 0) INTRODUZIONE AL LINGUAGGIO JAVA PER PROGRAMMATORI C++...2 0.1) Caratteristiche principali... 2 0.1.1)

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Il meccanismo dell ereditarietà a.a. 2008/2009 Claudio De Stefano 1 L ereditarietà consente di definire nuove classi per specializzazione o estensione di classi preesistenti,

Dettagli

Progettazione ad oggetti

Progettazione ad oggetti Progettazione ad oggetti Gli elementi reali vengono modellati tramite degli oggetti Le reazioni esistenti nel modello reale vengono trasformate in relazioni tra gli oggetti Cos'è un oggetto? Entità dotata

Dettagli

3DE Modeling Professional

3DE Modeling Professional 3DE Modeling Professional 3DE Modeling Professional è la parte di 3DE Modeling Suite che si occupa della modellazione 3D automatica di oggetti ed edifici a partire da nuvole di punti ottenute con scanner

Dettagli

Isa Venturi a.s.2008/2009 doc.macchi LEZ.1

Isa Venturi a.s.2008/2009 doc.macchi LEZ.1 ELEMENTI FONDAMENTALI DEL DISEGNO Come sicuramente saprete il software Flash è stato sviluppato originariamente non dalla Adobe ma dalla Macromedia che solo successivamente è stata acquistata dalla Adobe.

Dettagli

InstantRender Versione 12 MANUALE OPERATIVO

InstantRender Versione 12 MANUALE OPERATIVO InstantRender Versione 12 MANUALE OPERATIVO A cura di ARCPLUS ITALIA - Horae srl, via C.Colombo 19 p/6 Perugia www.arcplus.it info@arcplus.it Stampato a Settembre 2010 Capitolo 1 Introduzione 1. 2. 3.

Dettagli

Rendering & ray tracing. Implementazione e applicazione pratica

Rendering & ray tracing. Implementazione e applicazione pratica Rendering & ray tracing Implementazione e applicazione pratica Che cos e CG(computer graphics)? Quando si parla di CG si intendono immagini, o video creati al computer. CG e una branca dell informatica

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Telematica II 5. Esercitazione/Laboratorio 1

Telematica II 5. Esercitazione/Laboratorio 1 IDE Ambiente di sviluppo IDE - Integrated Development Environment Telematica II 5. Esercitazione/Laboratorio 1 e un Ambiente di Sviluppo Integrato che consente di creare in modo semplice progetti composti

Dettagli

Corso di Realtà Virtuale

Corso di Realtà Virtuale Università degli Studi di Pisa Corso di Laurea Specialistica in Tecnologie Informatiche Corso di Realtà Virtuale Presentazione progetto: di Marco Fais Introduzione Realizzato come progetto per il corso

Dettagli

Corso di Fotografia Centro Iniziative Sociali Roberto Borgheresi

Corso di Fotografia Centro Iniziative Sociali Roberto Borgheresi Corso di Fotografia Centro Iniziative Sociali Roberto Borgheresi 2 Principi Generali della Fotografia LE MISURAZIONI DELLA LUCE 3 LA LUCE QUALE ENERGIA MISURABILE Abbiamo visto che la luce è una forma

Dettagli

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it Programmazione II Lezione 4 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 30/09/2011 1/46 Programmazione II Lezione 4 30/09/2011 Sommario 1 Esercitazione 2 Panoramica della Programmazione Ad Oggetti 3

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

INTRODUZIONE INTRODUZIONE JAVA JAVA

INTRODUZIONE INTRODUZIONE JAVA JAVA INTRODUZIONE INTRODUZIONE Lo sviluppo di applicazioni complesse porta a costruire moduli software sempre più potenti e versatili, che possano essere riutilizzati in numerosi progetti I linguaggi ad oggetti

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics 7 Pipeline di rasterizzazione 23/11/13 Grafica 2013 1 Rasterization pipeline Sappiamo implementare ray casting (o ray tracing). Abbiamo tuttavia già visto che

Dettagli

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona Programmazione per Bioinformatica Il Calcolatore e la Programmazione Dr Damiano Macedonio Università di Verona Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti:

Dettagli

Analisi Modelli per la specifica dei requisiti

Analisi Modelli per la specifica dei requisiti Modelli per la specifica dei requisiti Modelli semantici dei dati Entità-Relazioni (E-R) Modelli orientati all elaborazione dati Diagrammi di Flusso dei Dati (Data-Flow Diagrams, DFD) Modelli orientati

Dettagli

SketchUp. Al termine del percorso formativo verrà rilasciato un ATTESTATO DI FREQUENZA valido per il rilascio dei relativi 15 CFP

SketchUp. Al termine del percorso formativo verrà rilasciato un ATTESTATO DI FREQUENZA valido per il rilascio dei relativi 15 CFP SketchUp Destinatari Il corso è rivolto ai progettisti che vogliono imparare a utilizzare questo nuovo strumento freeware di modellazione 2D e 3D. Sketchup è un software molto potente, preciso e gratuito

Dettagli

Linguaggi di Programmazione I Lezione 6

Linguaggi di Programmazione I Lezione 6 Linguaggi di Programmazione I Lezione 6 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 8 aprile 2008 Analisi di oggetti e classi 3 Introduzione............................................................

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

Dettagli

Grafica Computerizzata

Grafica Computerizzata Grafica Computerizzata dott. Giancarlo Amati gamati@libero.it wxveuca@tin.it 1 Programma del Corso Lo scopo del corso è quello di dare le conoscenze di base della modellazione geometrica 2D e 3D tramite

Dettagli

Realizzazione di un applicazione per la visualizzazione grafica didattica e di debug per algoritmi in Java

Realizzazione di un applicazione per la visualizzazione grafica didattica e di debug per algoritmi in Java Sapienza Università di Roma Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica anno accademico 2008-09 Relazione finale su progetto interno Realizzazione di un applicazione per la visualizzazione

Dettagli

Realtà virtuale e Costruzione di ambienti tridimensionali interattivi in 3d

Realtà virtuale e Costruzione di ambienti tridimensionali interattivi in 3d Realtà virtuale e Costruzione di ambienti tridimensionali interattivi in 3d - ATTIVITÀ DI FORMAZIONE E AGGIORNAMENTO SPECIALISTICO SULLA REALTÀ VIRTUALE - 1. FINALITA DEL CORSO Il corso si propone di permettere

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli