Esame di Elementi di Grafica Digitale Prof. Matjaz Hmeljak Marco Bacer 12 gennaio 2009.

Slides:



Advertisements
Presentazioni simili
Le forme dello spazio Caffè Scienza. Associazione formaScienza.
Advertisements

Osservatorio Astronomico Lic. Classico A. D. Azuni Sassari
EFFETTO FIONDA.
Bartoccini Marco 3°A Il Movimento.
La probabilità conta Le onde contano Onde di probabilità!!!!
Prof. Roberto Capone Dinamica del punto materiale
Cos'è un catalizzatore C
Cinetica chimica Cinetica e termodinamica Velocità di reazione
Fisica 1 Termodinamica 3a lezione.
Fisica 2 Elettrostatica
Termodinamica 3 2 maggio 2011 Teoria cinetica dei gas - gas ideale
Seconda legge: il raggio che unisce il Sole ad un pianeta (raggio vettore) copre aree uguali in tempi uguali.
Dal moto circolare al moto nei cieli
1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena Ore F1F1 F2F2.
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
Istituzioni di Fisica Subnucleare A
VETTORI.
Differenziale di una funzione
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 30 MMeditor e collision detection
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
Algoritmi e Strutture Dati (Mod. A)
Prof. Antonello Tinti L’energia elettrica.
LEGGE DELLA CIRCUITAZIONE
CAMPO ELETTRICO E POTENZIALE
Ma anche…prodotto della sezione S per la velocità V
TEORIA CINETICA DEI GAS
Il moto armonico Altro esempio interessante di moto è quello armonico caratterizzato dal fatto che l’accelerazione è proporzionale all’opposto della posizione:
Rotazione di un corpo rigido attorno ad un asse fisso
Dinamica di corpi deformabili basata sulle posizioni
Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali - a.a. 2009/10 Prof. Paolo Pasteris Tutor: Stefano Baldan Bouncing Balls Obiettivo:
Dinamica dei sistemi di punti
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Differenziale di una funzione
Conservazione della quantità di moto
© Copyright - Consoli – Trinaistich - Astorina
I.T.C. e per Geometri Enrico Mattei
Programmazione ad oggetti per la simulazione numerica di strutture su grande scala dellUniverso di Daniele Giunchi Relatore: Prof. Antonio Messina.
Il Movimento Cinematica.
1 MOTI PIANI Cosenza Ottavio Serra. 2 La velocità è tangente alla traiettoria v (P P, st, (P–P)/(t-t)v.
Per valutare la complessità ammortizzata scomponiamo ogni Union: nelle due FindSet e nella Link che la costituiscono e valuteremo la complessità in funzione.
Cominciamo a parlare di tangenti.
Interferenza e diffrazione
Grandezze e funzioni Marco Bortoluzzi.
Cenni teorici. La corrente elettrica dal punto di vista microscopico
Superfici nascoste Daniele Marini.
I vettori Le grandezze fisiche si dividono in Direzione
WEBQUEST per la classe 3° ITC
Intersezioni e distanze
Collisioni Corso di Programmazione Grafica e Laboratorio Daniele Marini.
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.
Formattazione, Partizioni e dischi
Alberi CORDA – Informatica A. Ferrari Testi da
Il moto circolare uniforme
I LIMITI.
FISICA.
1 Lezione V – seconda parte Avviare la presentazione col tasto “Invio”
1 Lezione X -b Avviare la presentazione col tasto “Invio”
1 Lezione IX seconda parte Avviare la presentazione col tasto “Invio”
1 Lezione XIII – terza parte Avviare la presentazione col tasto “Invio”
Avviare la presentazione col tasto “Invio”
centro di massa e momento di inerzia
Campo Elettrico Definizione operativa di campo elettrico: Il vettore campo elettrico associato ad una determinata carica sorgente Q, posta in un.
Modello delle località centrali di W. Christaller.
Solidi di rotazione.
Le cariche elettriche La materia è costituita fondamentalmente da atomi. Un atomo può essere schematizzato come segue: Al centro si trova il nucleo.
Transcript della presentazione:

Esame di Elementi di Grafica Digitale Prof. Matjaz Hmeljak Marco Bacer 12 gennaio 2009

Nelle simulazioni fisiche e nei videogiochi si parla di collision detection riferendosi a quegli algoritmi utilizzati per verificare le collisioni (come ad esempio lintersezione tra due solidi) La simulazione di ciò che avviene una volta rilevata la collisione si dice collision response

È indipendente dalla libreria grafica utilizzata È un problema abbastanza complicato Non cè un unico approccio Dipende dal tipo di programma che si vuole realizzare

Un fattore importante per la progettazione della collision detection è la determinazione di quanto spesso avvengono le collisioni e quali sono le collisioni che hanno più importanza Nel caso di un videogame: sono rilevanti solo le collisioni con il protagonista o anche quelle tra ogni coppia di oggetti presente nel gioco?

Ci sono molte tecniche Solitamente tutte ruotano attorno al trucco di raggruppare assieme oggetti vicini È possibile ottenere esattamente ogni collisione basandosi sui poligoni che compongono il solido, ma solitamente si preferisce approssimare la forma degli oggetti con qualcosa di più semplice

Unaltra tecnica comune è quella di fare un check rapido di quali oggetti potrebbero collidere, prima di perdere tempo per fare un controllo più complicato Ad esempio si può verificare se le sfere che contengono gli oggetti collidono, e solo se lesito è positivo si procede a controlli più approfonditi

Una scatola con pareti trasparenti Ad ogni pressione della spacebar vengono inserite nella scatola 10 palline La forza di gravità fa cadere e rimbalzare le palline tra di loro e contro le pareti

Per trovare tutte le collisioni è possibile controllare per ogni paio di palline se la distanza è minore della somma dei raggi Tuttavia una volta raggiunte le 300 palline ci ritroveremmo a dover controllare circa paia di palline per potenziali collisioni

Un approccio più efficace e quello di dividere il cubo a metà lungo ogni dimensione A questo punto basta trovare in quale sottocubo(o cubi) si trova una pallina e controllare ogni paia di palline presenti in quel cubo

Se nella figura avremmo dovuto controllare ogni coppia di palline, ci saremmo trovati con 105 paia di palline su cui effettuare il controllo Controllando invece le collisioni in ognuno dei quadrati più piccoli, troviamo soltanto = 31 paia di palline

Nella versione 3D, il procedimento è analogo Il cubo viene diviso in 8 cubi più piccoli Ogni cubo a sua volta può essere ulteriormente diviso in 8 cubi più piccoli È possibile iterare questo procedimento indefinitamente ma è necessario porre un limite per evitare coppie duplicate

La suddivisione dello spazio nella maniera descritta può essere rappresentata con una struttura ad albero chiamata octree (ogni cubo è un nodo, che, se viene diviso, avrà otto figli) Lequivalente 2D delloctree si chiama quadtree(quattro figli)

Utilizzando il quadtree per individuare le potenziali collisioni, vediamo che queste sono scese da 31 a 15 Suddividere troppo lo spazio porta le palline ad apparire in più cubi Per evitare questo fenomeno è necessario porre un limite alla profondità dellalbero

Una volta trovate le coppie di palline che potrebbero collidere si controlla se effettivamente hanno colliso Se collidono, le palline rimbalzano luna contro laltra La fisica dellurto è stata realizzate per essere il più reale possibile

Trovo il vettore che servirà come base x e lo normalizzo Calcolo le componenti rispetto al vettore x (appena trovato) e y (perpendicolare a x) della velocità

Si esegue la stessa procedimento anche sullaltra sfera. Applicando le leggi di Newton ottengo: Segue il codice corrispondente a quanto appena illustrato

Lurto tra pallina e muro è di realizzazione molto più semplice

d è la velocità prima dellurto d-2s è la velocità dopo lurto Per trovare s, trovo la direzione muro e poi calcolo il prodotto scalare tra velocità iniziale e direzione

Object-Object intersection Collision detection – NeHe tutorial Collision detection & Response – Peroxide tutorial Collision detection – Videotutorialsrock tutorial ext.php ext.php Simple Sphere-Sphere Collision Detection and Collision Response collision-response/comment-page-1#comment collision-response/comment-page-1#comment-6713 Collision detection – Wikipedia Bounding volume – Wikipedia Octree – Wikipedia How can I perform collision detection with OpenGL? – OpenGL FAQ