1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

Slides:



Advertisements
Presentazioni simili
OLIMPIADI DI FISICA a.s. 2008/2009
Advertisements

Geometria descrittiva dinamica
IL RILIEVO TOPOGRAFICO
Sistema di riferimento sulla retta
UN GIORNO INSIEME A SCUOLA
Autovalori e autovettori
COORDINATE POLARI Sia P ha coordinate cartesiane
Cinematica del braccio di un robot
6. Catene di Markov a tempo continuo (CMTC)
COME COSTRUIRE UN GRAFICO
Definizione e caratteristiche
Robotica & Automazione di Processo
ELETTROMAGNETISMO APPLICATO ALL'INGEGNERIA ELETTRICA ED ENERGETICA
6. Catene di Markov a tempo continuo (CMTC)
Ordini Parziali - Reticoli
Ordini Parziali - Reticoli
Elementi di Matematica
ANALISI DEI GRUPPI seconda parte
Esame di Elementi di Grafica Digitale Prof. Matjaz Hmeljak Marco Bacer 12 gennaio 2009.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 prove generali.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Lezione.
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 30 MMeditor e collision detection
Seminario su clustering dei dati – Parte II
Criticità sui dati (esempio da fare on line)
Teoria e Tecniche del Riconoscimento
GEOMETRIA SOLIDA o STEREOMETRIA
Riconoscimento automatico di oggetti in immagini digitali
Fondamenti di Informatica1 Ripetizioni di segmenti di codice Spesso è necessario ripetere più volte uno stesso segmento dell'algoritmo (e.g. I/O, elaborazioni.
CINEMATICA DINAMICA ENERGIA. Cosa rappresenta la linea a ? a LO SPAZIO PERCORSO LA TRAIETTORIA LA POSIZIONE RAGGIUNTA ……………...
1 Superfici nascoste Daniele Marini. 2 Ray casting adatto a CSG o superfici parametriche dipende dal punto di vista è una sorta di campionamento spaziale.
Lavorare con le matrici in OGL
Modellazione di terreni a risoluzione adattiva
Infomatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.
corso DI GEOMETRIA DESCRITTIVA
p= 8.97 Ne KHz (Ne = densità degli elettroni liberi in cm-3)
14 giugno 2011 Rasterizzazione Prof. Roberto Pirrone.
Relazioni binarie.
Determinazione delle superfici visibili
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Relatore Candidato Prof. Alessandro De Luca Daniele De Simone
Diagrammi 2D e 3D Funzioni di ordine superiore
Le proiezioni e la prospettiva
LA CIRCONFERENZA.
Texturing - Tessiture Daniele Marini.
Le proiezioni e la prospettiva
Le proiezioni e la prospettiva
Superfici nascoste Daniele Marini.
Pippo.
1 Ottimizzazione della scena: culling (decimazione) Daniele Marini.
Intersezioni e distanze
Intersezioni e distanze
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Trasformazioni 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.
Controllare la prospettiva
1 Ottimizzazione della scena Daniele Marini. 2 Esigenze del RT rendering maggiori frame /sec risoluzione più alta oggetti più accurati e realistici.
Architettura di OGL e pipe-line Daniele Marini Davide Gadia Davide Selmo Corso Di Programmazione Grafica aa2005/2006.
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.
Collisioni Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
OGGETTI AUREI, metallici E Spirali
MATEMATICA pre-test 2014.
Madama Chiara - Regole di Quotatura con esempi
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.
Transcript della presentazione:

1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena Ore F1F1 F2F2

2 1.Detectare le interazioni. 2.Calcolo del proxy (God-Object,…). 3.Calcolo delle forze (Modello locale+globale, dinamica e stabilità). 4.Rendering di forza (PHANToM, modello 2 porte). 5.Aggiornamento della grafica (coerenza tra visione e tatto). Collision detection

3 2-3 Proxy & Local model… Local Model Proxy

4 Per attuare una forza, espressa nel sistema di riferimento cartesiano (x,y,z) dellend effector, è necessario trasformarla in una serie di coppie di forza equivalenti da applicare ai motori (giunti rotazionali). Questa trasformazione avviene attraverso la matrice jacobiana trasposta, che è legata alla cinematica dellinterfaccia. feedback di forza massimo : 6.4N 3 gradi di libertà con feedback di forza : ( ) 6 gradi di libertà di posizionamento : (,roll,pitch,yaw) attrito : 0.06N risoluzione di posizionamento : 0.02 mm frequenza di aggiornamento della forza 4 Come viene attuata una forza…

5 1 Problema della collision detection Lo stato dellambiente virtuale viene modificato dalle interazioni fisiche che avvengono tra i diversi oggetti presenti nella scena. F1F1 F2F2 Modello fisico O A Modello fisico O B Calcolo delle forze Modifica la scena Collision detectio n collisione

6 Problema della collision detection

7 Collisione Utente 1KHz 25fps Force rendering SI NO 1.Lambiente virtuale è costituito da diversi oggetti. Uno di questi è rappresentativo dellend-effector dellinterfaccia haptica. 2.Lobiettivo è quello di sapere ad ogni ciclo di controllo (1KHz) se il PHANToM è entrato o no in collisione con modelli 3D della scena. Problema: Il numero di triangoli che compongono la superficie dei diversi oggetti è elevato ( – ) pensare di eseguire un test di collisione controllandoli uno ad uno non è fattibile nelle tempistiche di controllo richieste dal PHANToM. Problema della collision detection

8 Come posso fare per sapere in tempo reale con quale triangolo ho avuto collisione ?

9 Problema della collision detection In effetti si tratta di eseguire un processo di ricerca in uno spazio geometrico. Spendo del tempo in fase di pre-processing (off-line) per organizzare/strutturare lo spazio di ricerca. Così rendo più efficiente il processo di ricerca (on-line) ex: QuickSort, LookUp table (sin e cos)

10 1.Lidea, allora, è quella di eseguire una scomposizione spaziale della superficie, utilizzando delle primitive geometriche, in questo caso parallelepipedi, che vengono poi organizzate in una struttura gerarchica (albero binario di ricerca) OBB-Tree (Oriented Bound Box Tree). Nota la posizione Hp del PHANToM, in un primo momento viene utilizzato lOBB-Tree al fine di localizzare in quale OBB è posizionata linterfaccia. Se Hp non è contenuto in alcun OBB foglia, sicuramente non vi può essere collisione, altrimenti se il processo di ricerca termina su un OBB foglia, vi è la possibilità di collisione e quindi viene raffinato il processo di ricerca andando a testare tutti e solo i triangoli contenuti in tale OBB, che generalmente sono dellordine delle decina il test è quindi immediato. Organizzazione dello spazio di ricerca : OBB-Tree OBB-Tree (Oriented Bound Box Tree)

11 Calcolo degli OBB 1.Il centro dellOBB è posizionato nel valor medio. 2.Gli autovettori di una matrice simmetrica, come quella di covarianza C sono mutuamente ortogonali, pertanto una volta normalizzati vengono usati come base per lOBB. 3.Infine per dimensionare lOBB vengono presi il min e il max delle proiezione dei vertici lungo le tre direzioni. 1.Fissato un livello di soglia sul numero max di triangoli contenuti negli OBB foglia, si procede con una operazione di splitting che provvede a suddividere in modo ricorsivo gli OBB che contengono un numero di triangoli superiore alla soglia fissata. 2.Posizionamento del piano di sezione 1.a metà del lato più lungo. LOBB-Tree non è bilanciato. 2.media delle proiezioni dei vertici sul lato più lungo

12 Esempio di OBB-Tree

13 Anche la sfera viene utilizzata come primitiva geometrica. Il GHOST SDK utilizza questo approccio.

14 Quello che si fa in effetti per testare lavvenuta collisione e verificare se il segmento congiungente la posizione attuale e quella precedente del PHANToM ha intersezione dapprima con gli OBB e poi con uno dei triangoli. Nessuna collisione Potenziale collisione, cè intersezione con un OBB foglia ma nessuna con i triangoli contenuti nellOBB COLLISIONE, cè intersezione con un OBB foglia e con uno dei triangoli contenuti nellOBB Test di intersezione

15 Generalmente si fa il test di collision detection tra oggetti… Ci può essere collisione solo se cè una intersezione tra OBB foglia. AB A B

16