Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu...

16
15/06/2015 1 Colisões Moussa Reda Mansour Colisões Ideia simples: Evitar que objetos se sobreponham em um cenário Aplicações:

Transcript of Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu...

Page 1: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

15/06/2015

1

Colisões

Moussa Reda Mansour

Colisões

� Ideia simples:

◦ Evitar que objetos se sobreponham em

um cenário

� Aplicações:

Page 2: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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

Page 3: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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

Page 4: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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

Page 5: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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

Page 6: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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?

Page 7: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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

Page 8: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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

Page 9: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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

Page 10: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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)

Page 11: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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).

Page 12: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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

Page 13: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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

Page 14: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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

Page 15: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

15/06/2015

15

Detecção de Colisões

Resposta a Colisão

Page 16: Colisões - USPwiki.icmc.usp.br/images/2/2b/ColisoesDet.pdf · raios, então a colisão ocorreu Detecção de Colisões Caixas envolventes Alinhadas com eixos AABB (Axis-Aligned Bounding

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