Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
RIASSUNTO TEORIA DI FCG
Schema di un'applicazione grafica
In generale, le applicazioni grafiche di cui ci occuperemo possono essere rappresentate dal seguente schemaEsiste una descrizione di qualsiasi tipo (procedurale o meno) del mondo che deve essere rappresentato: questo processo è chiamato modellazioneDalla descrizione (modello), si ottiene un'immagine 2D: questo processo è globalmente chiamato rendering.La sequenza di algoritmi che implementa il rendering è chiamata pipeline grafica
- questo blocco osserva la realtà e produce un modello (geometrico o solido). Ad esempio per creare il cilindro
- viene mostrato come molti triangoli uno vicino all'altro che vanno a creare il cilindro
- usano anche una telecamera virtuale
La descrizione del mondo che alimenta la pipeline grafica consiste di solito in tre elementi:
- OGGETTI del mondo: possono essere oggetti reali (cubi, robot, mele, …) o dati (punti nello spazio 3D, iso-superfici, …). Gli oggetti hanno proprietà di posizione (la loro posizione, orientamento, ecc.) e aspetto (colore, come è la superficie, se riflettono la luce o no, ecc.)
- Luci che determinano le proprietà di illuminazione del mondo; hanno proprietà posizionali, ma non hanno apparenze
- L'OBSERVER implementa una telecamera virtuale che genera un'immagine 2D (lo schermo) della descrizione 3D del mondo. Lui / lei anche ha proprietà posizionali, ma nessuna apparenza.
questo è l'uscita dell'osservazione del mondo reale, è il modello soddisfattoogni modello è preso e reso in 2D considerando ogni cambio di colore dei vari pixel
PROCESSO DI MODELLAZIONE
Il modello di un oggetto può essere ottenuto in tre modi:
- - Manuale, cioè viene disegnato per mezzo di oggetti di uno strumento grafico. Solitamente gli oggetti complessi si ottengono combinando oggetti semplici
- - Automatico, da strumenti (ad esempio scanner) che consentono di acquisire il modello digitale da un oggetto reale. Altre tecniche basate sulle immagini dell'oggetto sono studiate in Computer Vision e ultimamente anche in Computer Graphics. Questo è solitamente chiamato modellazione basata su immagini
- - Procedurale, ovvero l'oggetto è creato da una procedura. Es. si ottiene una sfera specificando le posizioni del raggio e del centro, e quindi viene disegnata da una procedura che calcola la sua equazione analitica. Adotta sw complesso per la modellazione 3D della soluzione. Es una via di mezzo tra gli altri due ed ad esempio metti una sfera in questo posto un cubo in un altro ecc
Processo di rendering
Sulla base di queste informazioni, è necessario eseguire un certo numero di passaggi per ottenere l'immagine desiderata
- Proiezione: per proiettare (geometricamente) la scena dallo spazio 3D allo schermo 2D della telecamera virtuale
- Shading: per ogni punto dell'immagine, il suo colore deve essere determinato in funzione della superficie dell'oggetto e del suo orientamento, della posizione delle luci e (nei cosiddetti modelli "globali") dei riflessi della luce indiretta da parte di altre superfici
- Rimozione di superfici nascoste: gli elementi più vicini alla fotocamera coprono quelli ulteriori: devo determinare quali superfici sono visibili e quali no
- Rasterizzazione: quando conosciamo quale colore assegnare a ogni punto dell'immagine, il passo finale è la mappatura di queste informazioni sul display
Lezione 2
Vettori e spazi affini
Noi lavoreremo con 3 tipi di spazi:
- Spazi lineari vettoriali, che contengono 2 tipi di oggetti, vettori e scalari
- Spazi affini, che sono spazi vettoriali con in più il concetto di punto
- Spazi euclidei, dove è aggiunto il concetto di prodotto scalare (e quindi distanze e angoli)
In computer graphics lo spazio più usato è lo spazio euclideo 3D
Punti
I vettori non rappresentano punti nello spazio, ma solo spostamenti. In ordine per introdurre il concetto di posizione, dobbiamo usare gli spazi affini, che sono spazi vettoriali con il concetto astratto aggiuntivo di punto. I punti sono definiti in senso assoluto come nuovi elementi che consentono solo un'operazione: sottrazione tra punti • La differenza tra due punti è un vettore: P - Q = v • Dato un punto Q e un vettore v vi è un punto P univoco in modo che P - Q = v • Pertanto è definita l'aggiunta tra un punto e un vettore, che risulta in un punto: P = Q + v • L'interpretazione geometrica è immediata; i punti sono luoghi spaziali e la differenza tra due punti è data dal vettore di collegamento; è importante non mescolare punti e vettori.
Un sistema di coordinate cartesiane è un sistema di coordinate in cui il riferimento la base è ortonormale
Coordinate Omogenee
Si mette una sorta di flag che dice che se è 1 è un punto se no è un vettore quindi sarà P(x,y,1) se è un punto e v(a,b,0) nel caso invece fosse un vettore. E’ un metodo veloce per vedere se l’operazione è corretta oppure no, del tipo non posso sommare 2 punti perché se no il flag sarebbe 2 e non andrebbe bene. Queste coordinate sono sempre rispetto alle coordinate del sistema. Quindi alla fine basta solo controllare il flag per capire se un’operazione è valida o meno.
Ex. v+P valid, P+Q not valid, P-Q=v valid, v+u=w valid etc.
A = T-1
Trasformazioni Affini
Per studiare una trasformazione in generale studieremo come un punto generico viene trasformato e da questo estrarremo la matrice di ordine 4 che opera su coordinate omogenee di punti. Per una trasformazione affine, cioè una trasformazione che preserva le combinazioni affini, le linee parallele si trasformano in linee parallele. Usando le coordinate omogenee, ogni trasformazione affine può essere rappresentata da una matrice (questo è uno dei motivi per cui si usano le coordinate omogenee, l’altro è dovuto alle proiezioni). E queste sono traslazione, rotazione e scaling.
Traslazione
Una traslazione determinata da un vettore t trasforma un punto P in un punto P'=P+t, anche scrivibile come moltiplicazione per la matrice di traslazione T, P'=TP. In termini di componenti:
T = (tx, ty, tz, 0) P=(Px, Py, Pz, 1) P'=(px+tx, py+ty, Pz+tz, 1)
Si può capire facilmente che la matrice di traslazione T è la seguente:
Simplicial Complex
Un simplex è una generalizzazione di un triangolo. Per esempio 0-simplex è un punto (vertici), un 1-simplex è un segmento, un 2-simplex è un triangolo e un 3 è un tetraedro.
Il convex hull di ogni sottoinsieme non vuoto di n+1 punti che definisce un n-simplex è chiamato faccia del simplex. Le facce sono semplicemente se stessi di ordine inferiore. Gli 0-faces sono chiamati vertici, quelli con 1-face sono chiamati spigoli. Convex hull: la più piccola forma convessa che contiene il tutti gli elementi di un insieme.
La topologia o studio dei luoghi è lo studio delle proprietà delle figure e delle forme che non cambiano quando viene effettuata una deformazione senza "strappi", "sovrapposizioni" o "incollature".
Homeomorfismo: è una funzione continua fra due spazi topologici che ha una funzione inversa continua. In parole povere: un omeomorfismo è un continuo allungamento e piegatura dell'oggetto in una nuova forma.
Polygonal Meshes (maglia)
Un mesh triangolare è un puro 2-complesso simpliciale che è anche una varietà bidimensionale con contorno. I triangoli mesh sono chiamati facce. Essere un manifold implica i seguenti vincoli sulla struttura del complesso simpliciale:
- Un lato appartiene a un massimo di 2 triangoli (quelli appartenenti a uno solo formano il confine della mesh)
- Se 2 triangoli sono incidenti sullo stesso bordo, allora devono appartenere alla chiusura transitiva della relazione di 1 adiacenza, cioè devono formare un fan o un ombrello