Intersezioni e distanze

Slides:



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

Calcolo vettoriale E.F. Orsega – Università Ca’ Foscari di Venezia
Sistema di riferimento sulla retta
Geometria analitica dello spazio
Geometria analitica dello spazio
ASCISSA SOPRA UNA RETTA
Cinematica diretta Un manipolatore è costituito da un insieme di corpi rigidi (bracci) connessi in cascata tramite coppie cinematiche (giunti). Si assume.
GEOMETRIA DESCRITTIVA DINAMICA
Marina Cobal - Dipt.di Fisica - Universita' di Udine
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.
ELETTROMAGNETISMO APPLICATO ALL'INGEGNERIA ELETTRICA ED ENERGETICA
Elementi di Matematica
VETTORI.
Un manipolatore è costituito da un insieme di corpi rigidi (bracci) connessi in cascata tramite coppie cinematiche (giunti) a formare una catena cinematica.
SUPERFICIE NELLO SPAZIO, FORMULE DELLA DIVERGENZA E DI STOKES
LA RETTA. Concetto primitivo La retta o linea retta è uno dei tre enti geometrici fondamentali della geometria euclidea. Viene definita da Euclide nei.
FAI UN CLIC CON IL TASTO SINISTRO DEL MOUSE
Sistema di riferimento su una retta
ELETTROSTATICA NELLA MATERIA
Considera un quadrato inscritto in una circonferenza di raggio r
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.
“Il Piano cartesiano e la retta” realizzato dagli studenti della 2ª B Aielli Luca Pasquini Daniele Rosato Anna.
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”
21 giugno 2011 Volume Rendering Prof. Roberto Pirrone.
Daniele Marini Con contributi di Maurizio Rossi
Modelli Globali: Ray Tracing
Le ombre proiettate Daniele Marini.
Le trasformazioni Daniele Marini.
Superfici nascoste Daniele Marini.
Intersezioni e distanze
Quaternioni (continua)
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Corso Di Programmazione Grafica
1 Ottimizzazione della scena Daniele Marini. 2 Esigenze del RT rendering maggiori frame /sec risoluzione più alta oggetti più accurati e realistici.
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.
Corso Di Programmazione Grafica aa2006/2007
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.
Intersezioni e distanze Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
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 geometria analitica
La retta Equazione (rette parallele agli assi, passanti per l’origine e generiche) Forma esplicita e implicita Condizione di parallelismo e perpendicolarità.
Geometria Analitica.
LE MACRO.
GEOMETRIA PRIMI PASSI Retta Semiretta Segmento Angolo.
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
Programmazione lineare: un esempio Mix produttivo ottimo con risorse vincolate Materiale di studio: M. Fischetti, Lezioni di RO, Cap. 3. Libreria Progetto.
GEOMETRIA PIANA: ASSIOMI E POSTULATI
APPUNTI DI GEOMETRIA ANALITICA DELLA RETTA
Solidi di rotazione.
I poliedri diagonale DEFINIZIONE. Un poliedro è la parte di spazio delimitata da poligoni posti su piani diversi in modo tale che ogni lato sia comune.
La traslazione e i vettori
angoli orientati negativamente se la rotazione avviene in verso orario
Luoghi di punti In geometria il termine
I solidi e la geometria nello spazio
La Circonferenza. LA CIRCONFERENZA Assegnato nel piano un punto C detto Centro, si chiama circonferenza la curva piana con i punti equidistanti da C.
PRESENTAZIONE DI GEOMETRIA SOLIDA
Programmazione lineare: un esempio Mix produttivo ottimo con risorse vincolate Materiale di studio: M. Fischetti, Lezioni di RO, Cap. 3. Libreria Progetto.
Transcript della presentazione:

Intersezioni e distanze Daniele Marini

Definizioni utili raggio r(t) semiretta dotata di origine e direzione (solitamente la direzione è normalizzata) superfici: implicite e esplicite implicite: f(p)=0 - es: x2+y2+z2-r2=0 dato il punto p si valuta se appartiene alla superficie risolvendo l’equazione (se =0) esplicite: f(u,v)=(fx(u,v),fy(u,v),fz(u,v)) - es: f(a,b)=((r sina cosb), (r sina sinb), (r cosb))

Rette dato un punto p =(x0,y0,z0) per cui passa la retta, la sua forma parametrica è: r(t)=p+td dove d è la direzione (vettore normalizzato) e t il parametro, per t>0 abbiamo una semiretta (tipicamente il raggio) le componenti:

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 amin, , amax amin amax

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

Bounding sfera Si utilizza anche la sfera come volume di contenimento lo studio delle intersezioni con i BV è essenziale per l’efficienza

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

la distanza di un punto q dalla retta r si ottiene proiettando q su r e valutando la norma: q-p d (q-p)-w p w r

Intersezione con segmenti segmento per due punti (vettore): il calcolo della intersezione di un raggio con tutti gli oggetti di una scena può essere molto costoso, si riduce sfruttando boundig volumes caso più semplice di BV è la sfera

Intersezione con una sfera raggio in forma parametrica (vettore): sfera con centro in (l,m,n) e raggio r:

sostituendo nell’equazione della circonferenza x,y,z (vediamo solo x):

la forma quadratica generale è quindi: da risolvere come equazione di II grado; se il determinate è <0 non ci sono intersezioni, se =0 il vettore è tangente, se >0 due intersezioni, e le radici t1,t2 danno il punto di entrata e di uscita del raggio i,j,k sono le differenze (x2-x1) ecc. non sono coseni direttori !

si ricava anche la normale alla sfera nel punto di intersezione (tangenza):

le intersezioni “dietro” non interessano 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 l2, se < r2 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 m2 se > r2 il raggio non colpisce la sfera altrimenti si calcola l’intersezione

fare figura

Intersezione raggio triangolo (poligono) 3 passi: determinare il piano su cui giace il triangolo determinare l’intersezione piano-raggio valutare se 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

Determinare il piano 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)

Intersezione raggio / piano si sostituisce x,y,z dalla equazione parametrica del raggio: 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

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 raggio esterno esterno interno interno

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°

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) algoritmo di Haines: (inizializza tnear come minimo valore negativo e tfar come massimo positivo) if piano-è-back-face and (t<tfar) then tfar=t if (piano-è-front-face) and (t>tnear) then tnear=t if (tnear>tfar) then exit (raggio non interseca)

fare figura

Intersezione con OBB si considerano a turno coppie di piani paralleli determinando tnear e tfar si conserva nel confronto tnear maggiore e tfar minore se il massimo tnear è maggiore del minimo tfar non c’è intersezione

tnear tfar tnear tfar tnear tnear tfar tfar