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

Grafica al calcolatore - Computer Graphics

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

Dettagli

Interazione luce - materia

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

Dettagli

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

Processo di rendering

Processo di rendering Processo di rendering 1 Trasformazioni di vista Trasformazioni di vista Il processo di visione in tre dimensioni Le trasformazioni di proiezione I parametri della vista 3D I sistemi di coordinate 2 I parametri

Dettagli

Grafica al Calcolatore Fotorealismo - 1. Introduzione

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

Dettagli

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

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

Tecniche di mappatura

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

Dettagli

Tecniche avanzate. Quello che avanza... Image-based rendering. Quaternioni e rotazioni 3D. Intersezioni

Tecniche avanzate. Quello che avanza... Image-based rendering. Quaternioni e rotazioni 3D. Intersezioni Tecniche avanzate Quello che avanza... Image-based rendering Quaternioni e rotazioni 3D Intersezioni Grafica al Calcolatore Tecniche avanzate - 1 Image-based rendering Il problema è della grafica interattiva

Dettagli

Modelli per i materiali

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

Dettagli

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

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 () Una immagine (digitale) permette di percepire solo una rappresentazione 2D del mondo La visione 3D si pone lo scopo di percepire il mondo per come è in 3 dimensioni

Dettagli

Introduzione alla Grafica al Calcolatore

Introduzione alla Grafica al Calcolatore Introduzione alla Grafica al Calcolatore La grafica al calcolatore Modellazione Rendering di mesh poligonali Trasformazioni geometriche Rimozione delle facce nascoste Riflessione della luce (modello locale)

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

3 Lavorare con i livelli

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

Dettagli

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

Modellare una copertura a falde

Modellare una copertura a falde 4 Modellare una copertura a falde Costruire un tetto a falde partendo dalla posizione dei muri. Utilizzeremo sia strumenti di creazione sia strumenti di deformazione dei solidi. Introduzione In questo

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

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

Rasterizzazione. Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione. Trasformazioni geometriche.

Rasterizzazione. Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione. Trasformazioni geometriche. Rasterizzazione Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione Trasformazioni geometriche Clipping Rimozione delle superfici nascoste Scan conversion Shading

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

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

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

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

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

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

Rendering ed illuminazione

Rendering ed illuminazione Rendering ed illuminazione Dove si introduce un metodo per ottenere una immagine a partire da una descrizione degli oggetti tridimensionali e si presenta la legge fondamentale che governa l illuminazione.

Dettagli

Studio di funzioni ( )

Studio di funzioni ( ) Studio di funzioni Effettuare uno studio qualitativo e tracciare un grafico approssimativo delle seguenti funzioni. Si studi in particolare anche la concavità delle funzioni e si indichino esplicitamente

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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

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

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

Trasformazioni 2D. Grande differenza rispetto alla grafica raster!

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

Dettagli

Introduzione Computer Graphics

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

Dettagli

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

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

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

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

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

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

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

Tutorial e lavoro su altre caratteristiche di Grasshopper Arch. A. Di Raimo

Tutorial e lavoro su altre caratteristiche di Grasshopper Arch. A. Di Raimo Tutorial e lavoro su altre caratteristiche di Grasshopper Arch. A. Di Raimo Abbiamo già introdotto il concetto di parametro: come abbiamo osservato si tratta ancora di una variabile che ci permette di

Dettagli

Demo. La palette allinea. La palette Anteprima conversione trasparenza. Adobe Illustrator CS2

Demo. La palette allinea. La palette Anteprima conversione trasparenza. Adobe Illustrator CS2 Le Palette (parte prima) Come abbiamo accennato le Palette permettono di controllare e modificare il vostro lavoro. Le potete spostare e nascondere come spiegato nella prima lezione. Cominciamo a vedere

Dettagli

Metodi Numerici per Equazioni Ellittiche

Metodi Numerici per Equazioni Ellittiche Metodi Numerici per Equazioni Ellittiche Vediamo ora di descrivere una tecnica per la risoluzione numerica della più semplice equazione ellittica lineare, l Equazione di Laplace: u xx + u yy = 0, (x, y)

Dettagli

Chiamiamo macchina un dispositivo che funzioni accettando in ingresso una qualche forma di energia e producendo in uscita un'altra forma di energia.

Chiamiamo macchina un dispositivo che funzioni accettando in ingresso una qualche forma di energia e producendo in uscita un'altra forma di energia. Lezione 17 - pag.1 Lezione 17: le macchine 17.1. Che cosa è una macchina? Il termine macchina, nell uso comune della lingua italiana, sta diventando sinonimo di automobile, cioè, alla lettera, dispositivo

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

Capitolo 4 Trasformazioni Geometriche

Capitolo 4 Trasformazioni Geometriche Capitolo 4 Trasformazioni Geometriche Prima parte: argomenti trattati Trasformazioni geometriche e matrici Entità geometriche e trasformazioni affini; Trasformazioni geometriche nel piano (traslazione,

Dettagli

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

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

Dettagli

Algoritmo per il rilevamento di targhe

Algoritmo per il rilevamento di targhe Algoritmo per il rilevamento di targhe 19 maggio 2008 Nell affrontare il problema del riconoscimento delle targhe sono stati sviluppati due algoritmi che basano la loro ricerca su criteri differenti. Lo

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

VRay Map: VRayEdgesTex

VRay Map: VRayEdgesTex VRay Map: VRayEdgesTex INTRODUZIONE Uno dei classici impieghi della VRayEdgeTex consiste nella simulazione dell effetto filo di ferro, effetto simile a quello generato tramite l attivazione dell opzione

Dettagli

Fondamenti di Elaborazione di Immagini Estrazione dei Bordi e Segmentazione. Raffaele Cappelli raffaele.cappelli@unibo.it

Fondamenti di Elaborazione di Immagini Estrazione dei Bordi e Segmentazione. Raffaele Cappelli raffaele.cappelli@unibo.it Fondamenti di Elaborazione di Immagini Estrazione dei Bordi e Segmentazione Raffaele Cappelli raffaele.cappelli@unibo.it Contenuti Estrazione dei bordi Calcolo del gradiente Operatori di Roberts Operatori

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

Elementi Finiti: stime d errore e adattività della griglia

Elementi Finiti: stime d errore e adattività della griglia Elementi Finiti: stime d errore e adattività della griglia Elena Gaburro Università degli studi di Verona Master s Degree in Mathematics and Applications 05 giugno 2013 Elena Gaburro (Università di Verona)

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

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

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

Dettagli

LE CURVE FOTOMETRICHE

LE CURVE FOTOMETRICHE LE CURVE FOTOMETRICHE E' noto che l' intensità luminosa è una grandezza che deve essere associata ad una direzione. Non avrebbe molto significato parlare della intensità di un corpo illuminante in una

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

! ISO/ASA 25 50 100 200 400 800 1600 3200

! ISO/ASA 25 50 100 200 400 800 1600 3200 Rolleiflex T (Type 1)" Capire l esposizione Una breve guida di Massimiliano Marradi mmarradi.it Prima di tutto occorre scegliere il modo in cui valutare l esposizione. Se valutativa, quindi a vista, useremo

Dettagli

STILL LIFE LIGHT PAINTING DIPINGERE CON LA LUCE

STILL LIFE LIGHT PAINTING DIPINGERE CON LA LUCE STILL LIFE LIGHT PAINTING DIPINGERE CON LA LUCE 1 LIGHT PAINTING dipingere con la luce Il LIGHT PAINTING è una tecnica fotografica che permette di realizzare scatti ricercati e suggestivi attraverso l

Dettagli

Clickomania con Blockly

Clickomania con Blockly Clickomania con Blockly Violetta Lonati Sommario Clickomania è un solitario, noto anche come Chain Shot! o Same Game. Il campo di gioco è costituito da una parete inizialmente coperta di mattoni, uno per

Dettagli

Misure di base su una carta. Calcoli di distanze

Misure di base su una carta. Calcoli di distanze Misure di base su una carta Calcoli di distanze Per calcolare la distanza tra due punti su una carta disegnata si opera nel modo seguente: 1. Occorre identificare la scala della carta o ricorrendo alle

Dettagli

Elementi di topologia della retta

Elementi di topologia della retta Elementi di topologia della retta nome insieme definizione l insieme è un concetto primitivo che si accetta come intuitivamente noto secondo George Cantor, il padre della teoria degli insiemi: Per insieme

Dettagli

INFORMATICA GRAFICA SSD ING-INF/05 Sistemi di elaborazione delle informazioni a.a. 2007/2008. CAP 5. Pipeline grafica

INFORMATICA GRAFICA SSD ING-INF/05 Sistemi di elaborazione delle informazioni a.a. 2007/2008. CAP 5. Pipeline grafica INFORMATICA GRAFICA SSD ING-INF/05 Sistemi di elaborazione delle informazioni a.a. 2007/2008 CAP 5. Pipeline grafica Introduzione Pipeline grafica:= sequenza di trasformazioni che i dati grafici devono

Dettagli

Capitolo 8 Rendering Globale. Dal modello locale ai modelli globali. Cap. 8 - Contenuti. Rendering Locale. Sezione 8.1. Limitazioni del modello locale

Capitolo 8 Rendering Globale. Dal modello locale ai modelli globali. Cap. 8 - Contenuti. Rendering Locale. Sezione 8.1. Limitazioni del modello locale Cap. 8 - Contenuti Capitolo 8 Rendering Globale 8.1 Dal modello locale ai modelli globali Limitazioni del modello locale, effetti globale e modi per approssimarli in un contesto locale 8.2 Ray-tracing

Dettagli

INDICE. Pregeo Rilievo Crea righe 3 2. Pregeo Rilievo Crea righe 4, 5 3. Pregeo Rilievo Crea righe 7 9

INDICE. Pregeo Rilievo Crea righe 3 2. Pregeo Rilievo Crea righe 4, 5 3. Pregeo Rilievo Crea righe 7 9 Prodotto da INDICE Pregeo Rilievo Crea righe 3 2 Pregeo Rilievo Crea righe 4, 5 3 Pregeo Rilievo Crea righe 7 9 Pregeo Rilievo Crea righe 7 vertice/direzione 11 Pregeo Rilievo Crea righe per frazionamento

Dettagli

Sono uno strumento di composizione efficace per combinare più foto in una sola immagine e per effettuare correzioni locali di colori e toni.

Sono uno strumento di composizione efficace per combinare più foto in una sola immagine e per effettuare correzioni locali di colori e toni. Maschere di Livello Maschere di livello Le maschere di livello sono utili per nascondere porzioni del livello a cui vengono applicate e rivelare i livelli sottostanti. Sono uno strumento di composizione

Dettagli

I tracciati sono contorni che potete trasformare in selezioni o a cui potete applicare un riempimento o una traccia di colore. tracciato temporaneo

I tracciati sono contorni che potete trasformare in selezioni o a cui potete applicare un riempimento o una traccia di colore. tracciato temporaneo Disegnare Il disegno (1) Quando si disegna in Adobe Photoshop si creano forme vettoriali e tracciati. Per disegnare potete usare gli strumenti: Forma Penna Penna a mano libera Le opzioni per ogni strumento

Dettagli

Spline Nurbs. IUAV Disegno Digitale. Camillo Trevisan

Spline Nurbs. IUAV Disegno Digitale. Camillo Trevisan Spline Nurbs IUAV Disegno Digitale Camillo Trevisan Spline e Nurbs Negli anni 70 e 80 del secolo scorso nelle aziende si è iniziata a sentire l esigenza di concentrare in un unica rappresentazione gestita

Dettagli

Capitolo 6 Interazione luce-materia

Capitolo 6 Interazione luce-materia Capitolo 6 Interazione luce-materia Modelli di illuminazione Modello di illuminazione: formulazione matematica dell equazione del trasporto dell energia luminosa L equazione che risolve questo problema:

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

APPUNTI DI MATEMATICA GEOMETRIA \ GEOMETRIA EUCLIDEA \ GEOMETRIA DEL PIANO (1)

APPUNTI DI MATEMATICA GEOMETRIA \ GEOMETRIA EUCLIDEA \ GEOMETRIA DEL PIANO (1) GEOMETRIA \ GEOMETRIA EUCLIDEA \ GEOMETRIA DEL PIANO (1) Un ente (geometrico) è un oggetto studiato dalla geometria. Per descrivere gli enti vengono utilizzate delle definizioni. Una definizione è una

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

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

SCHEDA M MOSAICI CLASSIFICARE CON LA SIMMETRIA

SCHEDA M MOSAICI CLASSIFICARE CON LA SIMMETRIA SCHEDA M MOSAICI CLASSIFICARE CON LA SIMMETRIA Qui sotto avete una griglia, che rappresenta una normale quadrettatura, come quella dei quaderni a quadretti; nelle attività che seguono dovrete immaginare

Dettagli

Messa in tavola di un modello tridimensionale

Messa in tavola di un modello tridimensionale 18 Messa in tavola di un modello tridimensionale Creare viste d insieme e di dettaglio, con sezioni e particolari di un modello tridimensionale. Introduzione In questo capitolo vedremo come documentare

Dettagli

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione 4 LEZIONE: Programmazione su Carta a Quadretti Tempo della lezione: 45-60 Minuti. Tempo di preparazione: 10 Minuti Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione SOMMARIO:

Dettagli

IL TRACCIAMENTO QUALITATIVO DEL MOMENTO FLETTENTE NEI PORTALI

IL TRACCIAMENTO QUALITATIVO DEL MOMENTO FLETTENTE NEI PORTALI IL TRACCIAMENTO QUALITATIVO DEL MOMENTO FLETTENTE NEI PORTALI Alcune proprietà della deformata dei portali Si esaminano nel seguito alcune proprietà della deformata dei portali. Queste proprietà permettono

Dettagli

ESERCIZI CINEMATICA IN UNA DIMENSIONE

ESERCIZI CINEMATICA IN UNA DIMENSIONE ESERCIZI CINEMATICA IN UNA DIMENSIONE ES. 1 - Due treni partono da due stazioni distanti 20 km dirigendosi uno verso l altro rispettivamente alla velocità costante di v! = 50,00 km/h e v 2 = 100,00 km

Dettagli

I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA

I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA Indice Introduzione Il sistema decimale Il sistema binario Conversione di un numero da base 10 a base 2 e viceversa Conversione in altri sistemi di numerazione

Dettagli

Radiazione elettromagnetica

Radiazione elettromagnetica Radiazione elettromagnetica Un onda e.m. e un onda trasversa cioe si propaga in direzione ortogonale alle perturbazioni ( campo elettrico e magnetico) che l hanno generata. Nel vuoto la velocita di propagazione

Dettagli

Codifica delle immagini

Codifica delle immagini Codifica delle immagini Abbiamo visto come la codifica di testi sia (relativamente) semplice Un testo è una sequenza di simboli Ogni simbolo è codificato con un numero Ed ecco che il testo è trasformato

Dettagli

Interazione & Multimedia 1

Interazione & Multimedia 1 Il nostro viaggio nell image processing deve iniziare con lo studio di come l occhio umano percepisce una immagine e come la elabora. Ci interessa capire quali sono i limiti della visione umana al fine

Dettagli

0.6 Filtro di smoothing Gaussiano

0.6 Filtro di smoothing Gaussiano 2 Figura 7: Filtro trapezoidale passa basso. In questo filtro l rappresenta la frequenza di taglio ed l, l rappresenta un intervallo della frequenza con variazione lineare di H, utile ad evitare le brusche

Dettagli

Traduzione dell articolo ACHIEVING THE BEST ANGLE di Ed Kolano tratto dalla rivista Sport Aviation di dicembre 2000.

Traduzione dell articolo ACHIEVING THE BEST ANGLE di Ed Kolano tratto dalla rivista Sport Aviation di dicembre 2000. Traduzione dell articolo ACHIEVING THE BEST ANGLE di Ed Kolano tratto dalla rivista Sport Aviation di dicembre 2000. Otteniamo il miglior angolo di salita. Riduzione dei dati di prestazione in salita,

Dettagli

Massimi e minimi vincolati di funzioni in due variabili

Massimi e minimi vincolati di funzioni in due variabili Massimi e minimi vincolati di funzioni in due variabili I risultati principali della teoria dell ottimizzazione, il Teorema di Fermat in due variabili e il Test dell hessiana, si applicano esclusivamente

Dettagli

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA Francesco Bottacin Padova, 24 febbraio 2012 Capitolo 1 Algebra Lineare 1.1 Spazi e sottospazi vettoriali Esercizio 1.1. Sia U il sottospazio di R 4 generato dai

Dettagli

Nuovi oggetti grafici per la Visualizzazione del Tracker

Nuovi oggetti grafici per la Visualizzazione del Tracker Chapter 4 Nuovi oggetti grafici per la Visualizzazione del Tracker In questo capitolo illustrerò i nuovi oggetti grafici che ho sviluppato ed implementato nel software di visualizzazione di CMS. Prima

Dettagli

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

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

Dettagli

Studio di una funzione ad una variabile

Studio di una funzione ad una variabile Studio di una funzione ad una variabile Lo studio di una funzione ad una variabile ha come scopo ultimo quello di pervenire a un grafico della funzione assegnata. Questo grafico non dovrà essere preciso

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

5.2. Pipetta. 2: Lo strumento di luce/ombra

5.2. Pipetta. 2: Lo strumento di luce/ombra 2: Lo strumento di luce/ombra Scostamento Luce a «0%» e Ombra a «100%» Con lo strumento di luce/ombra possono essere fissati il punto più chiaro, il punto medio e quello più scuro dell immagine. Sotto

Dettagli

Documentazione esterna al software matematico sviluppato con MatLab

Documentazione esterna al software matematico sviluppato con MatLab Documentazione esterna al software matematico sviluppato con MatLab Algoritmi Metodo di Gauss-Seidel con sovrarilassamento Metodo delle Secanti Metodo di Newton Studente Amelio Francesco 556/00699 Anno

Dettagli

Modulo di apprendimento DALL INTERSEZIONE DI SOLIDI con CAD ALLE SALDATURE

Modulo di apprendimento DALL INTERSEZIONE DI SOLIDI con CAD ALLE SALDATURE ITIS A. Righi Cerignola (FG) Modulo di apprendimento DALL INTERSEZIONE DI SOLIDI con CAD ALLE SALDATURE SOMMARIO: Unità 1 MODELLAZIONE SOLIDA con CAD Unità 2 INTERSEZIONE DI SOLIDI E DI TUBOLARI Prof.

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

Serie numeriche e serie di potenze

Serie numeriche e serie di potenze Serie numeriche e serie di potenze Sommare un numero finito di numeri reali è senza dubbio un operazione che non può riservare molte sorprese Cosa succede però se ne sommiamo un numero infinito? Prima

Dettagli