Rendering. Dove si descrivono i principali metodi di alto livello utilizzati per ottenere una immagine a partire da una descrizione degli oggetti 3D

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Rendering. Dove si descrivono i principali metodi di alto livello utilizzati per ottenere una immagine a partire da una descrizione degli oggetti 3D"

Transcript

1 Rendering Dove si descrivono i principali metodi di alto livello utilizzati per ottenere una immagine a partire da una descrizione degli oggetti 3D Introduzione Rendering di mesh poligonali 3D Viewing Clipping Shading Rimozione delle facce nascoste Scan conversion La rendering pipeline Rendering di altre descrizioni

2 Grafica al Calcolatore Rendering - 1 Introduzione Modeling (modellazione) e Rendering sono i due stadi principali della pipeline grafica. Fin ora abbiamo parlato di modellazione. Il termine rendering indica la serie di algoritmi, geometrici e non, a cui si sottopone una data descrizione di una serie di oggetti per ottenere una immagine Le descrizioni possono essere: mesh poligonali superfici parametriche CSG volumetriche Per ogni descrizione esistono tecniche ad hoc. Ci occuperemo nel dettaglio di mesh poligonali, perché: sono la rappresentazione più diffusa le altre rappresentazioni si possono ricondurre a questa.

3 Grafica al Calcolatore Rendering - 2 Rendering di mesh poligonali L ingresso è una lista di poligoni, e l uscita è una immagine, ovvero una matrice di pixels a ciascuno dei quali è associato un colore. Rendering Modeling front end Geometric processing back end Rasterization Display Transformations Clipping Projection Hidden surface removal Shading Scan conversion La primitiva geometrica che viene processata sono i poligoni Tuttavia il processo può essere object driven oppure image driven, a seconda che il ciclo più esterno sia sui poligoni o sui pixel (Angel pg. 284).

4 Grafica al Calcolatore Rendering - 3 3D Viewing Vedremo come vengono gestite dal punto di vista geometrico le trasformazioni 3D e la proiezione prospettica. In molti sistemi grafici (e OpenGL non fà eccezione) il processo coinvolge diversi sistemi di riferimento e trasformazioni tra di essi. Uno di questi è la proiezione. Il motivo dell esistenza di diversi sistemi di riferimento sarà chiaro nel seguito.

5 Grafica al Calcolatore Rendering - 4 Sistemi di coordinate Spazio Locale (local space): è lo spazio dove ciascun singolo oggetto viene definito. Si chiama anche spazio oggetto (object space) o spazio di modellazione (modeling space) Spazio Mondo (world coordinate system): è lo spazio dove la scena o l oggetto completo è rappresentato. Spazio Vista (view space): è un sistema di riferimento centrato sulla telecamera virtuale, che definisce il volume (o frustum) di vista. Si chiama anche camera coordinate system o empheye coordinate system. Spazio 3D-Screen: è lo spazio di vista canonico, che si ottiene trasformando (con deformazione) il volume di vista (frustum) in un parallelepedo. Molte operazioni del processo di rendering avvengono qui (in 3D normalized device coordinates). Spazio Immagine è il sistema di coordinate della immagine finale (pixel). Si ottiene proiettando ortogonalmente il volume di vista canonico e trasformando le coordinate 2D.

6 Grafica al Calcolatore Rendering - 5 Proiezione prospettica Y image plane X P image P C pinhole Z object d Il modello geometrico più semplice della formazione dell immagine è la pinhole camera (letteralmente: macchina fotografica a foro di spillo.) Sia P un punto della scena, di coordinate (x, y, z) e sia P la sua proiezione sul piano vista (o immagine), di coordinate (x, y, z ). Se d è la distanza del foro (o centro di proiezione) C dal piano immagine (distanza focale), allora dalla similarità dei triangoli si ottiene: x d = x z e y d = y z (1)

7 Grafica al Calcolatore Rendering - 6 e quindi x = dx z y = dy z z = d (2) Si noti che l immagine è invertita rispetto alla scena, sia destra-sinistra che sopra-sotto, come indicato dal segno meno. Queste equazioni definiscono il processo di formazione dell immagine che prende il nome di proiezione prospettica. In forma matriciale si può effettuare la proiezione prospettica, applicando ai punti P rappresentati in coordinate omogenee ( P = (x, y, z, 1)) la matrice di proiezione prospettica 3 4: M = /d 0 dove d è la distanza tra C ed il piano vista (distanza focale). Si ottiene cosìuna tripla P = (x, y, z/d), che rappresenta in coordinate omogenee il punto di coordinate cartesiane P = ( x, y ). P è la proiezione di P sul piano (z/d) (z/d) vista.

8 Grafica al Calcolatore Rendering - 7 La divisione prospettica (o normalizzazione proiettiva) indica il passaggio da coordinate omogenee a coordinate cartesiane e consiste nel dividere per l ultima coordinata omogenea e rimuovere l 1 rimanente. Da notare che nella proiezione si perde l informazione di profondità di un punto, ovvero punti con z iniziale di partenza diversa vengono proiettati nello stesso punto sul piano proiettivo Vi è modo di recuperare tale informazione? Vedremo nel seguito che sarà molto importante poter stabilire dati due punti proiettati nella stessa posizione quale dei due ha profondità (distanza dal piano vista) minore

9 Grafica al Calcolatore Rendering - 8 Spazio vista Lo spazio vista (o view space) è un sistema di coordinate centrato sulla telecamera con l aggiunta della specifica di un volume di vista: un view point C, che stabilisce la posizione dell osservatore nel world space e definisce il centro della proiezione. un sistema di riferimento desctrorso UVN centrato sull osservatore, che definisce la direzione di vista - N e la direzione verticale V (U non ha scelta e punta alla destra dell osservatore). un piano vista (view plane), ortogonale a N e distante d da C, sul quale viene proiettata la scena un volume di vista (o frustum), definito da due piani di taglio (clipping) paralleli al view plane, il near plane ed il far plane. L intersezione del frustum con il piano vista definisce la finestra di vista

10 Grafica al Calcolatore Rendering - 9 far plane y V view plane w near plane z N C U x d θ n h f Il frustum è definito dall angolo di vista (verticale) θ e dal fattore di aspetto a = w/h della finestra di vista.

11 Grafica al Calcolatore Rendering - 10 In linea di principo, nello spazio vista si potrebbe effettuare la proiezione prospettica, applicando ai punti P la matrice la matrice di proiezione prospettica vista prima. si noti che abbiamo messo il piano vista davanti al centro di proiezione, ma l asse Z punta indietro, quindi le equazioni della proiezione prospettica rimangono inalterate. La proiezione viene effettuata in modo più contorto (apparentemente) di quello appena visto introducendo la trasformazione prospettica (che porta nello spazio 3D-Screen) per poter aggiungere informazione di profondità ai punti proiettati.

12 Grafica al Calcolatore Rendering - 11 Spazio 3D-Screen Trasformazione prospettica Invece di proiettare i punti, applichiamo loro la trasformazione 3D specificata dalla seguente matrice (parente della matrice di proiezione prospettica a ); M = /d 0 Si ottiene cosìuna 4-pla P = (x, y, z, z/d), che dopo la divisione prospettica sortisce P = ( x, y, d) (z/d) (z/d) Le prime due componenti di P sono le coordinate del punto proiettato. La terza coordinata è inutile, nel senso che è uguale a d per tutti i punti proiettati (infatti il piano vista ha equazione z = d). Si osservi che non viene etteffuata alcuna proiezione, anche se le coordinate del punto proiettato prospetticamente sono disponibili. a Angel chiama questa matrice di trasformazione prospettica

13 Grafica al Calcolatore Rendering - 12 Si vuole costruire una trasformazione che abbia le stesse coordinate x ed y della proiezione standard, ma che metta nella coordinata z un valore dal quale si possa risalire all ordine di profondità dei punti. A tal scopo sostituiamo la matrice M vista prima con la seguente matrice (che prende il nome di matrice di trasformazione prospettica b ): M = α β 0 0 1/d 0 Applicando M a P si avrà quindi la 4-pla (x, y, αz + β, z/d) che, dopo la divisione prospettica fornisce P = ( x, y, dα dβ/z) (z/d) (z/d) Le prime due componenti sono identiche alla proiezione standard, ma la terza componente (pseudo-profondità) z s = dα dβ/z. per valori opportuni di α e β è una funzione monotona di z. La relazione tra z e z s è non lineare, ma l ordinamento sulla profondità è conservato. b Angel la chiama matrice di normalizzazione prospettica

14 Grafica al Calcolatore Rendering - 13 Volume di vista canonico La trasformazione (normalizzazione) prospettica mappa il frustum di vista in un parallelepipedo (per αeβ opportuni) chiamato volume di vista canonico. Gli oggetti vengono distorti di conseguenza. Proiettando questo parallelepipedo ortogonalmente (ovvero si elimina la terza coordinata cartesiana, z s nel nostro caso) si ottiene la proiezione prospettica desiderata. y y s z x z s x s sintetizzando, la proiezione prospettica viene realizzata in due fasi: proiezione prospettica = trasformazione prospettica + proiezione ortografica Se invece si voleva effettuare una proiezione ortogonale (ortografica), basta sostituire la trasformazione prospettica con una trasformazione (affine) che mappa il volume di vista (un parallelepipedo in questo caso) nel volume di vista canonico.

15 Grafica al Calcolatore Rendering - 14 Diversi sietemi (PHIGS, OpenGL, Renderman,...) adottano convenzioni diverse per le dimensioni del volume di vista canonico. In OpenGL il volume di vista canonico un cubo di lato unitario, in cui il far plane ha equazione z s = 1, ed il near plane z s = 1 Vogliamo dunque scegliere α e β in modo che l intervallo di profondità z [n, f] venga mappato in z s [ 1, 1]. z= f y z= n y=+1 y z z piano immagine piano immagine y= 1 z=+1 z= 1 Nota: il piano vista si prende coincidente con il near plane, dunque d = n.

16 Grafica al Calcolatore Rendering - 15 Una tale trasformazione è implementata dalla seguente matrice di trasformazione prospettica con M = c/a c α β α = f + n n f β = 2fn n f c = cot(θ/2) Si può verificare trasformando i vertici del frustum di vista. Questa matrice 4 4 viene chiamata anche (in terminologia OpenGL) matrice di proiezione (projection matrix) anche se, a rigore, non effettua una proiezione dello spazio 3D, ma una sua trasformazione. Si noti che abbiamo sempre considerato la trasformazione operata da una matrice in coordinate omogenee composta da: moltiplicazione matrice-vettore seguita da divisione prospettica. Risulterà utile per il clipping separare le due operazioni (vedi pipeline OpenGL).

17 Grafica al Calcolatore Rendering - 16 Spazio Immagine La trasformazione nello spazio immagine si applica dopo la proiezione ortografica. Dipende dalle caratteristiche del display (in senso ampio) Ai punti proiettati del 3D screen viene applicata una matrice di trasformazione affine che : ripristina il fattore di aspetto corretto per l immagine (distorto dalla trasformazione prospettica) scala e trasla l immagine per aggiustarla alla finestra di vista corrente (es )

18 Grafica al Calcolatore Rendering - 17 Clipping Il clipping consiste nella rimozione dei poligoni che cadono fuori dal volume di vista. avviene nello spazio 3D screen: infatti lavorando con il volume di vista canonico, l operazione risulta semplificata, poiché le facce del volume di vista sono ortogonali. I due principali algoritmi di clipping sono (non li vedremo, ma sono spiegati nell Angel, a pg. 288 e seguenti): Cohen-Sutherland Liang-Barsky Esempio di uso del near plane per vedere all interno degli ogetti. c Alan Watt

19 Grafica al Calcolatore Rendering - 18 Shading Gli algoritmi di shading consentono di colorare i poligoni, ovvero di assegnare un colore ai pixels sui quali il poligono viene proiettato. A monte serve un modello di riflessione locale consente di asseganre un colore a ciscun punto di una superficie (3D). Il modello di riflessione locale è trattato in un altro capitolo. Qui diciamo solo che per calcolare il colore di un punto servono: la normale M della superficie nel punto, il vettore V che punta verso l osservatore (direzione di vista) ed il vettore L che punta verso la sorgente luminosa.

20 Grafica al Calcolatore Rendering - 19 In una mesh poligonale a cisascun vertice di un poligono è associata una normale M. Ogni faccia ha una lista di vertici e di normali di vertice (quindi lo stesso vertice può essere associato a normali diverse) Tipicamente: Se la superficie da rappresentare è poliedrica allora ciascun vertice di una faccia ha la medesima normale (la normale della faccia). Se invece la mesh è una approssimazione di una superficie interpolante, in ciascun vertice mettiamo la normale alla superficie. Comunque possiamo mettere quello che vogliamo: la normale di vertice è non è un concetto definito matematicamente. dunque l applicazione del modello di riflessione avviene sui vertici dei poligoni (nello spazio vista) quelli che vediamo sono essenzialmente schemi di interpolazione di valori calcolati sui vertici dei poligoni, che si applicano durante il processo di scan-conversion del poligono.

21 Grafica al Calcolatore Rendering - 20 Flat shading Il flat shading è il più semplice di tutti: si colora una faccia con un colore. Se la normale fosse definita per la faccia, si colorerebbe il poligono con il colore ottenuto usando la sua normale M ed il modello di riflessione locale. Poiché la normale è definita sul vertice, si calcola il colore su un solo vertice del poligono (il primo che si incontra) usando il modello di riflessione locale, e si applica quel colore a tutto il poligono. Nota: Per una suprficie poliedrica, se il punto di vista e la sorgente luminosa sono lontani, i vettori V ed L sono costanti su una faccia, quin di è corretto, secondo il modello di riflessione locale, assegnare un solo colore a tuta la faccia.

22 Grafica al Calcolatore Rendering - 21 Vantaggi: semplicità e velocità Svantaggi: Si percepiscono distintamente i poligoni. Questo effetto è indesiderato quando la mesh rappresenta una superficie continua. La normale, infatti, varia e quindi anche il colore associato a triangoli vicini. c Alan Watt Anche nel caso di superfici piatte, se osservatore e luce sono vicini, mentre M è costante su tutta la superficie, V ed L cambiano da triangolo a triangolo, quindi i triangoli hanno colori diversi, e si può percepire la transizione.

23 Grafica al Calcolatore Rendering - 22 c Alan Watt

24 Grafica al Calcolatore Rendering - 23 Gouraud shading È la tecnica di shading interpolative più antica, e la più semplice (veloce) che produce una variazione dell intensità atraverso il poligono. si considerano le normali di vertice; si calcola il colore in ogni vertice usando il modello di riflessione locale; si calcola l intensità luminosa dei punti interni al poligono con interpolazione bilineare (vedi esempio di rasterizzazione in fondo) Se la normale alla superficie soggiacente non è disponibile, si può calcolare una normale di vertice fittizia prendendo la media delle normali dei poligoni che condividono il vertice (idea di Gouraud); Nota: nel caso di una superficie poliedrica, in cui le normali ai vertici di ciascuna faccia sono le stesse, si ha lo stesso effetto del flat shading, visto che ai vertici del poligono viene associato il medesimo colore.

25 Grafica al Calcolatore Rendering - 24 Vantaggi: attenua il salto di colre tra facce adiacenti, è semplice e veloce (è solo poco più oneroso di flat). Svantaggi: Non elinina completamente la percezione dei poligoni e non rende bene le riflessioni speculari (highlights). c Alan Watt

26 Grafica al Calcolatore Rendering - 25 c Alan Watt

27 Grafica al Calcolatore Rendering - 26 Phong shading Maggiore realismo si ottiene con il metodo di interpolazione di Phong (da non conforndersi con il modello di riflessione locale di Phong). Le normali dei vertici vengono interplate all interno del poligono. La normale interpolata viene usata nel modello di riflessione locale per calcolare il colore dei punti interni al poligono. Il metodo cattura le riflessioni speculari poiché usa il modello di riflessione locale anche sui punti interni del poligono.

28 Grafica al Calcolatore Rendering - 27 Vantaggio: buon realismo. Svantaggi: è circa 5 volte più lento di Gouraud. Per questo spesso confinato all uso off-line. bisogna tirarsi dietro le normali fino alla fase di scan-conversion (quando vengono dipinti i poligoni). Infatti OpenGL non lo supporta per questo motivo: le normali vengono abbandonate dopo la proiezione prospettica c Alan Watt

29 Grafica al Calcolatore Rendering - 28 c Alan Watt

30 Grafica al Calcolatore Rendering - 29 Tecniche di miscelazione Vediamo ora alcune tecniche di miscelazione (compositing) di colori. Per pirma cosa come si rappresenta il colore di un pixel? Ci sono essenzialmente due modi: 1. Indicizzato: viene costruita una tabella di colori predefiniti (la cosiddetta palette); ad ogni pixel si può quindi associare semplicemente un numero intero che indica una posizione nella palette. In genere la dimensione della palette è di 256 elementi a cui corrisponde un frame-buffer a 8-bit di profondità di colore. 2. True color: viene associato ad ogni pixel direttamente un colore parametrizzato dalla sue componenti RGB. In genere ciascuna componente può assumere 256 valori, da 0 a 255; si ha quindi un frame-buffer a 24-bit di profondità di colore. La rappresentazione con RGB non è l unica parametrizzazione di un colore; è quella usata dalle OpenGL, quindi non ne vediamo altre. Nelle OpenGL si possono specificare le componenti RGB con valori float tra 0 e 1 In genere si può associare una quarta componente ad ogni pixel, detta α. Si ha a che fare in tal caso con un frame-buffer RGBA a 32-bit; la componente α può essere usata per esempio per specificare un valore di opacità del pixel.

31 Grafica al Calcolatore Rendering - 30 Opacità In generale si può associare ad un punto oltre all intensità di colore calcolata anche un coefficente di opacità k o compreso tra zero ed uno Se in un punto k o è pari a uno, allora il punto è completamente opaco e si effettua uno shading normalmente con le tecniche che vedremo in questo capitolo. Se k o è pari a zero allora in quel punto l oggetto è completamente invisibile; lo shading di quel punto non conta e bisogna vedere come è colorato il punto che sta otticamente dietro Per valori di k o intermedi bisogna fare un blending del colore I associato a quel punto dal modello di shading ed il colore dietro.

32 Grafica al Calcolatore Rendering - 31 Esempio: si supponga che per un dato pixel si sia stabilito un colore C dopo aver disegnato una serie di poligoni in ordinamento del pittore; si supponga che disegnando un nuovo poligono la formula di shading assegni intensità I per quel pixel dovuta al nuovo poligono e che tale pixel risulti di opacità k o. Allora il dato pixel assumerà un colore pari a C = (1 k o )C + k o I Per inciso, avere poligoni con opacità diversa da 1 è facile da gestire con un algoritmo di rimozione delle facce nascoste tipo BSP (cioè un algoritmo di depth-ordering); è molto più complesso con uno z-buffer (si fa rendendo di sola lettura lo z-buffer in corrispondenza ai poligoni traslucidi, Angel pg. 400) In generale l opacità viene modificata con una texture (vedi dopo)

33 Grafica al Calcolatore Rendering - 32 Depth cueing Una tecnica usata per dare un senso di profondità all immagine è la seguente Si stabilisce un colore di depth-cue pari a C f Se lo shading fornisce il colore C s per il pixel il colore C s con cui si colora il pixel è allora data dalla formula C s = (1 z s )C s + z s C f ovvero si interpola linearmente (usando la profondità nello spazio 3D screen) tra la vera intensità data dallo shading e l intensità di depth-cue. In tal modo oggetti vicini appaiono colorati normalmente (o quasi), oggetti lontani invece sfumano in C f Se C f è nero, per esempio, gli oggetti tendono a sparire man mano che si avvicinano al piano di far clipping (z s = 1) Se C f è bianco, invece, si ha un effetto nebbia Si può anche usare una funzione di z s per avere effetti diversi.

34 Grafica al Calcolatore Rendering - 33

35 Grafica al Calcolatore Rendering - 34 Rimozione delle facce nascoste Dopo che i poligoni hanno attraversato tutte le trasformazioni geometriche e sono stati tagliati (clipping), prima di poterli disegnare dobbiamo risolvere il problema dela rimozione di quelli che non sono visibili dall osservatore. Problema: dati un insieme di poligoni in 3D ed un punto di vista, si vogliono disegnare solo i poligoni visibili (o porzioni di essi). Ogni poligono si assume essere piatto ed opaco. Vi sono essenzialmente due approcci: object-space: l algoritmo lavora sui poligoni stabilendo relazioni di occlusione reciproca. Il costo è quadratico nel numero dei poligoni. Però la precisione è elevata (precisione macchina). image-space: l algoritmo stabilisce occlusioni a livello del pixel. è più veloce ma la precisione è limitata.

36 Grafica al Calcolatore Rendering - 35 Back-face culling Non è un algoritmo generale di rimozione di facce nascoste, ma solo una euristica utile per eliminare subito poligoni ovviamente invisibili. viene effettuato nello spazio vista (o telecamera) l eliminazione delle facce posteriori (o back-face culling), elimina i poligoni che, a causa della loro orientazione, non possono essere visti. Se V è la direzione di vista (punta verso l osservatore) ed N p è la normale al poligono, è facile rendersi conto che il poligono è visibile solo se: N p V > 0 Nota: se la scena è composta da un solo solido convesso, il culling risolve anche il problema della eliminazione delle facce nasoste.

37 Grafica al Calcolatore Rendering - 36 Depth-Buffer È un algoritmo image-space, ma processa un poligono alla volta Opera nel 3D screen space Fa parte del processo di rasterizzazione Il depth-buffer o z-buffer è una matrice (grande come l immagine) che contiene, per ciascun pixel, il più piccolo valore di profondità (z) incontrato finora. Durante il rendering, per ciascun poligono che viene processato: si calcola la profondità (z) dei punti interni con interpolazione della z dei vertici (come l intensità in Gouraud shading). se la z del pixel è inferiore a quella contenuta nello z-buffer, allora la sua intensità viene scritta nell immagine e la z viene viene aggiornata. Vantaggio: semplicità di implementazione Svantaggio: occupazione di memoria: servono almeno bits per pixel per avere una discretizzazione accettabile delle profondità.

38 Grafica al Calcolatore Rendering - 37 Depth-sort Algoritmo Object-space Idea: si disegnano i poligoni dal più lontano al più vicino, così quelli lontani vengono sovrascritti da quelli più vicini (back-to-front rendering). Due problemi: come ordinare i poligoni e cosa fare se si sovrappongono. Non sempre è possibile ordinare i poligoni per profondità. Allora bisogna spezzarli. Algoritmo del pittore: i poligoni vengono ordinati in una lista in base al vertice di massima distanza dall osservatore (o pseudo-profondità). si effettua il rendering dei poligoni della lista, dal più lontano al più vicino. La sovrapposizione non è considerata (si possono di disegnare immagini sbagliate).

39 (! $#" Grafica al Calcolatore Rendering - 38 Depth sort: nell algoritmo di depth sort, dopo avere ordinato i poligoni in base al vertice di massima distanza, vengono risolte le ambiguità, eventualmente spezzando alcune faccie e riordinando la lista. Dati due poligoni P e Q le cui z-estensioni si sovrappongono, è corretto disegnare P prima di Q solo se almeno uno di questi test è vero: 1. le x-estensioni di P e Q sono disgiunte (veloce); 2. le y-estensioni di P e Q sono disgiunte (veloce); 3. Si consideri il piano contenente Q. P è contenuto completamente nel semipiano opposto a quello dove è l osservatore (abbastanza veloce)? 4. Si consideri il piano contenente P. Q è contenuto completamente nello stesso semipiano dove è l osservatore (abbastanza veloce)? 5. Le proiezioni di P e Q sullo schemo sono disgiunte (pesante)? + *) %&' c E. Angel Se tutti i test falliscono, controllo se è corretto disegnare Q prima di P. Se anche questo fallisce Q viene taliato usando il piano contenente P, ed i pezzi vengono collocati nella lista al posto giusto.

40 Grafica al Calcolatore Rendering - 39 BSP trees: Un metodo elegante per la rimozione di superfici nascoste basato su alberi BSP. Nel depth sort, poiché l ordine dipende dal punto di vista, bisogna ricalcolarlo ad ogni spostamento. Non è praticabile in una applicazione interattiva (es: simulatore di volo). Un albero BSP, invece, una volta costruito (richiede pre-processing), consente di ottenere rapidamente l ordine giusto al cambiare del punto di vista. Costruisco un albero BSP auto-partitioning con i triangoli (divido usando i piani che contengono i triangoli). Vediamo come si ottiene l ordinamento: consideriamo la radice dell albero il punto di vista si trova (diciamo) a destra dell iperpiano associato alla radice. allora gli oggetti che stanno a sinistra sono più lontani di quelli che stanno a destra dell iperpiano. l ordine per gli oggetti che si trovano nei due semipiani si ottiene ricorsivamente considerando separatamente i due sottoalberi.

41 Grafica al Calcolatore Rendering - 40 Scan conversion La scan conversion a consiste nel disegnare i poligoni sulla immagine, riempendoli con il colore determinato dallo shading. Questo equivale a risolvere i seguenti due problemi. Determinare i pixel interessati da un segmento Determinare i punti interni del poligono Algoritmo di Bresenham. Il classico algoritmo per disegnare un segmento è quello di Bresenham. Esso genera una sequenza connessa di pixel. Dopo avere disegnato un pixel l algoritmo sceglie tra i suoi 8-vicini quale accendere in base all equazione della retta, usando solo aritmetica intera. Algoritmo scan-line. è l algoritmo standard per riempire i poligoni si chiama algoritmo scan-line (attenzione: assieme al termine sweep line è molto usato in Grafica e Geometria Computazionale, consideratelo un identificatore sovraccarico ). Il poligono viene riempito considerando una linea che lo scandisce riga dopo riga dal basso verso l alto. Per ciascuna riga si effettua una scansione da sinistra a destra, e quando si incontra un edge del poligono si inizia a riempire, quando si incontra un altro edge si smette. Ci sono casi speciali da gestire con accortezza. a Alcuni usano scan conversion e rasterization come sinonimi. Noi manterremo la differenza: scan conversion è parte della rasterizzazione

42 Grafica al Calcolatore Rendering - 41 Nota: la richiesta che i pixel siano connessi è necessaria quando il segnento è disegnato da solo, ma non lo è se il segnmento è il lato di un poligono da riempire con l algoritmo scan-line. In questo caso basta che ce ne sia uno per riga. Non ci occupiamo nel dettaglio di questi algoritmi, che sono ormai dei classici della Grafica, poiché per il programmatore la scan-conversion è un processo ormai completamente trasparente. Il lettore interessato potrà trovare maggiori dettagli in Mount, Lecture 25 e 26 ed Angel, sez. 7.8.

43 Grafica al Calcolatore Rendering - 42 Problema dell aliasing Un argomento di cui non abbiamo parlato, e di cui non parleremo, è quello dell aliasing Nella costruzione di una immagine per la natura discreta del raster display (o del frame buffer, che è lo stesso) è inevitabile la comparsa di artefatti che degradano la qualità dell immagine L esempio più tipico sono le scalette che si formano quando si disegnano linee rette Vi sono vari metodi di anti-aliasing e i più comuni sono basati sul calcolo di medie di shading tra pixel vicini (1) Aliasing (2) Anti aliasing

44 Grafica al Calcolatore Rendering - 43 Esempio di rasterizzazione Vediamo come avviene la rasterizzazione di un poligono con: scan-line (per scan conversion) depth-buffer (per rimozione faccie nascoste) Gouraud shading Il modello locale di riflessione assegna un colore ai vertici del poligono. La proiezione nello screen space asocia una pseudo-profondità ai vertici del poligono. Si procede alla scan conversion del poligono: i valori sui vertici vengono interpolati all interno del poligono nel corso della sua scansione per righe, per determinare 1) la visibilità dei pixel interni e 2) il loro colore (con Gouraud). L interpolazione bilineare si presta ad essere incorporata nello scan-line (si parla anche di scan-line interpolation).

45 Grafica al Calcolatore Rendering - 44 Vediamo come funziona: Dato un triangolo sui cui vertici P 0, P 1, P 2, sono definite tre quantità c 0,c 1,c 2. Se la scan line interseca due lati del triangolo in P a e P b (come in figura), calcoliamo il valore c a per interpolazione lineare tra i valori c 0 e c 1, ed il valore c b per interpolazione lineare tra i valori c 1 e c 2. calcoliamo quindi il valore c s per tutti i punti del segmento di scan line (P a,p b ) per interpolazione lineare tra i valori agli estremi, c a e c b. è più effieciente calcolare il valore interpolato in modo incrementale. Nota. L interpolazione effettuata nello screen space è una approssimazione di un processo che andrebbe svolto nell world space. P 0 P a P s P 1 P b scan line Infatti una interpolazione lineare nello screen space non lo è nel world space, e spesso vorremmo che lo fosse. P 2

46 Grafica al Calcolatore Rendering - 45 La rendering pipeline Riassumendo, abbiamo descritto sin qui la segeunte pipeline: Spazio oggetto (locale) Spazio mondo Spazio vista o camera Spazio 3D screen Spazio immagine Object definition Compose scene Define lighting Culling Local reflecion model Clipping Shading Hidden surface removal Scan conversion Sistemi diversi definiscono pipeline diverse.

47 Grafica al Calcolatore Rendering - 46 La pipeline di OpenGL In OpenGL i sistemi di riferimento non si mappano esattamente su quelli che abbiamo visto precedentemente: Spazio oggetto (locale) Spazio mondo Spazio vista Spazio 3D screen Spazio immagine... World (or standard) coord. Eye (or camera) coord. Normalized device coord. Viewport (or window) coord. Modelview Matrix Projection Matrix Viewport tranformation Nel nostro sistema le coordinate immagine sono 2D, mentre in OpenGL sono 3D. in OpenGL, nelle window coordinates la pseudo-profondità viene conservata, quindi a rigore si tratta di uno spazio 3D. Per confondere ulteriormente le cose, OpenGL chiama invece screen coordinates le coordinate immagine 2D.

La Pipeline Grafica. Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione. La Pipeline Grafica.

La Pipeline Grafica. Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione. La Pipeline Grafica. La Pipeline Grafica Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione La Pipeline Grafica Spazio vista Spazio 3D-screen Shading Rasterizzazione Rimozione delle facce

Dettagli

Rendering I - geometric processing

Rendering I - geometric processing Rendering I - geometric processing Dove si descrivono i principali metodi di alto livello utilizzati per ottenere una immagine a partire da una descrizione degli oggetti 3D Introduzione Trasformazioni

Dettagli

Grafica al calcolatore - Computer Graphics

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

Dettagli

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

Computer Graphics. v 1. Rasterizer: lines (segmenti) la rasterizzazione from vertex to pixels. Rasterizzazione: lines (segmenti)

Computer Graphics. v 1. Rasterizer: lines (segmenti) la rasterizzazione from vertex to pixels. Rasterizzazione: lines (segmenti) Computer Graphics Università dell Insubria Corso di Laurea in Informatica la rasterizzazione from vertex to pixels Rasterizer: lines (segmenti) Vertici (punti in R 3 ) computazioni per vertice Z Vertici

Dettagli

Grafica al calcolatore. Computer Graphics. 6 Modelli di illuminazione 18/11/12

Grafica al calcolatore. Computer Graphics. 6 Modelli di illuminazione 18/11/12 Grafica al calcolatore Computer Graphics 6 Modelli di illuminazione 18/11/12 Grafica 2013 1 Ray casting e colore Tornando al problema della formazione dell'immagine, possiamo creare le immagini se sappiamo

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

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

Grafica al calcolatore. Computer Graphics. 5 - Rendering 19/11/12

Grafica al calcolatore. Computer Graphics. 5 - Rendering 19/11/12 Grafica al calcolatore Computer Graphics 5 - Rendering 19/11/12 Grafica 2013 1 Rendering Il termine rendering indica la serie di algoritmi, geometrici e non, a cui si sottopone una data descrizione di

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

Modellazione. Dove si delineano le principali tecniche per descrivere e rappresentare oggetti in uno spazio tridimensionale.

Modellazione. Dove si delineano le principali tecniche per descrivere e rappresentare oggetti in uno spazio tridimensionale. Modellazione Dove si delineano le principali tecniche per descrivere e rappresentare oggetti in uno spazio tridimensionale. Rappresentazione poligonale Curve e superfici Gometria Solida Costruttiva Suddivisione

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

1.1 Modello di un Processo di Rendering. Gestore delle Geometrie (Ricostruzione delle Geoemtrie e Clipping)

1.1 Modello di un Processo di Rendering. Gestore delle Geometrie (Ricostruzione delle Geoemtrie e Clipping) Capitolo 1 Esercizi sulla Pipeline di Rendering 1.1 Modello di un Processo di Rendering Componenti dell Architettura di Rendering: Processore Bus di Comunicazione Scheda Grafica Moduli della Pipeline di

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

Modulo 1. Rappresentazione e trasformazione dello spazio 3d.

Modulo 1. Rappresentazione e trasformazione dello spazio 3d. Modulo 1. Rappresentazione e trasformazione dello spazio 3d. Un primissimo passo nel percorso che porta dalla astrazione di una scena tridimensionale ad una sua realizzazione grafica è come rappresentare

Dettagli

Tecniche di Post-processing. Tsrm Dr. Daniele Di Di Feo Dir U.O. Dr C.Fonda A.O.U. Meyer Firenze

Tecniche di Post-processing. Tsrm Dr. Daniele Di Di Feo Dir U.O. Dr C.Fonda A.O.U. Meyer Firenze Tecniche di Post-processing Tsrm Dr. Daniele Di Di Feo Dir U.O. Dr C.Fonda A.O.U. Meyer Firenze introduzioni Gli algoritmi di visualizzazione tridimensionale richiedono l uso di dati di tipo volumetrico,,

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

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

Rappresentazione di oggetti 3D

Rappresentazione di oggetti 3D Rappresentazione di oggetti 3D 1 Modellazione geometrica La modellazione geometrica riguarda le tecniche di rappresentazione di curve e superfici Surface modeling Rappresentazione della superficie di un

Dettagli

Fondamenti di Grafica Tridimensionale

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

Dettagli

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

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

Capitolo 6 ELABORAZIONE DI IMMAGINI A COLORI

Capitolo 6 ELABORAZIONE DI IMMAGINI A COLORI Capitolo 6 ELABORAZIONE DI IMMAGINI A COLORI Il colore viene utilizzato nelle immagini digitali per due motivi principali: è un descrittore che semplifica l identificazione di un oggetto e la sua estrazione

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

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

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

Dettagli

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

Proiezioni Grafica 3d

Proiezioni Grafica 3d Proiezioni Grafica 3d Giancarlo RINALDO rinaldo@dipmat.unime.it Dipartimento di Matematica Università di Messina ProiezioniGrafica 3d p. 1 Introduzione Il processo di visualizzazione in 3D è intrinsecamente

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

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

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

Dettagli

4. Proiezioni del piano e dello spazio

4. Proiezioni del piano e dello spazio 4. Proiezioni del piano e dello spazio La visualizzazione di oggetti tridimensionali richiede di ottenere una vista piana dell'oggetto. Questo avviene mediante una sequenza di operazioni. Innanzitutto,

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

Grafica computazionale

Grafica computazionale Grafica computazionale Lezione 1 (slide parzialmente basate su Computer Graphics - MIT Opencourseware Grafica Computazionale - Massimiliano Corsini Università di Siena) 1 Che cos è la Computer Graphics?

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

Le superfici e i modelli di elevazione digitale in genere possono essere rappresentati mediante le strutture raster Difetto delle strutture dati

Le superfici e i modelli di elevazione digitale in genere possono essere rappresentati mediante le strutture raster Difetto delle strutture dati Triangulated Irregular Network Le superfici e i modelli di elevazione digitale in genere possono essere rappresentati mediante le strutture raster Difetto delle strutture dati raster classiche: sono a

Dettagli

Sviluppo di un motore grafico in tempo reale. di Marco Altomonte

Sviluppo di un motore grafico in tempo reale. di Marco Altomonte Sviluppo di un motore grafico in tempo reale di Marco Altomonte Dicembre 2005 1 Capitolo 1 Introduzione L attività di Tesi è stata finalizzata allo sviluppo di un motore grafico interattivo: un software

Dettagli

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

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

Dettagli

I file raster gestione e stampa

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

Dettagli

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

Elementi di grafica raster

Elementi di grafica raster Elementi di grafica raster Le immagini Una immagine è una rappresentazione spaziale di un oggetto o di una scena Una immagine digitale è una rappresentazione di una scena anche 3D dopo il processo di acquisizione

Dettagli

0. Piano cartesiano 1

0. Piano cartesiano 1 0. Piano cartesiano Per piano cartesiano si intende un piano dotato di due assi (che per ragioni pratiche possiamo scegliere ortogonali). Il punto in comune ai due assi è detto origine, e funziona da origine

Dettagli

Tecniche per applicazioni interattive

Tecniche per applicazioni interattive Tecniche per applicazioni interattive Dove si affronta il problema del rendering dalla parte della applicazione grafica interattiva. Introduzione Rappresentazione della scena Tecniche di abbattimento della

Dettagli

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE 1. EQUAZIONI Definizione: un equazione è un uguaglianza tra due espressioni letterali (cioè in cui compaiono numeri, lettere

Dettagli

Corso di Grafica Computazionale

Corso di Grafica Computazionale Corso di Grafica Computazionale Premesse Teoriche Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Overview Premesse Teoriche Mini-ripasso geometria

Dettagli

SISTEMA DI MISURAZIONE, SISTEMA DI RICOSTRUZIONE, SISTEMA DI VISUALIZZAZIONE

SISTEMA DI MISURAZIONE, SISTEMA DI RICOSTRUZIONE, SISTEMA DI VISUALIZZAZIONE LA TOMOGRAFIA COMPUTERIZZATA: MODALITA DI FORMAZIONE DELL IMMAGINE SISTEMA DI MISURAZIONE, SISTEMA DI RICOSTRUZIONE, SISTEMA DI VISUALIZZAZIONE SISTEMA DI MISURAZIONE: ACQUISIZIONE DELL IMMAGINE TC Un

Dettagli

OpenGL: visualizzazione 3D

OpenGL: visualizzazione 3D OpenGL: visualizzazione 3D La visualizzazione di una scena avviene come se si stesse usando una macchina fotografica per la quale si può controllare la posizione nello spazio 3D; si può cambiare il tipo

Dettagli

Capitolo 11. Il disegno in 3D

Capitolo 11. Il disegno in 3D Capitolo 11 Il disegno in 3D o 11.1 Uso delle coordinate nello spazio o 11.2 Creazione di oggetti in 3D o 11.3 Uso dei piani di disegno in 3D (UCS) o 11.4 Creazione delle finestre di vista o 11.5 Definizione

Dettagli

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale RUOLO DELLA MODELLAZIONE GEOMETRICA E LIVELLI DI MODELLAZIONE PARTE 2 Prof. Caterina Rizzi... IN QUESTA LEZIONE Modelli 2D/3D Modelli 3D/3D Dimensione delle primitive di modellazione Dimensione dell oggettoy

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

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

La modellazione con le superfici

La modellazione con le superfici Alla fine del capitolo saremo in grado di: Comprendere il significato di B-Spline Rappresentare i diversi tipi di curve piane e nello spazio Creare superfici con metodi differenti Modificare le superfici

Dettagli

OpenGL: Principi base di rendering di Federico NinjaCross Coletto

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

Dettagli

Grafica al calcolatore. Computer Graphics. 4 - Modellazione 21/10/13

Grafica al calcolatore. Computer Graphics. 4 - Modellazione 21/10/13 Grafica al calcolatore Computer Graphics 4 - Modellazione 1 Modellazione Definiamo ora possibili strutture dati per modellare gli oggetti nello spazio. Poi vedremo come modellare anche la formazione delle

Dettagli

Corrado Malanga ARCHETIPI E NUMERI

Corrado Malanga ARCHETIPI E NUMERI Corrado Malanga Nel precedente lavoro ho parlato degli archetipi, ne ho fornito le definizioni ed ho descritto cosa i suddetti archetipi siano, come funzionino e perché siano legati ad alcuni numeri e

Dettagli

Dispense del corso di Elaborazione di Immagini e Audio Digitali

Dispense del corso di Elaborazione di Immagini e Audio Digitali http://imagelab.ing.unimo.iting it Dispense del corso di Elaborazione di Immagini e Audio Digitali Video Processing Prof. Roberto Vezzani Dall immagine al video Un video può essere visto innanzitutto come

Dettagli

DOMINIO E LIMITI. Esercizio 3 Studiare gli insiemi di livello della funzione f, nei seguenti casi: 1) f(x,y) = y2 x 2 + y 2.

DOMINIO E LIMITI. Esercizio 3 Studiare gli insiemi di livello della funzione f, nei seguenti casi: 1) f(x,y) = y2 x 2 + y 2. FUNZIONI DI DUE VARIABILI 1 DOMINIO E LIMITI Domini e disequazioni in due variabili. Insiemi di livello. Elementi di topologia (insiemi aperti, chiusi, limitati, convessi, connessi per archi; punti di

Dettagli

GeoGebra vers.5 - vista Grafici 3D

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

Dettagli

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

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

Dettagli

Pipeline di rendering

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

Dettagli

Grafica computazionale

Grafica computazionale Grafica computazionale Lezione 5 (slide parzialmente basate su Computer Graphics - MIT Opencourseware Grafica Computazionale - Massimiliano Corsini Università di Siena) 1 L'Equazione di Rendering La luce

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

Modellazione (parte prima)

Modellazione (parte prima) Modellazione (parte prima) Dove si cominciano a vedere le principali tecniche per descrivere e rappresentare oggetti in uno spazio tridimensionale. Rappresentazione poligonale Curve e superfici Gometria

Dettagli

Le immagini digitali: introduzione

Le immagini digitali: introduzione Le immagini digitali: introduzione 1 L immagine digitale Un immagine pittorica è compsta da milioni di pigmenti colorati molto piccoli che, messi vicino l uno all altro, danno l impressione dei vari oggetti.

Dettagli

Introduzione all elaborazione di immagini Part II

Introduzione all elaborazione di immagini Part II Introduzione all elaborazione di immagini Part II Obiettivi delle tecniche di elaborazione di immagini: miglioramento di qualità (image enhancement) ripristino di qualità o restauro (image restoration)

Dettagli

I.I.S. "MARGHERITA DI SAVOIA" a.s. 20014-2015 LICEO LINGUISTICO classe I BL Programma di MATEMATICA

I.I.S. MARGHERITA DI SAVOIA a.s. 20014-2015 LICEO LINGUISTICO classe I BL Programma di MATEMATICA classe I BL Numeri naturali L insieme dei numeri naturali e le quattro operazioni aritmetiche. Le potenze. Espressioni. Divisibilità, numeri primi. M.C.D. e m.c.m. Numeri interi relativi L insieme dei

Dettagli

Generazione di Ambienti Urbani Sintetici e Rendering Parallelo

Generazione di Ambienti Urbani Sintetici e Rendering Parallelo 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

Dettagli

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D) ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI () Calcolo delle corrispondenze Affrontiamo il problema centrale della visione stereo, cioè la ricerca automatica di punti corrispondenti tra immagini Chiamiamo

Dettagli

1 Organizzazione dell unità in virgola mobile (FPU)

1 Organizzazione dell unità in virgola mobile (FPU) 1 Organizzazione dell unità in virgola mobile (FPU) Il processore può maneggiare anche numeri reali, attraverso un modulo detto Floating-Point Unit (FPU). Storicamente, tale circuiteria è stata inizialmente

Dettagli

AREA MATEMATICO-SCIENTIFICO-TECNOLOGICA MATEMATICA

AREA MATEMATICO-SCIENTIFICO-TECNOLOGICA MATEMATICA AREA MATEMATICO-SCIENTIFICO-TECNOLOGICA MATEMATICA TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA SECONDARIA DI PRIMO GRADO. L alunno ha rafforzato un atteggiamento positivo rispetto

Dettagli

Publishing & Editing Immagini

Publishing & Editing Immagini Publishing & Editing Immagini Un'immagine digitale è la rappresentazione numerica di una immagine bidimensionale. La rappresentazione può essere di tipo vettoriale oppure raster (altrimenti detta bitmap);

Dettagli

Geometria analitica di base (prima parte)

Geometria analitica di base (prima parte) SAPERE Al termine di questo capitolo, avrai appreso: come fissare un sistema di riferimento cartesiano ortogonale il significato di equazione di una retta il significato di coefficiente angolare di una

Dettagli

RETTE, PIANI, SFERE, CIRCONFERENZE

RETTE, PIANI, SFERE, CIRCONFERENZE RETTE, PIANI, SFERE, CIRCONFERENZE 1. Esercizi Esercizio 1. Dati i punti A(1, 0, 1) e B(, 1, 1) trovare (1) la loro distanza; () il punto medio del segmento AB; (3) la retta AB sia in forma parametrica,

Dettagli

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

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

Dettagli

LA STEREO FOTOMETRIA, OLTRE L IMMAGINAZIONE

LA STEREO FOTOMETRIA, OLTRE L IMMAGINAZIONE MADD-SPOT, 2, 2013 LA STEREO FOTOMETRIA, OLTRE L IMMAGINAZIONE DI ROBERTO MECCA Il mercato dell animazione 3D è in forte crescita in questi anni. Stampanti tridimensionali, nuovi strumenti per l analisi

Dettagli

AutoCAD 3D. Lavorare nello spazio 3D

AutoCAD 3D. Lavorare nello spazio 3D AutoCAD 3D Lavorare nello spazio 3D Differenze tra 2D e 3 D La modalità 3D include una direzione in più: la profondità (oltre l altezza e la larghezza) Diversi modi di osservazione Maggiore concentrazione

Dettagli

Costruzione di un immagine prospettica dalle proiezioni ortogonali.

Costruzione di un immagine prospettica dalle proiezioni ortogonali. Costruzione di un immagine prospettica dalle proiezioni ortogonali. Nei capitoli precedenti abbiamo visto come realizzare dei modelli grafici costruendo le viste direttamente sui piani di proiezione ortogonali

Dettagli

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

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

Dettagli

RISOLUZIONE VIDEO tratto dal sito internet: Boliboop (my web identity) - 2007

RISOLUZIONE VIDEO tratto dal sito internet: Boliboop (my web identity) - 2007 RISOLUZIONE VIDEO tratto dal sito internet: Boliboop (my web identity) - 2007 La risoluzione, specie in fotografia digitale, è una misura della qualità di un immagine. Questo concetto può essere applicato

Dettagli

Introduzione. Margine di ampiezza... 2 Margine di fase... 5 Osservazione... 6 Margini di stabilità e diagrammi di Bode... 6

Introduzione. Margine di ampiezza... 2 Margine di fase... 5 Osservazione... 6 Margini di stabilità e diagrammi di Bode... 6 ppunti di Controlli utomatici Capitolo 7 parte II Margini di stabilità Introduzione... Margine di ampiezza... Margine di fase... 5 Osservazione... 6 Margini di stabilità e diagrammi di ode... 6 Introduzione

Dettagli

La Visione Artificiale. La vis ione delle macchine La vis ione umana Acquis izione di immag ine

La Visione Artificiale. La vis ione delle macchine La vis ione umana Acquis izione di immag ine La Visione Artificiale La vis ione delle macchine La vis ione umana Acquis izione di immag ine Copyright Alcune slide sono tratte dal testo: Digital Image Processing Materiale didattico relativo si trova

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

LA CODIFICA DELLE IMMAGINI

LA CODIFICA DELLE IMMAGINI asdf LA CODIFICA DELLE IMMAGINI 3 March 2012 Premessa L'articolo che segue vuole essere, senza alcuna pretesa di rigore scientifico e di precisione assoluta, in quanto non ne possiedo le competenze, una

Dettagli

MMSC3 Sistema di calibrazione per guida robot bidimensionale e tridimensionale basato su visione artificiale

MMSC3 Sistema di calibrazione per guida robot bidimensionale e tridimensionale basato su visione artificiale Atti del V Congresso Metrologia & Qualità (Marzo 2007) MMSC3 Sistema di calibrazione per guida robot bidimensionale e tridimensionale basato su visione artificiale M. GALIMBERTI (1), R.SALA (2), N.CAPELLI

Dettagli

Shading Rendering. IUAV dcp corso Disegno Digitale. Camillo Trevisan

Shading Rendering. IUAV dcp corso Disegno Digitale. Camillo Trevisan Shading Rendering IUAV dcp corso Disegno Digitale Camillo Trevisan Modelli di illuminazione Obiettivo: non tanto simulare il vero comportamento della luce, ma piuttosto riprodurre realisticamente l effetto

Dettagli

Guida rapida - versione Web e Tablet

Guida rapida - versione Web e Tablet Guida rapida - versione Web e Tablet Cos è GeoGebra? Un pacchetto completo di software di matematica dinamica Dedicato all apprendimento e all insegnamento a qualsiasi livello scolastico Gestisce interattivamente

Dettagli

TECNICHE DI ANALISI DEI FLUSSI

TECNICHE DI ANALISI DEI FLUSSI Corso di Misure Meccaniche Termiche e Collaudi 5 anno - Ingegneria Meccanica Politecnico di Bari prof. Domenico Laforgia ing. Giuseppe Starace TECNICHE DI ANALISI DEI FLUSSI In questa trattazione si farà

Dettagli

Indirizzo Giuridico Economico Aziendale

Indirizzo Giuridico Economico Aziendale Premessa Questa breve trattazione non vuole costituire una guida completa ed esauriente sull argomento, ma vuole fornire solamente i concetti fondamentali necessari per il raggiungimento degli obiettivi

Dettagli

Miglioramento dell analisi di immagine in GRASS tramite segmentazione

Miglioramento dell analisi di immagine in GRASS tramite segmentazione Segmentazione in GRASS Miglioramento dell analisi di immagine in GRASS tramite segmentazione Alfonso Vitti e Paolo Zatelli Dipartimento di Ingegneria Civile ed Ambientale Università di Trento Italy FOSS4G-it

Dettagli

Capitolo 3. Il metodo visto nella geometria dello spazio duale. 3.1 Definizione di spazio duale

Capitolo 3. Il metodo visto nella geometria dello spazio duale. 3.1 Definizione di spazio duale Il metodo visto nella geometria dello spazio duale Nel precedente capitolo e stato esposto in linea generale il metodo a luce debolmente strutturata enfatizzando soprattutto la localizzazione temporale

Dettagli

Informazioni Tecniche riguardo a PhoToPlan

Informazioni Tecniche riguardo a PhoToPlan Informazioni Tecniche riguardo a PhoToPlan Le seguenti pagine forniranno una visione dettagliata dei possibili utilizzi di PhoToPlan Q1 Cosa significa Fotoraddrizzamento? Q2 Come si effettua un fotoraddrizzamento?

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

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

Estrazione di informazione 3D da un immagine

Estrazione di informazione 3D da un immagine Sommario Introduzione Percezione Formazione delle immagini Elaborazione delle immagini a basso livello Estrazione di informazione 3D da un immagine Riconoscimento di oggetti Manipolazione e navigazione

Dettagli

GVol: software libero per la manipolazione e visualizzazione di dati volumetrici

GVol: software libero per la manipolazione e visualizzazione di dati volumetrici GVol: software libero per la manipolazione e visualizzazione di dati volumetrici Tesi di laurea di Alceste Scalas Anno Accademico 2002 2003 Corso di Laurea in Informatica Università degli Studi di Cagliari

Dettagli

PointCloud 6.0 Anno 2010

PointCloud 6.0 Anno 2010 PointCloud 6.0 Anno 2010 Compatibilità con AutoCAD 2011 Supporto del formato nativo delle nuvole di punti di AutoCAD (PCG) e miglioramento delle performance riguardo la velocità di visualizzazione e le

Dettagli

STUDIO DI UNA FUNZIONE

STUDIO DI UNA FUNZIONE STUDIO DI UNA FUNZIONE OBIETTIVO: Data l equazione Y = f(x) di una funzione a variabili reali (X R e Y R), studiare l andamento del suo grafico. PROCEDIMENTO 1. STUDIO DEL DOMINIO (CAMPO DI ESISTENZA)

Dettagli

Analisi 2. Argomenti. Raffaele D. Facendola

Analisi 2. Argomenti. Raffaele D. Facendola Analisi 2 Argomenti Successioni di funzioni Definizione Convergenza puntuale Proprietà della convergenza puntuale Convergenza uniforme Continuità e limitatezza Teorema della continuità del limite Teorema

Dettagli

PointCloud 7.0 Anno 2011

PointCloud 7.0 Anno 2011 PointCloud 7.0 Anno 2011 Compatibilità con AutoCAD 2007-2012 ed AutoCAD 2007-2012 Supporto del formato nativo delle nuvole di punti di AutoCAD (PCG) e miglioramento delle performance riguardo la velocità

Dettagli

Generalità sulle funzioni

Generalità sulle funzioni Capitolo Concetto di funzione Generalità sulle funzioni Definizione di funzione Definizione Dato un sottoinsieme non vuoto D di R, si chiama funzione reale di variabile reale, una relazione che ad ogni

Dettagli

Disegno tradizionale VS modellazione digitale affinità e differenze. Modello matematico VS modello numerico

Disegno tradizionale VS modellazione digitale affinità e differenze. Modello matematico VS modello numerico Disegno tradizionale VS modellazione digitale affinità e differenze Modello matematico VS modello numerico IUAV Disegno Digitale Camillo Trevisan Capitelli hatoriani di Abu Fedah, dalla Description de

Dettagli