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

Di Blasi Gianpiero - D.M.I. - Università di Catania. Lezione 6. Luci

Di Blasi Gianpiero - D.M.I. - Università di Catania. Lezione 6. Luci Di Blasi Gianpiero - D.M.I. - Università di Catania Java3D Lezione 6 Luci Cosa impareremo oggi? Il modello di illuminazione di Java3D Come creare luci Come fare interagire gli oggetti visuali con le luci

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

Università degli Studi di Bari. Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Specialistica. Esame di. Informatica Grafica

Università degli Studi di Bari. Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Specialistica. Esame di. Informatica Grafica Università degli Studi di Bari Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Specialistica Esame di Informatica Grafica IILLUMIINAZIIONE E SHADIING DII UN OGGETTO 3D Bruno Carla Palmisano

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

Interazione luce - materia

Interazione luce - materia Interazione luce - materia 1 Modelli di illuminazione Il modello di illuminazione descrive l interazione tra la luce e gli oggetti della scena Descrive i fattori che determinano il colore di un punto della

Dettagli

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer Computer Graphics La disciplina fornisce metodi per creare elaborare memorizzare visualizzare immagini di oggetti o scene mediante un computer Image Processing La disciplina fornisce metodi per acquisire

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

Realizzare la VR: i software. Piattaforme per la VR: VRML. Il più diffuso: VRML (Virtual Reality Modeling Language)

Realizzare la VR: i software. Piattaforme per la VR: VRML. Il più diffuso: VRML (Virtual Reality Modeling Language) Lezione 5.1 Realizzare la VR: i software Piattaforme per la VR: VRML Il più diffuso: VRML (Virtual Reality Modeling Language) Rappresentazioni 3D interattive anche per web Rendering di poligoni tridimensionali

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

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

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

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

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

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

Le luci. L'illuminazione diretta. Informatica Grafica per le arti. L'illuminazione diretta. L'illuminazione diretta. L'illuminazione diretta

Le luci. L'illuminazione diretta. Informatica Grafica per le arti. L'illuminazione diretta. L'illuminazione diretta. L'illuminazione diretta Informatica Grafica per le arti Per poter produrre delle immagini che diano il senso della tridimensionalita', i programmi di grafica 3D si servono di tecniche per simulare l'illuminazione degli oggetti

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

Introduzione ad Unreal Technology

Introduzione ad Unreal Technology Informatica Grafica ][ Introduzione ad e' il nome dato al motore grafico utilizzato in numerosi videogiochi commerciali. Una delle caratteristiche fondamentali di tale prodotto, e' quella di avere uno

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

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

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

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

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

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

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

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

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

Lezione 20: La grafica 3D ed il WEB. La grafica 3D ed il WEB. La grafica 3D ed il WEB. Contenuti non interattivi. Contenuti interattivi

Lezione 20: La grafica 3D ed il WEB. La grafica 3D ed il WEB. La grafica 3D ed il WEB. Contenuti non interattivi. Contenuti interattivi La grafica 3D ed il WEB Lezione 20: La grafica 3D ed il WEB Lo sviluppo che ha avuto Internet negli ultimi anni e' principalmente dovuto al WWW. Uno dei punto di forza del WWW e' la possibilita' di distribuire

Dettagli

WebGL. Lezione 18: 15 Maggio 2014

WebGL. Lezione 18: 15 Maggio 2014 WebGL Lezione 18: 15 Maggio 2014 Cronologia: Grafica 3D nell Hardware In principio (giurassico informatico) postazioni specializzate La Silicon Graphics si afferma come produttrice di workstation grafiche

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

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

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

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

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore Relazioni tra oggetti e classi : Generalizzazione Fondamenti di Informatica II 20. Laboratorio 6 Collegamenti e associazioni Le relazioni di tipo generalizzazione (specializzazione), servono per poter

Dettagli

Grafica al Calcolatore Fotorealismo - 1. Introduzione

Grafica al Calcolatore Fotorealismo - 1. Introduzione Fotorealismo Dove si elecano trucchi sagaci ed effetti speciali che servono ad aumentare con poca spesa il fotorealismo. Introduzione Environment map Light map Ombre geometriche Trasparenza Multi-pass

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

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

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

Introduzione Computer Graphics

Introduzione Computer Graphics Knowledge Aided Engineering Manufacturing and Related Technologies Dipartimento di Ingegneria Industriale Università di Parma Introduzione Computer Graphics Cosa e la computer graphics Computer Graphics

Dettagli

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base Texture mapping Davide Gadia, Daniele Marini Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Livello di approfondimento della lezione

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

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

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

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics 8 Pipeline di rasterizzazione - 2 12/12/14 Grafica 2014 1 Riepilogo Operazioni geometriche Pixel processing 12/12/14 Grafica 2014 2 Rasterizzazione/scan connversion

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

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

Corso di Computer Graphics

Corso di Computer Graphics Corso di Computer Graphics Fabio Pittarello Ca Foscari Università di Venezia Dipartimento di Informatica Via Torino 155, Mestre (Venezia), Italia e-mail pitt@unive.it X3D 1 Introduzione Extensible 3D (X3D)

Dettagli

JUMP THE UNIFIED MAPPING PLATFORM

JUMP THE UNIFIED MAPPING PLATFORM JUMP THE UNIFIED MAPPING PLATFORM 1 Cos è JUMP? JUMP Java GIS e una piattaforma GIS implementata interamente in JAVA. JUMP include : La JUMP Workbench : una GUI estendibile ed interattiva per manipolare

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

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

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

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

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

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

Modelli per i materiali

Modelli per i materiali Texture mapping 1 Modelli per i materiali Il realismo visivo può essere ottenuto mediante i modelli di illuminazione e dei materiali Per modellare i materiali si possono utilizzare delle immagini dette

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

L applicazione di MVC alla simulazione di ascensore I COMPONENTI DELLE INTERFACCE UTENTE GRAFICHE: PARTE II 1

L applicazione di MVC alla simulazione di ascensore I COMPONENTI DELLE INTERFACCE UTENTE GRAFICHE: PARTE II 1 I COMPONENTI DELLE INTERFACCE UTENTE GRAFICHE: PARTE II 1 3.13 (Caso di studio facoltativo) Pensare a oggetti: Modello-Vista-Controllore I design pattern descrivono strategie efficaci per costruire sistemi

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

Tecniche di mappatura

Tecniche di mappatura Tecniche di mappatura Dove si discute l utile tecnica di texture mapping che consente di aggiungere dettagli alle superfici senza gravare sulla geometria. Introduzione Texture mapping Bump mapping Grafica

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

Trasformazioni 2D. Grande differenza rispetto alla grafica raster!

Trasformazioni 2D. Grande differenza rispetto alla grafica raster! Trasformazioni 2D Il grande vantaggio della grafica vettoriale è che le immagini vettoriali descrivono entità matematiche È immediato manipolare matematicamente tali entità In quasi tutte le manipolazioni

Dettagli

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010 Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale

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

Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14. Cantarella Danilo. OpenCV Android

Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14. Cantarella Danilo. OpenCV Android Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14 Cantarella Danilo Introduzione OpenCV (Open Source Computer Vision Library) è una libreria disponibile per

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

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

CAPITOLO 27 SCAMBIO DI MESSAGGI

CAPITOLO 27 SCAMBIO DI MESSAGGI CAPITOLO 27 SCAMBIO DI MESSAGGI SCAMBIO DI MESSAGGI Sia che si guardi al microkernel, sia a SMP, sia ai sistemi distribuiti, Quando i processi interagiscono fra loro, devono soddisfare due requisiti fondamentali:

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

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

DeeControl Manuale dell'utente

DeeControl Manuale dell'utente Impostazione, manutenzione e funzionalità del software di taglio DeeControl DeeControl Manuale dell'utente Versione 1.1 - 2 - Contenuto Introduzione... - 4 - Requisiti minimi... - 4 - Installazione...

Dettagli

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it Crotone, maggio 2005 Windows Ing. Luigi Labonia E-mail luigi.lab@libero.it Sistema Operativo Le funzioni software di base che permettono al computer di funzionare formano il sistema operativo. Esso consente

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

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

CORSO SketchUp. P e r c o r s o f o r m a t i v o

CORSO SketchUp. P e r c o r s o f o r m a t i v o CORSO SketchUp P e r c o r s o f o r m a t i v o d e s t i n a t a r i Il corso è rivolto ai progettisti che vogliono imparare a utilizzare questo nuovo strumento freeware di modellazione 2D e 3D. Sketchup

Dettagli

I formati nella Computer Grafica

I formati nella Computer Grafica I formati nella Computer Grafica Daniele Marini, Maurizio Rossi Marco Ronchetti, Davide Selmo, Davide Gadia Struttura di ambiente 3D Abbiamo una struttura in cui gli oggetti possono essere classificati

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

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

Predizione della struttura terziaria

Predizione della struttura terziaria Predizione della struttura terziaria Metodi di predizione La predizione della struttura tridimensionale è di gran lunga la predizione più complessa che si possa fare su una proteina. Esistono 3 metodi

Dettagli

SketchUp. Al termine del percorso formativo verrà rilasciato un ATTESTATO DI FREQUENZA

SketchUp. Al termine del percorso formativo verrà rilasciato un ATTESTATO DI FREQUENZA 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

Master SIT Settembre 2006. Corso Web & GIS - Master in Sistemi Informativi Territoriali AA 2005/2006. Chiara Renso. ISTI- CNR c.renso@isti.cnr.

Master SIT Settembre 2006. Corso Web & GIS - Master in Sistemi Informativi Territoriali AA 2005/2006. Chiara Renso. ISTI- CNR c.renso@isti.cnr. COSTRUIRE APPLICAZIONI WEB GIS: SERVIZI E STRATEGIE Corso - Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it I servizi WebGIS...1 Download di dati...3 Visualizzazione

Dettagli

Data warehousing con SQL Server

Data warehousing con SQL Server Data warehousing con SQL Server SQL Server è un RDBMS (Relational DataBase Management System) Analysis Services è un componente di SQL Server che offre un insieme di funzionalità di supporto al data warehousing

Dettagli

SOMMARIO. Programmazione orientata agli eventi. Programmazione orientata agli eventi. Programmazione orientata agli eventi

SOMMARIO. Programmazione orientata agli eventi. Programmazione orientata agli eventi. Programmazione orientata agli eventi SOMMARIO Programmazione orientata agli eventi Graphical User Interface (GUI) Programmazione in Windows MFC GUI multipiattaforma Qt Applicazione di esempio (Qt) Programmazione orientata agli eventi Un evento

Dettagli

Rich Media Communication Using Flash CS5

Rich Media Communication Using Flash CS5 Rich Media Communication Using Flash CS5 Dominio 1.0 Impostare i requisiti del progetto 1.1 Individuare lo scopo, i destinatari e le loro esigenze per i contenuti multimediali. 1.2 dentificare i contenuti

Dettagli

VIRTUAL REALITY TOOLBOX

VIRTUAL REALITY TOOLBOX VIRTUAL REALITY TOOLBOX Il Virtual Reality Toolbox permette di visualizzare e di interagire con le simulazioni di sistemi dinamici in un ambiente di realtà virtuale a 3 dimensioni. Il toolbox collega MATLAB

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

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

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

Illuminazione avanzata

Illuminazione avanzata Informatica Grafica per le arti Illuminazione avanzata E' possibile applicare una bitmap ad una luce. Una luce a cui e' applicata una bitmap proietta l'immagine associata nello spazio. Marco Gribaudo marcog@di.unito.it

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

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

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

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

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

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

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

Programmazione Java. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 3. Alfonso Miola Settembre 2007

Programmazione Java. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 3. Alfonso Miola Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 3 Programmazione Java Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmazione Java 1 Contenuti

Dettagli