colisões - uspwiki.icmc.usp.br/images/2/2b/colisoesdet.pdf · raios, então a colisão ocorreu...
TRANSCRIPT
15/06/2015
1
Colisões
Moussa Reda Mansour
Colisões
� Ideia simples:
◦ Evitar que objetos se sobreponham em
um cenário
� Aplicações:
15/06/2015
2
Colisões
� Ideia simples:
◦ Evitar que objetos se sobreponham em
um cenário
� Aplicações:
Colisões
� Ideia simples:
◦ Evitar que objetos se sobreponham em
um cenário
� Aplicações:
◦ Jogos
15/06/2015
3
Colisões
� Ideia simples:
◦ Evitar que objetos se sobreponham em
um cenário
� Aplicações:
◦ Jogos
Colisões
� Ideia simples:
◦ Evitar que objetos se sobreponham em um
cenário
� Aplicações:
◦ Jogos
◦ Animações
15/06/2015
4
Colisões
� Ideia simples:
◦ Evitar que objetos se sobreponham em um
cenário
� Aplicações:
◦ Jogos
◦ Animações
Colisões
� Ideia simples:
◦ Evitar que objetos se sobreponham em um cenário
� Aplicações:
◦ Jogos
◦ Animações
◦ Realidade Virtual
15/06/2015
5
Colisões
� A simulação de colisões envolve dois
fenômenos distintos:
◦ A detecção de colisão
◦ A resposta a colisão
Colisões
� Detecção:
◦ Determina quando dois objetos se
encontram
15/06/2015
6
Colisões
� Resposta a colisão:
◦ Fenômeno Físico!!!!
Detecção de Colisões
� O problema se resume em:
◦ Se, quando e onde dois objetos se
encontram?
15/06/2015
7
Detecção de Colisões
� O problema se resume em:
◦ Se, estabelece um resultado booleano respondendo
a pergunta “os objetos se encontram?”
◦ Quando, determinar em qual tempo a colisão
ocorreu
◦ Onde, estabelece como os objetos entraram em
contato.
Detecção de Colisões
15/06/2015
8
Detecção de Colisões
� Empregamos geométricas simples (2D):
◦ Círculos
◦ Retângulos
◦ Linhas
◦ Poligonos complexos
Detecção de Colisões
� Empregamos geométricas simples (3D):
◦ Esferas
◦ Linhas
◦ Cuboide
◦ Cilindro
◦ Poliedro
15/06/2015
9
Detecção de Colisões
� Empregamos geométricas simples (3D):
◦ Esferas
◦ Linhas
◦ Cuboide
◦ Cilindro
◦ Poliedro
Detecção de Colisões
� Círculos/Esferas envolventes
◦ Fácil de implementar e testar
◦ Precisa somente do raio e centro
15/06/2015
10
Detecção de Colisões
� Círculos/Esferas envolventes
◦ Se a distância entre as esferas for menor que a soma dos
raios, então a colisão ocorreu
�� ��
Detecção de Colisões
� Caixas envolventes
◦ Alinhadas com eixos
� AABB (Axis-Aligned Bounding Box)
◦ Orientada com o Objeto
� OBB (Oriented Bounding Box)
15/06/2015
11
Detecção de Colisões
� Caixas envolventes
◦ AABB (Axis-Aligned Bounding Box)
Detecção de Colisões
Imagem retirada de Ericson, C. Real-time collition detection (2006).
15/06/2015
12
Detecção de Colisões
Imagem retirada de Ericson, C. Real-time collision detection (2006).
Detecção de Colisões
� Análise Multiscala
15/06/2015
13
Detecção de Colisões
� Análise Multiscala
Detecção de Colisões
� Análise Multiscala
◦ Representar de forma hierárquica um objeto
utilizando figuras envolventes (círculos,
AABB, etc)
◦ A hierarquica é representada por estruturas
de dados do tipo árvore
15/06/2015
14
Detecção de Colisões
� Informação legal
◦ O jogo Gran Turismo, por exemplo, é
representado por arvores de esferas
envolventes
Detecção de Colisões
15/06/2015
15
Detecção de Colisões
Resposta a Colisão
15/06/2015
1
Referências
� Notas de aula do professor Rolf
Lakaemper (CIS 350 – Game
Programming)
� Ericson, C. Real-time collision
detection (2006), Elsevier