Intersezioni e distanze Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.

Slides:



Advertisements
Presentazioni simili
Coordinate di un punto P(x,y,z)
Advertisements

Calcolo vettoriale E.F. Orsega – Università Ca’ Foscari di Venezia
Meccanica 6 21 marzo 2011 Cambiamento di sistema di riferimento
Sistema di riferimento sulla retta
Corso di Chimica Fisica II 2011 Marina Brustolon
Propagazione del suono in ambiente esterno
Geometria analitica dello spazio
Geometria analitica dello spazio
ASCISSA SOPRA UNA RETTA
Scalari e vettori In fisica si lavora con due tipi di grandezze: le grandezze scalari e le grandezze vettoriali. Le grandezze scalari sono quelle grandezze.
1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena Ore F1F1 F2F2.
Elementi di Matematica
Curve e Superfici Il mondo non è fatto di rette e poligoni.
SUPERFICIE NELLO SPAZIO, FORMULE DELLA DIVERGENZA E DI STOKES
MECCANICA (descrizione del moto dei corpi)
LA RETTA. Concetto primitivo La retta o linea retta è uno dei tre enti geometrici fondamentali della geometria euclidea. Viene definita da Euclide nei.
LE EQUAZIONI DI SECONDO GRADO
Sistema di riferimento su una retta
ELETTROSTATICA NELLA MATERIA
LE CONICHE                                       .
Vettori. Le grandezze fisiche Lo scopo della fisica è quello di ricavare le leggi che legano le varie grandezze fisiche. Le grandezze fisiche sono le.
Modelli Globali Daniele Marini.
1 Superfici nascoste Daniele Marini. 2 Ray casting adatto a CSG o superfici parametriche dipende dal punto di vista è una sorta di campionamento spaziale.
Spazi vettoriali astratti Somma e prodotto di n-ple Struttura di R n.
Studio di funzione Manessi Stefano V°O 2011/2012.
Infomatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.
SCOMPOSIZIONE DI UN VETTORE
I.T.C. e per Geometri Enrico Mattei
“Il piano cartesiano e la retta”
INTRODUZIONE A MATLAB LEZIONE 4 Sara Poltronieri slide3.4 matlabintro
I solidi.
Determinazione delle superfici visibili
21 giugno 2011 Volume Rendering Prof. Roberto Pirrone.
F. Gay, Università IUAV di Venezia, Corso di Laurea in Scienze dellArchitettura - Modulo coordinato di rappresentazione 1 – aa Applicazioni.
L’Appartamento m “Distanza in miglia nautiche tra due punti aventi la stessa latitudine” Semplice spiegazione utilizzando le proprietà della trigonometria.
Daniele Marini Con contributi di Maurizio Rossi
Vettori Finche’ il moto si svolge in una sola dimensione – moto unidimensionale, moto rettilineo – non abbiamo bisogno di vettori La posizione e’ individuata.
LA CIRCONFERENZA.
Sistemi di riferimento
Modelli Globali: Ray Tracing
F. Gay, Università IUAV di Venezia, Corso di Laurea in Scienze dellArchitettura - Modulo coordinato di rappresentazione 1 – aa Dalla prospettività
Formule generali per il calcolo di superficie e volume di solidi a 2 basi by iprof.
Superfici nascoste Daniele Marini.
Intersezioni e distanze
Intersezioni e distanze
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Corso Di Programmazione Grafica
Rotazioni e quaternioni
Ottimizzazione della scena Daniele Marini. Esigenze del RT rendering maggiori frame /sec risoluzione più alta oggetti più accurati e realistici 2 Programmazione.
1 Ottimizzazione della scena Daniele Marini. 2 Esigenze del RT rendering maggiori frame /sec risoluzione più alta oggetti più accurati e realistici.
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Ottimizzazione della scena: culling (decimazione) Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
Ottimizzazione della scena Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
Collisioni Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
La retta Equazione (rette parallele agli assi, passanti per l’origine e generiche) Forma esplicita e implicita Condizione di parallelismo e perpendicolarità.
Risolvere sistemi lineari
Da 2 a 3 dimensioni La terza coordinata z.
G.M. - Edile A 2002/03 Una sferetta P viene posta in una conca semisferica di raggio R in un punto diverso da quello più basso. La sferetta rotola e l’angolo.
Equazione di un luogo geometrico nel piano cartesiano
Daniele Marini Con contributi di Maurizio Rossi
APPUNTI DI GEOMETRIA ANALITICA DELLA RETTA
La circonferenza e l’ellisse La sezione conica è l’intersezione di un piano con un cono. La sezione cambia a seconda dell’inclinazione del piano. Se il.
a’ = f(a) Definizione e proprietà
1. Le coordinate di un punto su un piano Le coordinate di un punto su un piano 2. La lunghezza e il punto medio di un segmento La lunghezza e il punto.
FUNZIONI GONIOMETRICHE CLASSE 3 A S A.S. 2013/14.
angoli orientati negativamente se la rotazione avviene in verso orario
Luoghi di punti In geometria il termine
La Circonferenza. LA CIRCONFERENZA Assegnato nel piano un punto C detto Centro, si chiama circonferenza la curva piana con i punti equidistanti da C.
Transcript della presentazione:

Intersezioni e distanze Daniele Marini Corso di Programmazione Grafica per il Tempo Reale

Perchè Il calcolo delle intersezioni di rette con oggetti e di distanze è assai frequente, occorre trovare soluzioni efficienti Si usano equazioni parametriche per rappresentare rette e volumi di contenimento (BV) per accelerare il calcolo 2PGTR aa 2010/2011

Definizioni utili Raggio r (t) semiretta dotata di origine e direzione (solitamente la direzione è normalizzata) Superfici: implicite e esplicite –implicite: f( p )=0 - es sfera: x 2 +y 2 +z 2 -r 2 =0 dato il punto p si valuta se appartiene alla superficie trovando gli zeri dell’equazione –esplicite: f (u,v)=(f x (u,v),f y (u,v),f z (u,v)) es sfera: f (  )=((r sin  cos  ), (r sin  sin  ), (r cos  )) 3PGTR aa 2010/2011

Rette Dato un punto p = (x 0, y 0,z 0 ) per cui passa la retta, la sua forma parametrica è: r (t)= p +t d dove d è la direzione (vettore normalizzato) e t il parametro, per t>0 abbiamo una semiretta (tipicamente il raggio) Le componenti sono: 4PGTR aa 2010/2011

Bounding volume Si definiscono tre tipi di bounding volumes: AABB, OBB, k-DOP AABB: axis aligned bounding box, un parallelepipedo con le facce parallele ai piani coordinati, si definisce con due valori estremi a min, a max 5 a min a max PGTR aa 2010/2011

OBB: oriented bounding box è un AABB ruotato rispetto agli assi principali, si può definire con un centro e tre vettori normalizzati che descrivono le direzioni dei lati k-DOP: discrete oriented polytope, definito da k/2 vettori normalizzati con associati due valori scalari per definire una porzione di piano; in pratica definiscono un poliedro 6PGTR aa 2010/2011

Bounding sphere Si utilizza anche la sfera come volume di contenimento Lo studio delle intersezioni con i BV è essenziale per l’efficienza 7PGTR aa 2010/2011

Intersecare rette Usato in ray tracing / ray casting Usato per calcolare collisioni Il raggio è una semiretta, con direzione data, e un punto di applicazione –la retta è specificata con coseni direttori e un punto da cui passa 8PGTR aa 2010/2011

La distanza di un punto q dalla retta r che passa per p si ottiene proiettando q su r e valutando la norma: 9 r q p d q-p w (q-p)-w PGTR aa 2010/2011

Intersezione con una sfera Caso più semplice di BV è la sfera Raggio in forma parametrica (vettore): Sfera con centro in (l,m,n) e raggio r: 10PGTR aa 2010/2011

Sostituendo nell’equazione della sfera x,y,z (vediamo solo x): 11 (x 1,y 1,z 1 ) (x 2,y 2,z 2 ) 0<t<1 t<0 t>1 PGTR aa 2010/2011

la forma quadratica generale è quindi: 12 da risolvere come equazione di II grado; se il determinate è 0 due intersezioni, e le radici t 1,t 2 danno il punto di entrata e di uscita del raggio i,j,k sono le differenze (x 2 -x 1 ) ecc. non sono coseni direttori ! PGTR aa 2010/2011

si ricava anche la normale alla sfera nel punto di intersezione (tangenza): 13PGTR aa 2010/2011

per accelerare il calcolo si valuta prima il test di rifiuto rejection test le intersezioni “dietro” non interessano si valuta il vettore origine_raggio - centro_sfera, se ne calcola il modulo c 2, se < r 2 l’origine è interna alla sfera –il raggio interseca certamente, se ci interessa solo questo si termina (es: picking) altrimenti si procede) si calcola la proiezione del vettore sul raggio, se <0 e se l’origine è esterna allora la sfera è dietro al raggio e si termina altrimenti si calcola la distanza al quadrato dal centro sfera alla proiezione del vettore sul raggio m 2 se > r 2 il raggio non colpisce la sfera altrimenti si calcola l’intersezione 14PGTR aa 2010/2011

15 Rejection test PGTR aa 2010/2011

Intersezione raggio triangolo (poligono) 3 passi: –determinare il piano su cui giace il triangolo –determinare l’intersezione piano-raggio –valutare se l’intersezione e’ interna al triangolo (poligono) usata anche per clipping, i raggi in questo caso sono i bordi del poligono e il piano è uno dei piani del frustum di visione; trovate tutte le intersezioni si genera un nuovo poligono 16PGTR aa 2010/2011

Intersezione raggio triangolo 17PGTR aa 2010/2011

Determinare il piano 18 equazione del piano: Ax+By+Cz+D=0 A,B,C sono le componenti della normale al piano il prodotto vettore tra due vettori identifica la normale dati due lati V, W del triangolo calcoliamo la normale: dove i,j,k sono i versori, quindi A,B,C sono: D si ottiene sostituendo un vertice del poligono nell’equazione (un punto che giace nel piano) PGTR aa 2010/2011

Intersezione raggio / piano si sostituisce x,y,z dalla equazione parametrica del piano: se t<0 il raggio è nel semispazio che non contiene il poligono se il denominatore = 0 raggio e piano sono paralleli; per verificare se il raggio è nel semispazio che non contiene il poligono basta testare il segno del numeratore: se > 0 è esterno 19PGTR aa 2010/2011

Casi negativi raggio esterno al semispazio che contiene il poligono: t<0 raggio parallelo al piano del poligono: denominatore = 0 –nel semispazio esterno al poligono: numeratore >0 20 interno esterno raggio PGTR aa 2010/2011

Test di appartenenza del punto nei casi “positivi” si verifica se l’intersezione col piano cade nel poligono (triangolo) metodo diretto: se è interno la somma degli angoli dal punto ai vertici è 360° 21PGTR aa 2010/2011

Il metodo diretto è costoso, se il punto è su un bordo dà errore, non si può valutare se il poligono è orientato “back face” rispetto alla direzione del raggio (può interessare solo la prima intersezione con un poliedro) 22PGTR aa 2010/2011

Intersezione con OBB si considerano a turno coppie di piani paralleli determinando t near e t far si conserva nel confronto t near maggiore e t far minore se il massimo t near è maggiore del minimo t far non c’è intersezione 23PGTR aa 2010/2011

24 t near t far t near t far PGTR aa 2010/2011