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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Programma MyHatch. Manuale d'uso

Programma MyHatch. Manuale d'uso Programma MyHatch Manuale d'uso PREMESSE... 2 SCOPO DEL PROGRAMMA... 2 I TRATTEGGI DI AUTOCAD... 2 IL PROGRAMMA MYHATCH... 2 LA DEFINIZIONE DEI MOTIVI... 3 USO DEL PROGRAMMA... 5 INSTALLAZIONE... 5 BARRA

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

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

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

2. I THREAD. 2.1 Introduzione

2. I THREAD. 2.1 Introduzione 2. I THREAD 2.1 Introduzione Il tipo di parallelismo che è opportuno avere a disposizione nelle applicazioni varia in base al grado di cooperazione necessaria tra le diverse attività svolte in parallelo:

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

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

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

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

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

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

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

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

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

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

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

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

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Dettagli

Introduzione all'animazione

Introduzione all'animazione Informatica Grafica I Introduzione all'animazione L'animazione Per animazione si indica generalmente quella forma di espressione che utilizza sequenze di immagini studiate per ricreare la sensazione di

Dettagli

Ricapitoliamo. Ricapitoliamo

Ricapitoliamo. Ricapitoliamo Ricapitoliamo Finora ci siamo concentrati sui processi computazionali e sul ruolo che giocano le procedure nella progettazione dei programmi In particolare, abbiamo visto: Come usare dati primitivi (numeri)

Dettagli

Introduzione a Classi e Oggetti

Introduzione a Classi e Oggetti Introduzione a Classi e Oggetti Oggetto: concetto astratto Entità di un programma dotata di tre proprietà caratteristiche stato informazioni conservate nell oggetto condizionano il comportamento dell oggetto

Dettagli

Piano Lauree Scientifiche Progetto MATEMATICA e STATISTICA Sapienza Università di Roma a.a. 2010/11

Piano Lauree Scientifiche Progetto MATEMATICA e STATISTICA Sapienza Università di Roma a.a. 2010/11 Piano Lauree Scientifiche Progetto MATEMATICA e STATISTICA Sapienza Università di Roma a.a. 2010/11 Corso di formazione rivolto a insegnanti delle Superiori Giuseppe Accascina accascina@dmmm.uniroma1.it

Dettagli

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Stampa di dati variabili

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Stampa di dati variabili Xerox 700 Digital Color Press con Integrated Fiery Color Server Stampa di dati variabili 2008 Electronics for Imaging, Inc. Per questo prodotto, il trattamento delle informazioni contenute nella presente

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

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

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

Fiery Print Server. Stampa di dati variabili

Fiery Print Server. Stampa di dati variabili Fiery Print Server Stampa di dati variabili 2009 Electronics for Imaging, Inc. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da quanto previsto

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

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Introduzione a 3ds Max

Introduzione a 3ds Max 3 Capitolo 1 Introduzione a 3ds Max 3ds Max è ad oggi uno dei più diffusi e dei più potenti software per la creazione di rendering tridimensionali in qualsiasi ambito, dall architettura al design, dalla

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

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

3 Lavorare con i livelli

3 Lavorare con i livelli INTRODUZIONE 3 Lavorare con i livelli I livelli costituiscono un elemento essenziale nella programmazione di un filmato FLASH. Mentre i fotogrammi individuano la sequenzialità, i livelli definiscono la

Dettagli

Come fare foto panoramiche. Tutorial a cura di Roberto Gonella

Come fare foto panoramiche. Tutorial a cura di Roberto Gonella Come fare foto panoramiche Tutorial a cura di Roberto Gonella 1 Sommario Scattare le foto... 2 Montare le foto in sequenza... 5 Generare il panorama navigabile... 8 Tramite questo testo esemplificativo,

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

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

Metodologie Informatiche applicate al Turismo

Metodologie Informatiche applicate al Turismo Metodologie Informatiche applicate al Turismo 11. Realizzare Siti Dinamici e Applicazioni Web Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.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 2008/2009 Questi lucidi sono stati prodotti sulla

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

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

Carte Laurea triennale in Comunicazione Digitale Laboratorio di Informatica Generale

Carte Laurea triennale in Comunicazione Digitale Laboratorio di Informatica Generale Appelli di gennaio, febbraio e aprile 2005 Carte Laurea triennale in Comunicazione Digitale Laboratorio di Informatica Generale 1 Descrizione Il progetto consiste nel realizzare un programma per gestire

Dettagli

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi : di base e applicativo L HardWare (monitor, tastiera, circuiti, stampante, ) è il nucleo fondamentale del calcolatore ma da solo non serve a nulla. Bisogna utilizzare il software per poterlo fare funzionare.

Dettagli

Internet Terminologia essenziale

Internet Terminologia essenziale Internet Terminologia essenziale Che cos è Internet? Internet = grande insieme di reti di computer collegate tra loro. Rete di calcolatori = insieme di computer collegati tra loro, tramite cavo UTP cavo

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

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

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

RADIOSITY TUTORIAL. versione originale su: http://www.mvpny.com/radtutmv/radiositytut1mv.html

RADIOSITY TUTORIAL. versione originale su: http://www.mvpny.com/radtutmv/radiositytut1mv.html RADIOSITY TUTORIAL La "Profondità Diffusione" che si imposta nella finesta Settaggi Radiosity (render- >parametri rendering->radiosity) stabilisce quante volte una fonte di illuminazione andrà a riflettersi

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

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

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

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

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

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

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

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati

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

Xerox EX Print Server, Powered by Fiery, per Xerox 700 Digital Color Press. Stampa di dati variabili

Xerox EX Print Server, Powered by Fiery, per Xerox 700 Digital Color Press. Stampa di dati variabili Xerox EX Print Server, Powered by Fiery, per Xerox 700 Digital Color Press Stampa di dati variabili 2008 Electronics for Imaging, Inc. Per questo prodotto, il trattamento delle informazioni contenute nella

Dettagli