Generazione di Ambienti Urbani Sintetici e Rendering Parallelo

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Generazione di Ambienti Urbani Sintetici e Rendering Parallelo"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI TRENTO Facoltà di Ingegneria Corso di Laurea in Telecomunicazioni Tesi di Laurea Generazione di Ambienti Urbani Sintetici e Rendering Parallelo Relatore: Prof. Francesco De Natale Responsabile esterno: Dott. Roberto Brunelli Laureando: Luca Passarella Anno accademico

2

3 Ringraziamenti Alla fine di questa bella ed impegnativa esperienza è doveroso ringraziare tutto il gruppo TEV. In particolare volevo citare Roberto Brunelli che mi ha seguito con tanta pazienza durante tutto il progetto fornendomi dei preziosi consigli per la stesura della tesi, Oswald Lanz e Dimitri Giordani per la loro disponibilità nell offrire sempre prontamente il loro aiuto. Un particolare ringraziamento al professore Francesco De Natale per avermi aiutato e suguito nella preparazione alla laurea. Ai miei amici di università Michele, Marco (Xgher), Andrea (Gasta) e Benedetto (Bobo) solidi punti di riferimento sulla quale contare in ogni momento ed ogni situazione. Mi hanno permesso di arrivare fino a questo nuovo traguardo, mantenendo in questi anni sempre vivi valori rari e preziosi come l amicizia, la fiducia e la lealtà. Ringrazio la mia famiglia che in tutti questi anni ha creduto nelle mie potenzialità e mi ha moralmente ed economicamente sostenuto.

4

5 Indice 1 Introduzione Scopo del progetto Organizzazione del progetto RenderMan R Primitive Geometriche e Trasformazioni Illuminazione Shaders Surface shader Light source shader Volume shader Displacement shader Renderer a Confronto Gestione delle mappe GIS Mappa del Terreno Mappa Stradale Mappa Tematica Generatore di città Mappa delle Etichette e delle Distanze Posizionamento degli Edifici Generatore di edifici Gestione degli edifici Gli edifici I grattacieli Le case

6 6 Rendering parallelo Farm Rendering parallelo: città Rendering parallelo: alberi Conclusioni 75 A Catmull-Rom 79 B Is inside 83

7 Elenco delle figure 2.1 Teapot Elefante reso con diversi livelli di complessità della scena Teapot con illuminazione globale Shader di superficie La luce in una superficie Atmosphere shader Scene utilizzate per testare ogni Renderer La mappa del terreno con e senza interpolazione Mappa Stradale della città di Trento Algoritmo per costruire la geometria delle strade La mappa stradale sovrapposta al terreno Algoritmo di trasformazione da vettoriale a raster L area urbana Rettangolo Suddivisione in fasce della regione Possibili rotazioni per ogni rettangolo Algoritmo di posizionamento dei rettangoli Mappa degli edifici della città visualizzata con Gnuplot Vista panoramica di una città Le possibili forme adottate per disegnare gli edifici Immagine di un grattacielo reale Fenomeno aliasing Grattacieli Casa completa di tutti i moduli, tetto e camini Il basamento e gli spigoli che vincolano i moduli all interno delle pareti

8 5.8 Alcuni possibili moduli utilizzati per costruire le facciate degli edifici Risultato dell utilizzo dell opzione Sides Abitazione con tetto a terrazza Tetto con camino Farm Task Posizionamento dei frame nell immagine La città Task per gli alberi Il bosco durante la fase di rendering Mappa tematica A.1 Algoritmo di interpolazione Catmull-Rom A.2 Catmull-Rom applicata a 16 punti di controllo B.1 La regione poligonale B.2 La regione poligonale e la sua rappresentazione B.3 La posizione di un punto rispetto una regione triangolare B.4 Suddivisione in triangoli della regione poligonale

9 Capitolo 1 Introduzione Ogni anno nuove tecnologie permettono di sviluppare sistemi di riconoscimento sempre più economici, in grado di rilevare informazioni dell ambiente mediante l uso di telecamere. Oggi si possono trovare sistemi di questo tipo per svolgere funzioni di controllo del traffico nelle strade, per applicazioni di sorveglianza oppure per riconoscere oggetti e persone. Alla base di tutto ci sono dei complessi algoritmi creati appositamente per estrarre le informazioni più significative da immagini o video. Prima di essere utilizzati, questi sistemi di acquisizione devono superare numerose fasi di test e simulazione: la qualità del prodotto è quindi direttamente legata alla bontà della fase di sviluppo. Normalmente questi algoritmi vengono testati utilizzando delle immagini reali: questo approccio non permette sempre di avere dei buoni risultati poichè molto spesso non si hanno delle statistiche dettagliate riferite a queste immagini, soprattutto se si raffigurano ambienti molto complessi. L acquisizione di informazioni di supporto è di solito problematica e costosa in termini di tempo. 1.1 Scopo del progetto Lo scopo del progetto è la realizzazione di immagini sintetiche fotorealistiche ambientate in una città. L utilizzo di immagini sintetiche, per testare gli algoritmi legati ai sistemi di visione artificiale, offre come principale vantaggio la possibilità di conoscere

10 10 Introduzione ogni minimo dettaglio della scena. É infatti possibile conoscere già a priori la geometria, le mappe di profondità e mappe tematiche che caratterizzano gli oggetti contenuti in un immagine. A causa dell eccessiva complessità, dell eventuale rumore e del limitato dettaglio delle fotografie, difficilmente si potranno avere statistiche approfondite di immagini di ambienti reali. Le città sono ambienti di elevata complessità dal punto di vista grafico: esse riflettono tutti i cambiamenti storici, culturali, economici e sociali avvenuti nel corso degli anni. Oggi è possibile realizzare sistemi di modellazione e visualizzazione di ambienti di questo tipo grazie soprattutto alla possibilità di disporre di sempre maggiori quantitativi di memoria e di strumenti di calcolo molto potenti, che permettono di gestire scene molto complesse. 1.2 Organizzazione del progetto Il progetto è suddiviso in tre parti principali: 1. la generazione della geometria della scena; 2. la gestione degli oggetti dal punto di vista grafico; 3. suddivisione parallela dei processi di rendering. Nella prima parte si parla della realizzazione geometrica della scena. Si parte dallo studio e la successiva realizzazione dell ambiente sfruttando i dati provenienti da una mappa del terreno in formato DTM (Digital Terrain Model) ed una mappa stradale in formato vettoriale. Successivamente viene gestito l aspetto geometrico relativo alla città nella forma e nella disposizione degli edifici. Infine si arriva alla modellazione di ogni singola abitazione. Nella seconda parte viene curato l aspetto estetico dell immagine sintetica. Qui sono stati approfonditi tutti quei concetti legati all illuminazione di una scena e sono stati realizzati i materiali da applicare agli oggetti.

11 1.2 Organizzazione del progetto 11 Sono state poi affrontate le problematiche legate alla gestione di scene molto complesse con lo sviluppo di alcune strategie per suddividere l operazione di rendering su più processi distinti. La necessità del progetto, la generazione di immagini fotorealistiche ed un controllo complesso sul processo di rendering, hanno orientato la scelta della tecnologia di base su motori grafici basati sullo standard RenderMan. Per la generazione delle immagini sintetiche, sono stati utilizzati alcuni motori di rendering in licenza Freeware compatibili con le specifiche stabilite nella RenderMan Interface. Questo linguaggio permette di descrivere le scene dal punto di vista della geometria, dei materiali e dell illuminazione. Altre caratteristiche di questo linguaggio sono la possibilità di supportare uno Shading Language sofisticato, di definire in modo procedurale le geometrie, di utilizzare algoritmi per l illuminazione globale e di simulare l obiettivo di una telecamera. RenderMan, rispetto altri linguaggi come OpenGL R, offre la possibilità di utilizzare diversi filtri per il campionamento dei pixel ed inoltre permette di scegliere l accuratezza ed il dettaglio nelle immagini. RenderMan è supportato da sistemi multipiattaforma resi disponibili da più sviluppatori, fra cui Pixar TM, viene tuttora molto utilizzato in ambito cinematografico per la realizzazione di effetti speciali o interi film d animazione da parte di Disney TM, Dreamworks TM, ecc... Per garantire al progetto la possibilità di operare su diversi sistemi operativi, tutto il codice relativo alla generazione ed alla gestione della geometria è stato sviluppato in Java. L esposizione del lavoro svolge le tre fasi principali già delineate. Nel capitolo 2 si trova una descrizione dell ambiente RenderMan, dello Shading Language oltre alla valutazione di alcuni motori di rendering. Nei capitoli successivi vengono affrontati i passi che permettono di arrivare alla creazione della città. In particolare si inizia con la gestione della mappa del terreno e della mappa stradale trattata nel capitolo 3. Nel capitolo 4 viene spiegato l algoritmo utilizzato per la disposizione degli edifici mentre nel capitolo 5 vengono analizzate le tecniche adottate per realizzare le costruzioni. Infine, nel capitolo 6, sono discusse tre strategie per la gestione parallela dei processi di rendering, ideate per operare su tre livelli di complessità geometrica. La tesi comprende anche due appendici dove sono esaminati in dettaglio due algoritmi utilizzati nella fase di posizionamento degli oggetti all interno

12 12 Introduzione delle scene: Catmull-Rom, una tipologia di spline, nell appendice A e Is Inside,per stabilire l appartenenza di un punto ad una regione poligonale, nell appendice B. I marchi registrati citati nel presente documento sono di proprietà dei rispettivi depositari.

13 Capitolo 2 RenderMan R RenderMan Interface è uno standard per la descrizione di scene orientato alla realizzazione di immagini fotorealistiche. All interno di questo standard sono definite le specifiche [18] [4] [12] [15] che un renderer deve rispettare per essere considerato RenderMan Compliant. Le principali funzionalità richieste sono: simulare l obiettivo di una telecamera in ogni regolazione; descrivere una scena dal punto di vista geometrico; implementare la gestione degli oggetti attraverso gli Shaders; calcolare e gestire tutte le interazioni tra gli oggetti dal punto di vista dell illuminazione. All interno di un file di testo RIB (RenderMan Interface Bytestream) sono contenute tutte le informazioni necessarie per disegnare le primitive geometriche che descrivono una scena. L insieme di tutte queste informazioni è chiamato Graphics State. Esso viene suddiviso in due parti principali. 1. Global State: contiene tutte le informazioni che riguardano l impostazione della telecamera, la qualità dell immagine ed altri parametri riguardanti il motore di rendering. Tutte queste informazioni non possono cambiare durante il processo di rendering della scena. 2. Current State: comprende l insieme di tutta la geometria, le trasformazioni geometriche, la descrizione dei materiali e delle sorgenti

14 14 RenderMan R luminose che permettono di descrivere ogni parte della scena. Questo stato è suddiviso in modo gerarchico mediante l uso delle parole chiave AttributeBegin/End e viene caricato e scaricato nello Stack del Graphics State. L utilizzo di un file di in formato testo garantisce il pieno controllo e la possibilità di modificare ogni parte della scena senza dover utilizzare un software di editing dedicato. Il principale svantaggio di questo formato è dovuto al fatto che le dimensioni del file possono aumentare in modo significativo con l aumento della complessità geometrica. Questo problema può essere in parte risolto spezzando la descrizione della geometria in più file: in questo modo gli oggetti che si ripetono all interno della scena possono essere descritti caricando più volte lo stesso file. Ogni file viene caricato con il comando ReadArchive nomefile e non può contenere parti del Global State. 2.1 Primitive Geometriche e Trasformazioni Le primitive geometriche rappresentano l aspetto più importante per la generazione di modelli tridimensionali. La forma di un oggetto può essere descritta mediante l uso di più primitive geometriche opportunamente combinate tra loro. L ambiente RenderMan mette a disposizione dell utente un ampio insieme di primitive geometriche di diversa complessità: dalle linee e poligoni fino alle superfici quadratiche e mesh. Le primitive più complesse permettono di descrivere con un codice compatto oggetti molto elaborati. Un altra caratteristica importante del linguaggio RenderMan sono le trasformazioni: possono essere traslazioni, rotazioni e variazioni della scale che agiscono modificando il sistema di riferimento del Current State. Molte primitive geometriche quando vengono generate hanno come riferimento l origine e sono portate nella corretta posizione tramite opportune trasformazioni. 2.2 Illuminazione La corretta illuminazione è sicuramente uno dei fattori più importanti per raggiungere un buon livello di realismo. La gestione della luce, per la sua complessità, pesa in modo significativo sulla valutazione della qualità di un

15 2.2 Illuminazione 15 Figura 2.1: Teapot Uno degli oggetti più rappresentati dai software di rendering, un esempio di come le primitive geometriche, che opportunamente combinate, possono realizzare un oggetto. renderer. Il renderer ha il compito di rappresentare non solo come le sorgenti luminose influenzano gli oggetti di una scena ma anche come gli oggetti stessi interagiscono tra loro. Partendo dalla definizione della geometria è possibile aggiungere, in modo graduale, diversi fattori che migliorano il livello di illuminazione della scena. 1. Nella situazione di partenza, in assenza di sorgenti luminose e definizioni dei materiali, gli oggetti vengono visualizzati utilizzando lo shader di superficie default surface. Tale materiale permette di visualizzare ogni primitiva anche in assenza di sorgenti luminose. La scena viene resa nel minor tempo possibile poichè la complessità dipende solamente dalla geometria degli oggetti in essa contenuti. 2. Successivamente possono essere aggiunte le sorgenti luminose e si definiscono i materiali per ciascuna primitiva: ogni oggetto potrà essere reso con il proprio materiale, l ombra non sarà ancora visualizzata in modo corretto in quanto non viene proiettata ne sull oggetto stesso ne sulla scena. 3. Attivando la procedura per la gestione delle ombre, ogni oggetto proietterà la propria ombra nella ambiente. In mancanza di luci d ambiente

16 16 RenderMan R e di illuminazione globale, l ombra proiettata sarà inevitabilmente di colore nero. 4. L ultimo passo è attivare un metodo di illuminazione globale: in questo modo si potrà considerare come la luce illumina gli oggetti e anche come questi interagiscono tra loro. L ombra proiettata non sarà più completamente nera poichè si andranno a sommare i raggi riflessi dalle altre superfici presenti nella scena. (a) Defaultsurface (b) Materiali (c) Ombre (d) Ray tracing Figura 2.2: Elefante reso con diversi livelli di complessità della scena. Le immagini rappresentano esempi di rendering con aumento progressivo della complessità dal punto di vista dell illuminazione. L illuminazione globale viene gestita da particolari algoritmi computazionalmente molto costosi, che permettono di eseguire calcoli dettagliati di come la luce e gli oggetti interagiscono tra loro (Figura 2.3). I principali algoritmi che implementano l illuminazione globale sono:

17 2.3 Shaders 17 radiosity [14]: valuta la quantità di luce riflessa sfruttando un particolare algoritmo nato per calcolare il trasferimento del calore tra le superfici; photon mapping [10]: attraverso un algoritmo di Photon Tracing permette di creare una mappa con i percorsi virtuali dei fotoni luminosi all interno della scena. Figura 2.3: Teapot con illuminazione globale Appositi algoritmi di illuminazione globale vengono sfruttati per calcolare le ombre delle immagini, in questo caso la teapot è stata resa utilizzando Photon Mapping. Per scene dove la geometria da elaborare è molto complessa potrebbe risultare impossibile l utilizzo di questi algoritmi di illuminazione globale in quanto si è vincolati dai limiti imposti dall hardware. Si cerca così di superare questo vincolo introducendo nella scena delle sorgenti luminose fittizie che hanno il compito di simulare gli effetti di illuminazione globale. Grazie al basso costo computazionale richiesto, questo metodo viene utilizzato molto nella Computer Graphics anche se difficilmente si otterranno delle immagini fotorealistiche. 2.3 Shaders Dare una definizione di Shader non è semplice. La traduzione del termine inglese (shader = ombreggiatore ) non aiuta a capire di che cosa si sta

18 18 RenderMan R parlando. In realtà è molto più semplice spiegare a che cosa servono e che cosa permettono di fare [13] [11]. Esistono quattro tipologie di shader: 1. surface shader: descrive il tipo di materiale della superficie e come questo materiale si comporta quando viene colpito dalla luce; 2. light source shader: descrive la direzione, l intensità e il colore della luce emessa da una sorgente; 3. volume shader: descrive come la luce viene alterata quando passa attraverso un materiale composto da particelle come il fumo o la nebbia; 4. displacement shader: descrive una deformazione della superficie. Ogni tipologia di shader svolge un ruolo diverso nella gestione della luce di una scena partendo dalla sorgente fino ad arrivare alla superficie degli oggetti. Sono definiti da funzioni esterne all ambiente RenderMan attraverso un codice che per molti aspetti risulta essere simile al C. Rispetto al C sono stati implementati nuovi tipi di variabili: vettori, punti, colori, matrici e stringhe. É inclusa una ricca libreria di funzioni matematiche e geometriche di base che possono essere utilizzate per manipolare l ambiente di una scena. RenderMan comunica con gli shader attraverso variabili, alcune predefinite ed altre definibili dall utente, le quali saranno utilizzate dalle funzioni per la gestione della scena Surface shader Gli shader di superficie sono applicati a tutte le primitive geometriche e vengono utilizzati per modellare le proprietà ottiche dei materiali. Uno shader di superficie calcola la luce riflessa in una particolare direzione sommando ai raggi incidenti gli effetti dovuti alle proprietà della superficie. Lo shader di superficie ha il compito di calcolare il colore Ci e l opacità Oi del raggio incidente I nel punto P (Figura 2.4). Il raggio di luce incidente alla superficie è quello che sarà visualizzato: l algoritmo degli shader calcola il colore della superficie seguendo il percorso inverso cioè parte dall osservatore e va verso la sorgente. Per eseguire questo calcolo vengono utilizzate alcune informazioni che vengono passate dall ambiente RenderMan sottoforma di

19 2.3 Shaders 19 SORGENTE E PUNTO DI VISTA I N L CONO D ILLUMINAZIONE P (u,v) dpdu dpdv SUPERFICIE DELLA PRIMITIVA GEOMETRICA variabili, (Tabella 2.1). Figura 2.4: Shader di superficie. Attraverso gli shader di superficie vengono realizzati materiali diversi che possono avere come principale obiettivo quello di simulare una superficie in modo realistico oppure possono anche fornire informazioni relative ai punti o agli oggetti che compaiono nella scena. I surface shader, nella gestione della luce, seguono spesso un modello comune rappresentato dalla seguente relazione matematica: Oi = Os Ci = nluci Ka ambient() Cs + (Kd diffuse(n L i ) Cl i + Ks csp specular(r L i ) n ) dove: i=1 Ka ambient(), Kd diffuse() e Ks specular() sono le funzioni con i relativi coefficienti che gestiscono la luce ambiente, diffusa e speculare;

20 20 RenderMan R L i è la luce i-esima di colore Cl i ; N è la normale alla superficie; R è la direzione speculare di riflessione rispetto l osservatore; csp è il colore relativo alla zona speculare; tutti gli altri termini sono variabili dell ambiente (Tabella 2.1). I coefficienti Ka, Kd e Ks permettono di regolare la risposta alla luce della superficie (Figura 2.5). Tali regolazioni sono molto utili per simulare i riflessi prodotti da tipologie diverse di materiali come ad esempio i metalli, le materie plastiche o il legno. Nome Tipo Descrizione Cs, Os color, color Colore e opacità della superficie P point Punto della superficie dpdu, dpdv vector, vector Derivate della posizione lungo u e v N normal Normale alla luce Ng normal Normale rispetto la geometria u, v float, float Coordinate della superficie du, dv float, float Variazione dei parametri della superficie s, t float, float Coordinate della texture L vector Direzione della luce entrante Cl, Ol color, color Colore e opacità del raggio di luce entrante E point Posizione dell osservatore I vector Direzione del raggio incidente ncomps float Numero delle componenti del colore Ci, Oi color, color Colore e opacità del raggio incidente Tabella 2.1: Variabili degli shader di superficie Light source shader I light source shader permetto di simulare alcune tipologie di sorgenti luminose:

21 2.3 Shaders 21 Specular Color Diffuse Color Ambient Color Figura 2.5: La luce in una superficie. ambientlight: definisce la luce nell ambiente, non genera alcuna ombra poichè aggiunge la stessa quantità di luce in ogni punto della scena. distantlight: permette di definire una sorgente luminosa direzionale e costante, viene utilizzata per simulare la luce del sole. La direzione è stabilità passando allo shader due punti attraverso le variabili from e to. pointlight: realizza una sorgente luminosa puntiforme con l intensità che decade con legge quadratica con la distanza. È utile per rappresentare l illuminazione generata da una lampada ad incandescenza o da una candela, la posizione della sorgente viene definita passando allo shader la variabile from. arealight: viene applicata ad una primitiva per trasformarla in una sorgente luminosa. L intensità della luce decade con legge quadratica con la distanza. Viene normalmente utilizzata per simulare lampade di grandi dimensioni che non possono essere rappresentate con un unica sorgente puntiforme. spotlight: questo tipo di sorgente luminosa permette di simulare un proiettore, ha le stesse caratteristiche di una sorgente puntiforme ma la luce emessa viene limitata da un cono. Assieme alla posizione

22 22 RenderMan R deve essere definito l angolo di apertura del cono attraverso la variabile coneangle. Le variabili da passare agli shader per le sorgenti luminose sono molto simili a quelle utilizzate per gli shader di superficie: l unica diversità sta nel fatto che non esistono le variabili Ci e Oi, ed in uscita alla funzione si troveranno i valori delle variabili Cl e Ol che definiscono il colore e l opacità del raggio emesso dalla sorgente Volume shader Normalmente i fenomeni naturali che coinvolgono la luce non avvengono solamente sulle superfici degli oggetti ma anche al loro interno. Gli shader di volume o atmosferici modellano i raggi di luce che attraversano i corpi. Normalmente viene definito volume la parte interna di un oggetto e atmosfera è il volume iniziale definito prima di ogni oggetto. Questo tipo di shader permette di simulare quello che succede quando la luce attraversa un corpo definito da un insieme di particelle invisibili all occhio umano. Gli shader di volume non descrivono quello che succede sulla superficie degli oggetti ma quello che succede al loro interno, per questo motivo nelle variabili dedicate a questo tipo di shader non compaiono riferimenti alle superfici (Tabella 2.2). Nome Tipo Descrizione P point Punto finale del raggio di luce I vector Direzione del raggio (che va verso P) E point Posizione dell osservatore Ci, Oi color, color Colore e opacità del raggio ncomps float Numero delle componenti del colore Ci, Oi color, color Nuovi valori di colore e opacità del raggio Tabella 2.2: Variabili per gli shader di volume. Con gli shader di volume è possibile la realizzazione di effetti come fumo, nebbia o esplosioni.

23 2.3 Shaders 23 Figura 2.6: Atmosphere shader Nella vallata viene utilizzato un atmosphere shader per simulare la nebbia Displacement shader I Displacement shaders agiscono sulla superficie degli oggetti modificandone l aspetto geometrico. Spesso non è possibile fare una descrizione accurata della geometria per realizzare rugosità o rilievi ed il compito di questa famiglia di shader è quello di simulare queste alterazioni geometriche. Vengono utilizzate le stesse variabili degli shaders di superficie per accedere agli oggetti, non ne vengono modificati i colori ma la geometria agendo sulla normale N e sulla posizione P dei punti della superficie. Le deformazioni delle superfici possono essere fatte seguendo due diversi metodi: 1. true displacement: modifica la normale della superficie N e la posizione P dei punti cambiando geometria dell oggetto; 2. bump mapping: viene modificata solamente la normale, l oggetto viene disegnato con una apparente deformazione ma in realtà la geometria non viene modificata. Nelle immagini può subito essere notata la differenza tra i due metodi di deformazione guardando i bordi degli oggetti: true displacement modifica la geometria delle superfici quindi si potranno vedere gli effetti anche sul bordo dell oggetto, ciò non succede applicando un operazione di bump mapping. Il bump mapping è quindi meno preciso del true displacement ma ha a suo favore un minore costo computazionale.

24 24 RenderMan R 2.4 Renderer a Confronto RenderMan è un marchio registrato di proprietà della Pixar, la quale produce il proprio software PRMan utilizzato per la realizzazione di film di notevole successo. Altri si sono posti come obiettivo quello di realizzare software RenderMan Compliant che implementano in modo più o meno completo le specifiche RenderMan. Per la realizzazione del progetto sono state provate numerose versioni di applicativi RenderMan Compliant: BMRT R [9] - Si tratta di uno dei primi software di rendering che implementa in modo completo le specifiche di RenderMan. Tale renderer non viene più aggiornato dal 2000 ed è sprovvisto di supporto online. Altri punti a sfavore sono determinati dalla lentezza e dall eccessiva occupazione di RAM necessaria per elaborare le scene. 3Delight T M [2] - Il punto di forza di questo renderer è sicuramente la velocità, ma non implementa alcuni punti delle specifiche. La documentazione fornita assieme al prodotto è piuttosto scarsa e non esiste un forum dedicato. Aqsis C [17] - Implementa in modo completo tutte le funzioni legate alla geometria della scena ma non possiede alcun algoritmo per la gestione dell illuminazione globale. Aqsis ha alle spalle un gruppo di sviluppatori molto attivo: viene fornito in versione Open Source, la documentazione è ridotta ma esiste un forum online molto vivo. Pixie [5] - Anch esso fornito in versione Open Source implementa in modo completo le specifiche. Uno dei punti di forza è rappresentato dalla possibilità di calcolare delle mappe caustiche consentendo di calcolare le distorsioni dei raggi luminosi che attraversano il vetro o i liquidi. Purtroppo tale renderer si è rivelato lento ed utilizza un quantitativo di memoria eccessivo anche per scene di bassa complessità geometrica. Lucille C [1] - In versione Open Source non viene considerato un RenderMan Compliat Renderer: implementa solamente alcune funzioni stabilite nelle specifiche dedicate esclusivamente alla realizzazione di immagini con illuminazione globale.

25 2.4 Renderer a Confronto 25 A questo punto sono stati eseguiti dei test per trovare il renderer migliore da utilizzare nello sviluppo del progetto. La scelta è stata fatta basandosi su alcuni fattori come: principali caratteristiche implementate; occupazione di memoria; velocità; qualità della documentazione. Caratteristiche BMRT 3Delight Aqsis Pixie Lucille Shading language = = Depth of field X X Motion blur X Ray tracing X Global illumition (rd) = (sh) X (pm rd) (pm) Shadow map X Texturing map X Caustics map X X X X Delayed primitive X X Object instancing X X Quadratics surface Parametrics surface Point Curves Poligons = Subdivision mesh Tabella 2.3: Caratteristiche implementata dai renderer in modo completo; = con qualche limitazione; X non implementato; rd=radiosity, sh=shader, pm=photon mapping. Per valutare le caratteristiche implementate da ogni renderer si è fatto riferimento su quanto dichiarato dai corrispondenti siti internet. Dalla Tabella 2.3 si può subito notare che quelli che implementano nel modo migliore gli standard definiti da RenderMan sono Bmrt e Pixie.

26 26 RenderMan R Lucille, a causa delle sue limitazioni, non è stato utilizzato: implementa un algoritmo di illuminazione globale veloce e di qualità ma le numerose caratteristiche non sviluppate non ne hanno consentito nemmeno una valutazione attraverso i test di velocità. Le limitazioni di Aqsis e 3Delight non sono state ritenute penalizzanti per il progetto così sono stati comunque utilizzati. Per testare la velocità e la quantità di memoria occupata, si sono utilizzate delle immagini campione di diversa complessità dal punto di vista della geometria e della gestione dell illuminazione globale. Nella Scena 1 sono presenti due primitive geometriche: l elefante ed una superficie orizzontale. L obiettivo è quello di eseguire il rendering della scena visualizzando le ombre nel modo corretto. Agli oggetti vengono applicati gli shader plastic per l elefante e matte per il piano. La Scena 2 rappresenta una delle case utilizzate nel progetto. La complessità del processo è rappresentata dal fatto che nella scena sono presenti 627 primitive geometriche, per la maggior parte Patch. Vengono utilizzati più shader di superficie ed è presente anche un displacement shader per il tetto. Infine la Scena 3 viene resa solamente con Pixie per testare l algoritmo di Photon Mapping nella gestione di raggi caustici. I test sono stati eseguiti sotto ambiente Linux, il computer utilizzato è composto da due processori Intel Pentium III a 1 GHz, 1 GB di Ram. Scena N Renderer Tempo RAM Tempo RAM Tempo RAM BMRT 47 sec 55 MB 84 sec 15 MB n. d. n. d. 3Delight 10 sec 10 MB 30 sec 12 MB n. d. n. d. Aqsis 73 sec 15 MB 352 sec 50 MB n. d. n. d. Pixie 57 sec 80 MB 422 sec 300 MB 130 sec 16 MB Tabella 2.4: Velocità ed occupazione di memoria. Dati relativi ai processi di rendering delle 3 scene. Dai risultati dei test (Tabella 2.4) si può subito notare che i renderer non si comportano allo stesso modo, esibendo differenze notevoli a livello

27 2.4 Renderer a Confronto 27 (a) Scena 1 (b) Scena 2 (c) Scena 3 Figura 2.7: Scene utilizzate per testare ogni Renderer. computazionale. Si può notare come BMRT necessiti di più memoria per elaborare una scena con poche primitive complesse al contrario di Aqsis che viene più penalizzato nella gestione più primitive semplici. Pixie invece presenta un costo computazionale troppo elevato per le esigenze del progetto e per questo motivo è stato scartato. Nella scelta del renderer, il vincolo con peso maggiore è stato quello imposto dall hardware in quanto per ogni processo non è possibile allocare un quantitativo di memoria superiore a 4 GB. Con la prospettiva di eseguire rendering in parallelo mediante una rete di più computer, per garantire la massima velocità di elaborazione, si è cercato di non generare processi con dimensioni superiori ad 1 GB RAM, in modo da non dover allocare memoria nella partizione di Swap, che rallenterebbe in modo significativo il processo.

28 28 RenderMan R Poichè le scene rese presentano una complessità geometrica notevole, il renderer più appropriato si è rivelato 3Delight. Questo è risultato il più efficiente sia dal punto di vista dell occupazione di memoria che della velocità. Le caratteristiche non supportate da questo renderer non sono rilevanti nella realizzazione del progetto.

29 Capitolo 3 Gestione delle mappe GIS Per aumentare l effetto di realismo si è deciso di creare la città con l ausilio di alcune mappe fornite dal centro GIS relative alla zona della città di Trento. Questo non esclude la possibilità di generare delle mappe con andamento casuale purchè queste mantengano lo stesso formato di quelle fornite da GIS. L ambiente viene generato con 3 mappe che descrivono rispettivamente il terreno, le strade ed una mappa tematica dove sono distinte le zone per tipologia. La zona descritta è un quadrato con di 6 Km, per ridurre la complessità sono stati realizzati dei tool che permettono di estrarre anche solo alcune parti di queste mappe. Tutti gli algoritmi che generano la città sono stati sviluppati su un area 1x1 Km per lato. Concluse le fasi di test, sono stati applicati alla mappa più grande. Seguirà ora, nelle sezioni successive, la descrizione delle mappe e degli algoritmi sviluppati per gestirle dal punto di vista della generazione delle città, con delle brevi descrizioni di alcune parti di codice. 3.1 Mappa del Terreno Il terreno gioca un ruolo di primo piano nel determinare il realismo di una città virtuale: non solo dà alle immagini uno sfondo d effetto ma conferisce alla città una particolare forma. La mappa utilizzata è in formato DTM, una matrice quadrata con i soli valori delle altezze del terreno con passo pari a 5 metri. Oltre alla matrice è contenuta anche una breve intestazione dove sono indicate le coordinate nord, sud, est, ovest ed il numero di righe e colonne. La breve

30 30 Gestione delle mappe GIS intestazione è molto utile per mantenere dei riferimenti durante le operazioni di riscalamento, traslazione e troncamento dei dati effettuate per ricavare porzioni di dimensioni minori della mappa più grande. Il formato matriciale della mappa del terreno si presta in modo ottimale alla descrizione con una PatchMesh nell ambiente di RenderMan. É stata così creata un apposita classe Java Terrain che riceve in ingresso la mappa in formato DTM e scrive un altro file in formato RenderMan. I parametri d ingresso sono due stream associati ai file, il primo è il file contenente i dati mentre il secondo è il file su cui sarà scritta la PatchMesh. Per default la classe non usa tutte le altezze ma solamente la metà, in altre parole valuta un punto ogni 10 metri, poichè la qualità della mappa risultante non cambia anche se viene sottocampionata. Questa operazione garantisce a parità di qualità una minore dimensione del file, un minore quantitativo di RAM utilizzata nella gestione della mappa con JAVA e soprattutto una notevole riduzione del costo computazionale richiesto dal renderer. (a) Senza Interpolazione (b) Con Interpolazione di tipo Catmull- Rom Figura 3.1: La mappa del terreno con e senza interpolazione La mappa del terreno (Fig. 3.1.a) così ottenuta presenta molte sfaccettature poichè nella primitiva PatchMesh i punti sono interpolati in modo lineare. Un terreno di questo tipo è tuttaltro che realistico rendendo necessaria l applicazione di un interpolazione bicubica. Fra i metodi disponibili in RenderMan è stato scelto l algoritmo di interpolazione Catmull-Rom. La qualità dell interpolazione e il basso numero di punti necessari per il calcolo, gestito da una matrice 4x4, sono i motivi principali che giustificano tale scelta (Appendice A). Nella nuova mappa (Fig. 3.1.b) tutto viene reso in modo omogeneo e non si riescono più a distinguere le singole facce. La sintassi

31 3.2 Mappa Stradale 31 utilizzata per la PatchMesh è la seguente:... Basis catmull-rom 1 catmull-rom 1 PatchMesh bicubic 600 nonperiodic 600 nonperiodic P [...]... Dove Basis definisce le due funzioni di interpolazione da usare per le righe e le colonne della matrice con i relativi fattori di correzione. PatchMesh è invece la primitiva geometrica, bicubic permette di caricare le funzioni di interpolazione definite in Basis. Successivamente si trovano i numeri che indicano le righe e le colonne seguiti dalla stringa che indica se i dati devono essere valutati come un semplice vettore oppure come un vettore circolare. Infine P indica che i dati all interno delle parentesi quadre sono i vertici della griglia. Il passo finale consiste nell applicare al terreno il materiale corretto tramite un particolare Shader di superficie che fa variare il colore del terreno tenendo conto non solo dell altezza ma anche di altri dati come la mappa tematica, gli oggetti che saranno posizionati sopra al terreno, la pendenza del terreno e l esposizione a nord. 3.2 Mappa Stradale Le strade nel nostro progetto non sono un semplice elemento da aggiungere per completare uno scenario ma giocano un ruolo di notevole importanza in quanto corrispondono alla spina dorsale sulla quale verrà costruita la nostra città. La mappa stradale suddivide il terreno in tante aree di dimensioni più piccole e quindi gestibili singolarmente in modo più semplice. Spesso la struttura della mappa stradale di una città rispetta delle forme canoniche con alcune variazioni dettate dai vincoli naturali del luogo dove sorge il centro abitato. Fra le principali strutture ricordiamo lo stile a griglia perfetta delle città americane, un tipico esempio sono i quartieri di Manhattan a New York, oppure altre richiamano lo stile radiale come quello adottato a Parigi. Spesso questi due stili si mescolano e danno luogo a delle strutture più complesse. In altre città non si riesce a ricondurre la

32 32 Gestione delle mappe GIS struttura della mappa stradale ad alcun stile canonico poichè la morfologia del terreno ne vincola in modo pesante la formazione. Trento appartiene a questa famiglia di centri urbani: la mappa stradale reale della città presenta uno schema molto complesso da simulare. Questo è il principale motivo per il quale e stato deciso di utilizzare una mappa reale fornita anch essa dal GIS. I dati della mappa stradale adottata sono in formato vettoriale: l andamento di ogni strada viene descritto da un vettore di coppie di coordinate X e Y che possono essere a distanza variabile l uno dall altro. Il formato vettoriale garantisce una occupazione minima del file contenente i dati rispetto ad un formato raster. Un ulteriore vantaggio è dato dal fatto che ogni vettore descrive una strada e quindi i punti sono già ordinati per ricostruirla. Il file non contiene alcuna intestazione ma le coordinate usate sono riferite ad un sistema di riferimento assoluto che corrisponde a quello usato nell intestazione della mappa del terreno. In questa mappa viene descritta un area di 18x18 Km quindi ben più vasta di quella da noi considerata. I passi adottati per trattare la mappa sono i seguenti: 1. Estrazione della sola zona di interesse; 2. Traslazione per far coincidere le strade con il terreno; 3. Estrazione di tutte le intersezioni; 4. Eliminazione dei pixel rumorosi estranei alle strade; 5. Incremento del numero di punti di ogni vettore; 6. Costruzione della geometria; 7. Realizzazione dello shader; I primi due punti sono realizzati mediante un unico semplice tool che, attraverso un semplice confronto tra le coordinate dell intestazione della mappa del terreno e quelle di ogni singola strada, estrae i vettori dalla sola zona di interesse. Successivamente ad ogni coordinata viene aggiunto un fattore di traslazione per riferire il tutto ad una nuova origine posta nell angolo alto a sinistra della mappa del terreno. Per eseguire il terzo punto viene effettuata una veloce scansione di ogni vettore in modo da estrarre tutte le intersezioni tra le diverse strade. Lo scopo

33 3.2 Mappa Stradale 33 di questa operazione è quello di fornire un ulteriore file che verrà utilizzato nel quarto punto per eliminare i punti e i segmenti rumorosi. Un vettore viene considerato una strada quando questo al suo interno contiene almeno un punto di intersezione con un altro vettore. Figura 3.2: Mappa Stradale della città di Trento La distanza tra un punto e l altro all interno di ogni vettore è variabile: nei tratti rettilinei ci sono pochi punti con distanze elevate, spesso qualche centinaio di metri, nelle curve invece ci sono molti punti e possono essere anche a pochi metri di distanza. Questo formato garantisce la buona descrizione della mappa, con un errore basso ma soprattutto con un numero molto ridotto di punti. Le tratte troppo lunghe possono costituire un problema in quanto non si adattano bene alla superficie, a causa della differenza di livello. L errore lo si nota subito poichè si vedono strade che sprofondano oppure che si alzano: la descrizione delle strade non include l altimetria poichè viene calcolata punto per punto riferendosi alla mappa del

34 34 Gestione delle mappe GIS terreno. Quindi per avere un spessore dello strato di asfalto non superiore ai 10 centimetri è stato impostata una distanza massima tra i punti dei vettori di 2 metri. Si passa così alla realizzazione della strada dal punto di vista geometrico all interno dell ambiente RenderMan. Per far questo si devono considerare i segmenti ottenuti unendo i punti dei vettori come gli assi delle strade. Per ogni singolo punto un apposito algoritmo ne calcola altri quattro lungo la bisettrice degli angoli formati dall unione delle coppie di segmenti. I quattro punti iniziali e finali vengono calcolati in direzione ortogonale rispetto all unico segmento che toccano. Queste nuove coordinate saranno unite parallelamente in modo da definire il margine della carreggiata ed il limite della strada da entrambi i lati. La figura 3.3 aiuta a capire la posizione dei punti calcolati e come vengono tra loro uniti per formare la geometria della strada. Figura 3.3: Algoritmo per costruire la geometria delle strade Per ognuno dei quattro punti viene calcolata l altezza corrispondente nella mappa. Per i due punti centrali viene scelta come unica altezza quella di valore maggiore tra le due e successivamente viene aggiunto uno spessore di 10 centimetri. In questo modo l asse ortogonale alla direzione sarà sempre pianeggiante.

35 3.3 Mappa Tematica 35 Figura 3.4: La mappa stradale sovrapposta al terreno La primitiva geometrica utilizzata per descrivere le strade è una Patch- Mesh con interpolazione lineare. L immagine 3.4 mostra come la strada di adatta al terreno: le coordinate che controllano la mesh sono state calcolate in modo da non lasciare buchi tra la PatchMesh ed il terreno, allo stesso tempo il manto stradale non viene mai superato in altezza dal terreno. Infine basterà aggiungere lo shader per dare alla primitiva geometrica un aspetto più realistico simile al materiale asfalto con le strisce lungo la direzione parallela alla strada. 3.3 Mappa Tematica In modo marginale è stata utilizzata anche una mappa tematica dove sono distinte alcune zone di particolare interesse. Da questo tipo di mappa sono state ricavate alcune informazioni particolarmente utili come l estensione dell area urbana, la forma e la posizione dei corsi d acqua. La mappa non contiene l intestazione e i dati sono memorizzati in formato raster, su ogni cella della matrice compare una delle lettere dalla A alla O che indica la tipologia di terreno a cui appartiene quel punto, ad esempio la lettera L indica l area urbana. La matrice ha 1800 righe e 1800 colonne ed passo tra una cella e l altra è di 10 m, ogni punto descrive un area di 10x10 m e l estensione totale della mappa comprende un area di 18x18 Km.

36

37 Capitolo 4 Generatore di città Il Generatore di città è il cuore del progetto: il suo compito è quello di esaminare le mappe per creare, gestire gli spazi e disporre gli edifici. In questa parte del progetto viene gestito l aspetto geometrico di basso livello che tuttavia rappresenta la parte più complessa e costosa dal punto di vista computazionale dopo la fase di rendering. L intero processo può essere suddiviso in più passi: 1. Generazione di un immagine in formato PGM a partire dalla mappa stradale; 2. Riconoscimento delle aree e calcolo delle relative mappe delle distanze; 3. Confronto con la mappa tematica per ricavare le aree urbane; 4. Posizionamento di rettangoli di diverse misure che diventeranno le basi degli edifici; Alla fine sarà generato un file che conterrà le quattro coordinate di ogni rettangolo in formato vettoriale. Queste informazioni verranno passate ad un altro algoritmo per costruire le case sia dal punto di vista puramente geometrico che delle caratteristiche delle superfici. In questo capitolo verranno spiegati non solo i principi di funzionamento del generatore di città ma anche le parti più significative del codice implementato. Il primo obiettivo è trovare un metodo per dislocare in modo realistico gli edifici. Dall osservazione di altri progetti [19] [6] [16], di altri algoritmi e di foto satellitari [8] abbiamo notato alcuni aspetti:

38 38 Generatore di città Gli edifici sono generalmente allineati con la strada più vicina; Le case tendono ad essere raggruppate e vicine tra loro; Le dimensioni degli edifici dipendono dalla distanza dal centro e dalla zona a cui appartengono. Normalmente le aree più piccole si trovano nei centri delle città e quelle più grandi all esterno quindi la dimensione della base dell edificio può essere legata alla dimensione dell area dove l edificio sarà situato. 4.1 Mappa delle Etichette e delle Distanze Il primo problema affrontato riguarda la gestione della mappa: elaborare una matrice di 36 milioni di celle è un operazione computazionalmente pesante per qualsiasi strumento di calcolo. Un buon metodo, utilizzato anche in altri progetti, è quello di considerare le aree racchiuse dalle strade. In questo modo tutta la mappa viene suddivisa in un circa 450 aree di diverse dimensioni. La scomposizione in aree dell intera regione è stata eseguita con un algoritmo scritto in C++ già esistente: RegionDetect. Questo programma permette di identificare le regioni presenti in un immagine in formato PGM (Portable Greyscale Bitmap). Come output il programma di riconoscimento delle regioni fornisce due file che sono rispettivamente la mappa delle etichette e la mappa delle distanze. Per prima cosa è stato scritto in JAVA un piccolo software Vect Raster.java che dalla mappa stradale genera l immagine in formato PGM a 2 colori. Questo tool necessita di alcuni parametri per generare l output: dimensione X e Y dell immagine PGM; colore delle strade (nero x default); colore delle aree (bianco x default); spessore delle strade; nome del file di input; nome del file di output.

39 4.1 Mappa delle Etichette e delle Distanze 39 Per poter controllare il sistema di posizionamento delle case in modo abbastanza accurato si dovrà generare un immagine PGM di 6000x6000 pixel (1 pixel = 1 m 2 ). Inoltre si dovrà impostare lo spessore delle strade che permette di decidere la distanza minima tra la casa e l asse stradale. Per eseguire la conversione da formato vettoriale a formato raster occorre aggiungere tutti i pixel che mancano tra una coppia di coordinate. L algoritmo valuta la distanza verticale dy ed orizzontale dx in pixel tra le coppie di coordinate e sceglie quella maggiore (vedi Fig 4.1). dy dx Figura 4.1: Algoritmo di trasformazione da vettoriale a raster La distanza maggiore corrisponde al numero di pixel da aggiungere per unire i due punti, quindi per ogni coordinata aggiunta in una direzione se ne dovrà aggiungere una quantità dy/dx (oppure dx/dy se dx > dy) che dovrà essere arrotondata al pixel più vicino. Dovranno così essere aggiunti tutti i punti mancanti che permettono di ricostruire l immagine in formato raster. Fino a questo punto è stato solamente descritto l asse della strada ma nel caso considerato può essere molto utile inserire anche l ingombro della strada in modo da non doverne tener conto quando si dovranno gestire le aree. Per questo motivo è stato introdotto anche un parametro per indicare lo spessore della strada. Per ogni singolo pixel ne vengono aggiunti altri tutti attorno in modo da formare un quadrato con il lato pari allo spessore e con punto centrale il punto originale.

40 40 Generatore di città Il passo successivo, dopo aver generato l immagine, è quello di applicare l algoritmo di Region Detection per generare la mappa delle etichette e la mappa della distanze. I parametri da passare a questo tool sono: colore delle linee che separano le aree (nero x default); nome del file PGM di input; nome dei file di output; Per l output basta indicare solo il nome dei file che poi saranno distinti da due estensioni diverse: rispettivamente lbl per la mappa delle etichette e dst per la mappa della distanze. In entrambi i file i dati si trovano in formato matriciale con una breve intestazione che ne indica il numero di righe e colonne. Ogni cella delle due matrici contiene un numero intero in formato binario, ciò significa che se ogni intero occupa 4 byte ognuno dei due file occuperà = Mb. Il valore contenuto in una cella della mappa delle etichette indica l area di appartenenza del pixel in quella precisa posizione. Nell altra mappa invece si trova il valore della distanza dalla strada di quello stesso pixel. Le informazioni che queste due mappe portano sono semplicissime e tali dimensioni del file sono giustificate dalla precisione: un pixel descrive un metro di terreno. Due apposite classi che si chiamano Label Map.java e Distance Map.java permettono di creare due oggetti in grado di contenere tutte le informazioni relative ad entrambe le mappe. Nonostante le grandi dimensioni dei due file tutti i dati vengono caricati in RAM per garantire la massima velocità di elaborazione al momento del posizionamento. Il file viene aperto in lettura ed in modalità di accesso casuale. Successivamente viene letta la prima riga, l unica riga di intestazione, da cui si ricavano i valori riguardanti il numero di righe ed il numero di colonne, salvati nelle rispettive variabili row e col. La conoscenza del numero di righe e colonne permette di allocare la quantità sufficiente di memoria per la matrice, sulla quale saranno immagazzinati tutti i valori, e per un array di byte che momentaneamente conterrà l intero file. Il file viene caricato tutto con un unica fase di lettura in modo da avere un unico accesso al disco per ridurre il tempo totale di elaborazione.

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali.

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali. 1 Le immagini digitali Le immagini digitali Università IUAV di venezia Trattamento di immagini digitali immagini grafiche immagini raster immagini vettoriali acquisizione trattamento geometrico trattamento

Dettagli

Creare superfici. Le superfici. Informatica Grafica ][ Le superfici. Le superfici. Le superfici. Le superfici

Creare superfici. Le superfici. Informatica Grafica ][ Le superfici. Le superfici. Le superfici. Le superfici Informatica Grafica ][ Creare superfici Come visto nel corso di IG1, gli oggetti 3D vengono memorizzati attraverso le superfici che li delimitano. In Maya esistono 3 diverse classi di superfici: Marco

Dettagli

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini ACQUISIZIONE ED ELABORAZIONE DELLE IMMAGINI Teoria e pratica La digitalizzazione La digitalizzazione di oggetti legati a fenomeni di tipo analogico, avviene attraverso due parametri fondamentali: Il numero

Dettagli

Luci/Ombre. YAFARAY motore di rendering Open Source. Federico Frittelli aka fredfrittella. SUTURA-studio di progettazione.

Luci/Ombre. YAFARAY motore di rendering Open Source. Federico Frittelli aka fredfrittella. SUTURA-studio di progettazione. Luci/Ombre YAFARAY motore di rendering Open Source Federico Frittelli aka fredfrittella SUTURA-studio di progettazione LinuxDay, 2010 fredfrittella (SUTURA-studio di progettazione) Luci/Ombre 23 Ottobre

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

ELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2

ELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2 DAVIDE ZANIN 1035601 ELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2 SOMMARIO Elaborazione di dati tridimensionali - Relazione Homework 2... 1 Obiettivo... 2 Descrizione della procedura seguita...

Dettagli

Le fattispecie di riuso

Le fattispecie di riuso Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Plate Locator Riconoscimento Automatico di Targhe

Plate Locator Riconoscimento Automatico di Targhe Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa

Dettagli

ARCHITETTURA. Rubrica Infografica

ARCHITETTURA. Rubrica Infografica RICOSTRUZIONE/Empler 26-07-2007 13:06 Pagina 47 PROGETTARE ARCHITETTURA Tommaso Empler* Rubrica Infografica Ricostruzione infografica di una situazione ambientale urbana Dopo aver illustrato le procedure

Dettagli

Capitolo V : Il colore nelle immagini digitali

Capitolo V : Il colore nelle immagini digitali Capitolo V : Il colore nelle immagini digitali Lavorare con il colore nelle immagini digitali L uso dei colori nella visione computerizzata e nella computer grafica implica l incorrere in determinate problematiche

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

3DE Modeling Professional

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

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Il menu File contiene tutti i comandi relativi alle seguenti operazioni:

Il menu File contiene tutti i comandi relativi alle seguenti operazioni: 1 - FILE FIGURA 1.1 Il menu File contiene tutti i comandi relativi alle seguenti operazioni: - apertura e salvataggio di disegni nuovi ed esistenti; - spedizione di disegni tramite email; - collegamento

Dettagli

Compilatore risorse display grafico LCD serie IEC-line

Compilatore risorse display grafico LCD serie IEC-line Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

3D e Realtà Virtuale

3D e Realtà Virtuale 3D e Realtà Virtuale Modello 3D La costruzione di un modello 3D, così come la realizzazione di un plastico tradizionale, necessita di grande precisione e attenzione conoscitiva. Tale modello convoglia

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dettagli

Creare primitive solide

Creare primitive solide Creare primitive solide I solidi sono caratterizzati dal fatto di avere una massa oltre alle superfici e agli spigoli. Rappresentano l intero volume dell oggetto. Caratteristiche Il solido viene creato:

Dettagli

ISTRUZIONI PER LA DETERMINAZIONE DELL OMBREGGIAMENTO DI SUPERFICI TRASPARENTI SU PARETE VERTICALE

ISTRUZIONI PER LA DETERMINAZIONE DELL OMBREGGIAMENTO DI SUPERFICI TRASPARENTI SU PARETE VERTICALE ISTRUZIONI PER LA DETERMINAZIONE DELL OMBREGGIAMENTO DI SUPERFICI TRASPARENTI SU PARETE VERTICALE Per ogni superficie trasparente presente sulle facciate degli edifici è possibile costruire una maschera

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Il rendering fotorealistico. Conferimento ad oggetti 3D di un aspetto particolarmente fotorealistico

Il rendering fotorealistico. Conferimento ad oggetti 3D di un aspetto particolarmente fotorealistico Il rendering fotorealistico Conferimento ad oggetti 3D di un aspetto particolarmente fotorealistico Rendering fotorealistico Gli oggetti sottoposti a rendering devono essere facce 3D o essere tridimensionali.

Dettagli

PHOTOSHOP BREVE TUTORIAL

PHOTOSHOP BREVE TUTORIAL PHOTOSHOP BREVE TUTORIAL CARATTERISTICHE INNOVATIVE DI PHOTOSHOP CS SOMMARIO Il file browser Galleria dei filtri Disporre testo su un tracciato Paletta degli istogrammi Omogeneizzazione del colore ed acquisizione

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

UNIVERSITÀ DEGLI STUDI DI SIENA

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

Dettagli

Processo di rendering

Processo di rendering Processo di rendering Trasformazioni di vista Trasformazioni di vista Il processo di visione in tre dimensioni Le trasformazioni di proiezione 2 Rendering nello spazio 2D Il processo di rendering (visualizzazione)

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Le ombre in OpenGl. Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale http://varindaniele.altervista.org

Le ombre in OpenGl. Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale http://varindaniele.altervista.org Le ombre in OpenGl Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale http://varindaniele.altervista.org Punto di partenza In OpenGl le luci non proiettano ombre 2 Perché si introducono

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Interesse, sconto, ratei e risconti

Interesse, sconto, ratei e risconti TXT HTM PDF pdf P1 P2 P3 P4 293 Interesse, sconto, ratei e risconti Capitolo 129 129.1 Interesse semplice....................................................... 293 129.1.1 Esercizio per il calcolo dell

Dettagli

Introduzione al 3D con Autocad

Introduzione al 3D con Autocad 2 Introduzione al 3D con Autocad Coso di CAD B condotto da Daniela Sidari a.a. 2012/2013 19.02.2013 Modellazione geometrica 3D wireframe superfici solidi Si distinguono tre tecniche principali di modellazione:

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli

CHIUSURE di MAGAZZINO di FINE ANNO

CHIUSURE di MAGAZZINO di FINE ANNO CHIUSURE di MAGAZZINO di FINE ANNO Operazioni da svolgere per il riporto delle giacenze di fine esercizio Il documento che segue ha lo scopo di illustrare le operazioni che devono essere eseguite per:

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

Rendering air show e verifica della sincronizzazione

Rendering air show e verifica della sincronizzazione Capitolo 5 Rendering air show e verifica della sincronizzazione 5.1 Introduzione Il Rendering 3D dell evoluzioni acrobatiche costituisce uno degli aspetti cruciali dell applicazione realizzata. L ambiente

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Sistema automatico di acquisizione e modellazione 3D a basso costo

Sistema automatico di acquisizione e modellazione 3D a basso costo Sistema automatico di acquisizione e modellazione 3D a basso costo Titolo progetto Unità di Brescia Sviluppo, realizzazione e caratterizzazione metrologica di digitalizzatore a basso costo basato su proiezione

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Specifiche tecniche e funzionali del Sistema Orchestra

Specifiche tecniche e funzionali del Sistema Orchestra Specifiche tecniche e funzionali del Sistema Orchestra Sommario 1. Il Sistema Orchestra... 3 2. Funzionalità... 3 2.1. Sistema Orchestra... 3 2.2. Pianificazione e monitoraggio dei piani strategici...

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Sistemi Informativi Territoriali. Map Algebra

Sistemi Informativi Territoriali. Map Algebra Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Map Algebra Cod.735 - Vers.E57 1 Definizione di Map Algebra 2 Operatori locali 3 Operatori zonali 4 Operatori focali 5 Operatori

Dettagli

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari RIFERIMENTI Università di L Aquila Facoltà di Biotecnologie Agro-alimentari Esame di Laboratorio di informatica e statistica Parte 3 (versione 1.0) Il riferimento permette di identificare univocamente

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Immagini vettoriali. Immagini raster

Immagini vettoriali. Immagini raster Immagini vettoriali Le immagini vettoriali sono caratterizzate da linee e curve definite da entità matematiche chiamate vettori. I vettori sono segmenti definiti da un punto di origine, una direzione e

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

Dettagli

3DE Modeling Color. E il modulo che si occupa della costruzione di modelli 3D con tessitura a colori.

3DE Modeling Color. E il modulo che si occupa della costruzione di modelli 3D con tessitura a colori. 3DE Modeling Color E il modulo che si occupa della costruzione di modelli 3D con tessitura a colori. E spesso necessario che alle informazioni geometriche di forma siano abbinate informazioni di colore

Dettagli

RILIEVO LASER SCANNER PARETE MARMOREA XXXXXXXXXXXXX

RILIEVO LASER SCANNER PARETE MARMOREA XXXXXXXXXXXXX RILIEVO LASER SCANNER PARETE MARMOREA XXXXXXXXXXXXXXXXXX PROVA n. 3651/XX Committente: Relatore: XXXXXXXXXXXXX ing. Georg Schiner Vista della parete di intarsio marmoreo XX/88/09/mt Bolzano, 9 Settembre

Dettagli

Dal foglio di carta alla multimedialità

Dal foglio di carta alla multimedialità Dal foglio di carta alla multimedialità Multimediale Che utilizza più mezzi di comunicazione. Nell'ambito delle tecnologie educative significa utilizzare più mezzi didattici integrati. IPERTESTO E IPERMEDIA

Dettagli

IMMAGINE BITMAP E VETTORIALI

IMMAGINE BITMAP E VETTORIALI BITMAP VETTORIALE VETTORIALE BITMAP IMMAGINE BITMAP è una immagine costituita da una matrice di Pixel. PIXEL (picture element) indica ciascuno degli elementi puntiformi che compongono la rappresentazione

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

AddCAD per ZWCad. Passa alla progettazione 3D rimanendo sul tuo Cad famigliare

AddCAD per ZWCad. Passa alla progettazione 3D rimanendo sul tuo Cad famigliare AddCAD per ZWCad Passa alla progettazione 3D rimanendo sul tuo Cad famigliare Passare alla progettazione 3D è un salto di qualità che molti Professionisti tentano di compiere, ma in tanti casi senza successo.

Dettagli

MANUALE DELLA QUALITÀ Pag. 1 di 6

MANUALE DELLA QUALITÀ Pag. 1 di 6 MANUALE DELLA QUALITÀ Pag. 1 di 6 INDICE GESTIONE DELLE RISORSE Messa a disposizione delle risorse Competenza, consapevolezza, addestramento Infrastrutture Ambiente di lavoro MANUALE DELLA QUALITÀ Pag.

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

ColorSplitter. La separazione automatica dei colori di Colibri.. Perché ColorSplitter? Come opera ColorSplitter?

ColorSplitter. La separazione automatica dei colori di Colibri.. Perché ColorSplitter? Come opera ColorSplitter? ColorSplitter La separazione automatica dei colori di Colibri.. ColorSplitter è una nuova funzionalità aggiunta a Colibri, che permette di elaborare un immagine trasformandola in una separata in canali

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

DigiCad 3D 8.5. Note di rilascio

DigiCad 3D 8.5. Note di rilascio Note di rilascio DigiCad 3D 8.5-1 - DigiCad 3D 8.5 Note di rilascio Queste note descrivono le differenze fra la versione 8.5 di DigiCad 3D e le versioni precedenti. Per maggiori informazioni si rimanda

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire

Dettagli

ascoltare ispirare e motivare miglioramento problem solving Flex360 pianificare comunicare la vision organizzare

ascoltare ispirare e motivare miglioramento problem solving Flex360 pianificare comunicare la vision organizzare Flex360 La valutazione delle competenze online comunicare la vision ascoltare problem solving favorire il cambiamento proattività pianificare miglioramento organizzare ispirare e motivare Cos è Flex360

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

WEB SEMINAR Dettaglio servizio

WEB SEMINAR Dettaglio servizio WEB SEMINAR Dettaglio servizio INTRODUZIONE L organizzazione di un web seminar prevede diverse e ben distinte fasi che iniziano con la promozione dell evento e si concludono con i report relativi alle

Dettagli

WORD 97 SCRIVERE UNA TESI DI LAUREA

WORD 97 SCRIVERE UNA TESI DI LAUREA WORD 97 SCRIVERE UNA TESI DI LAUREA PASSO 1 Per prima cosa pensiamo al formato generale della pagina: i margini richiesti da una tesi sono quasi sempre più ampi di quelli di un testo normale. Apriamo ora

Dettagli

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith Configurazione della ricerca desktop di Nepomuk Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith 2 Indice 1 Introduzione 4 1.1 Impostazioni di base....................................

Dettagli

Giornale di Cassa e regolarizzazione dei sospesi

Giornale di Cassa e regolarizzazione dei sospesi Servizi di sviluppo e gestione del Sistema Informativo del Ministero dell Istruzione dell Università e della Ricerca Giornale di Cassa e regolarizzazione dei sospesi Guida Operativa Versione 1.0 del RTI

Dettagli

DALLE CARTE ALLE SEZIONI GEOLOGICHE

DALLE CARTE ALLE SEZIONI GEOLOGICHE DALLE CARTE ALLE SEZIONI GEOLOGICHE PROFILO TOPOGRAFICO Il profilo topografico, detto anche profilo altimetrico, è l intersezione di un piano verticale con la superficie topografica. Si tratta quindi di

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

PowerPoint 2007 Le funzioni

PowerPoint 2007 Le funzioni PowerPoint 2007 Le funzioni Introduzione Cos è un ipertesto L' ipertesto è un testo organizzato in link, o collegamenti ad altre parti del testo e/o altri testi, in modo da consentire all utente di scegliere

Dettagli

RILIEVO TRIDIMENSIONALE DEL «CONVENTO ROSSO», SOHAG (EGITTO)

RILIEVO TRIDIMENSIONALE DEL «CONVENTO ROSSO», SOHAG (EGITTO) 1 RILIEVO TRIDIMENSIONALE DEL «CONVENTO ROSSO», SOHAG (EGITTO) DI MASSIMO SABATINI Lo studio finalizzato ad un interesse di carattere statico e conservativo eseguito sulle volumetrie degli oggetti, ha

Dettagli

IR(3): Illuminazione Globale

IR(3): Illuminazione Globale IR(3): Illuminazione Globale Alessandro Martinelli alessandro.martinelli@unipv.it 21 Dicembre 2011 IR(3): Illuminazione Globale Illuminazione e Rendering: Principi di Illuminazione Rendering Real-Time

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

Dettagli

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti MS Word per la TESI Barra degli strumenti Cos è? Barra degli strumenti Formattazione di un paragrafo Formattazione dei caratteri Gli stili Tabelle, figure, formule Intestazione e piè di pagina Indice e

Dettagli

SVG Editor. Istituto Italiano Edizioni Atlas 1

SVG Editor. Istituto Italiano Edizioni Atlas 1 SVG Editor SVG-edit è un applicazione per la creazione e modifica di grafica vettoriale in formato svg disponibile on-line. E compatibile con qualsiasi browser, essendo realizzato in linguaggio JavaScript.

Dettagli

CAPITOLO VII USO DELLA CARTA TOPOGRAFICA

CAPITOLO VII USO DELLA CARTA TOPOGRAFICA CAPITOLO VII USO DELLA CARTA TOPOGRAFICA LA CARTA TOPOGRAFICA 88. La carta topografica è una rappresentazione grafica di una parte più o meno ampia della superficie terrestre in una determinata scala.

Dettagli

DEPLOY YOUR BUSINESS

DEPLOY YOUR BUSINESS DEPLOY YOUR BUSINESS COS É ARROCCO? E uno strumento online per lo sviluppo del Piano Economico-Finanziario del Business Plan. Arrocco è uno strumento online appositamente progettato per lo sviluppo di

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

Come valutare le caratteristiche aerobiche di ogni singolo atleta sul campo

Come valutare le caratteristiche aerobiche di ogni singolo atleta sul campo Come valutare le caratteristiche aerobiche di ogni singolo atleta sul campo Prima di organizzare un programma di allenamento al fine di elevare il livello di prestazione, è necessario valutare le capacità

Dettagli

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica Progetto Portale Turistico Regionale Andrea Polini, Oliviero Riganelli, Massimo Troiani Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) Progetto 1 / 12 Il progetto - descrizione

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri COMPETENZA CHIAVE MATEMATICA Fonte di legittimazione Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE L alunno utilizza il calcolo scritto e mentale con i numeri

Dettagli

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

11. Evoluzione del Software

11. Evoluzione del Software 11. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) COMUNE DI RAVENNA Il sistema di valutazione delle posizioni del personale dirigente GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) Ravenna, Settembre 2004 SCHEMA DI SINTESI PER LA

Dettagli