desmontando
uma engine
de física
Adriano Melo
Engenhero de Software (INdT)
Mestrando em IA (UFPE)
Membro do CInLUG
http://adrianomelo.com
http://github.com/adrianomelo
the incredible circus!
nas lojas: meego, symbian, windows phone
em breve: facebook e android
o que é uma
engine de física?
(ou motor de física)
simulações de sistemas físicos como dinâmica de
corpos rígidos, de corpos
maciose de fluidos
representação
gráfica
representação
geométrica
motor de físicaframework gráfico
como integrar a
representação geométrica
com a repre. gráfica?
main loop
•alimenta o sistema com eventos, atualiza a
simulação física e desenha os elementos na
tela
*16ms = 1 seg / 60 fps
exemplo de main loop #1
*16ms = 1 seg / 60 fpshttp://entropyinteractive.com/2011/02/game-engine-design-the-game-loop/
exemplo de main loop #2
movendo objetos
•Verlet integration
•Euler method
•Runge-kutta methods
•Symplectic integrator
métodos numéricos
https://en.wikipedia.org/wiki/Numerical_ordinary_differential_equations
position verlet - equações
Positionnew = Positioncurrent
+ Acceleration * Timestep2
+ (Positioncurrent - Positionold)
Positionold = Positioncurrent
http://www.pagines.ma1.upc.edu/~susin/files/AdvancedCharacterPhysics.pdf
positionold
positioncurrent
positionnew-g*t2
positioncurrent - positionold
trajetória livre
p1
p2
p2
p1
p0
trajetória com colisão
p0
p1
p2
p2 terá sua posição corrigida
para não entrar no outro objeto
detectando
colisões
e1
e2
e3
colidem!
(e2 e e3)
problema não trivial e de alto custo de processamento!
e4
volumes delimitadores
representação geométrica que otimiza a detecção de
colisões
http://en.wikipedia.org/wiki/Bounding_volume
alguns tipos..
e1
e2
e3
e4
usando AABBs como volumes
delimitadores (bounding volumes)
a checagem de colisão seria
feita apenas entre e2 e e3
teorema dos eixos de
separação
dois objetos convexos não se intersectam se e somente se
existe uma linha (chamada de eixo) em que as projeções
dos objetos não se cruzam.
http://en.wikipedia.org/wiki/Separating_axis_theorem
relembrando o que é uma projeção...
ponto P
reta R
projeção de P em R
http://en.wikipedia.org/wiki/Vector_projection
FISL14 - Desmontando uma engine de física
25º
70º
quais eixos testar?
0º
e1
e2
e3
usando Oriented
Bounding Boxes
e1
e2
e3
v1
v2
v5
v6
v4
v3
resolução
de colisões
informações para a
resolução
•normal do contato
•tamanho da interseção
•a depender da engine:
•ponto do contato
•vértice ou aresta envolvida na colisão
•formas dos objetos colididos
•...
FISL14 - Desmontando uma engine de física
restrições
usadas para remover liberdades entre corpos
restrição de distância
longe..
perto..
x0
x1
|x1 - x0| = d
restrição de angulo
x0
x1 x2
(x2 − x0) ⋅ (x1 − x0) < α
uma engine simples...
•verlet integration
•modelar corpos rígidos
como partículas com
restrições
•colisões usando as
informações do teorema
dos eixos de separação
•constraint solver (resolve
o comportamento das
restrições)
d1
d2
d3
d4
d5 d6
https://github.com/subprotocol/verlet-js
•Advanded Character Physics
•Thomas Jakobsen
•Real-time collision detection
•Christer Ericson
referências
palestras relacionadas
•Arquitetura para jogos multi-plataforma
•Sala P09 - quinta das 10 às 11 horas
•Workshop de Jogos em HTML5
•Sala 714 - quinta das 14 às 17 horas
obrigado
Adriano Melo
adrianomelo.com

Mais conteúdo relacionado

PDF
Função quadrática aluno4
PPT
Graficodafuncaoquadratica
DOC
Ficha trabalho1 mod6_lab_curvacaracteristicadiodoblog
PPT
Cinematica de robôs
DOC
Laser
PPT
Estudo de uma função
DOCX
Ejercicios de grafos y digrafos
PDF
Matematica grafico da funcao quadratica
Função quadrática aluno4
Graficodafuncaoquadratica
Ficha trabalho1 mod6_lab_curvacaracteristicadiodoblog
Cinematica de robôs
Laser
Estudo de uma função
Ejercicios de grafos y digrafos
Matematica grafico da funcao quadratica

Destaque (20)

PPT
Roary Samsam
PDF
DigitalHubGO: Search Engine Optimization - SEM
PDF
Condition monitoring case study
PPT
PHPConf2010 - Introdução a Search Engine Optimization
PDF
Game Engine Architecture
PDF
App Engine: aplicações escaláveis em poucas horas
PPTX
Google App Engine e Python
PPTX
Search Engine Marketing
PPT
Seo - Search Engine Optimization
PDF
liquid propellant rocket engine (Motor foguete Liquido) part6
PDF
Tendências 2015: Kubernetes & Google Container Engine
PDF
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
PPT
Palestra Search Engine Marketing - Com foco nos resultados
PDF
Introdução ao Desenvolvimento de Jogos
PPTX
Notifications push avec Android
PDF
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
PDF
Marketing online, SEM (Search Engine Marketing)
PPTX
Arduino, Robótica e Computação nas Nuvens
PDF
Criando Jogos 2D com Lua + Corona SDK
PPTX
Clés pour un meilleur référencement - OTC Evreux Normandie
Roary Samsam
DigitalHubGO: Search Engine Optimization - SEM
Condition monitoring case study
PHPConf2010 - Introdução a Search Engine Optimization
Game Engine Architecture
App Engine: aplicações escaláveis em poucas horas
Google App Engine e Python
Search Engine Marketing
Seo - Search Engine Optimization
liquid propellant rocket engine (Motor foguete Liquido) part6
Tendências 2015: Kubernetes & Google Container Engine
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Palestra Search Engine Marketing - Com foco nos resultados
Introdução ao Desenvolvimento de Jogos
Notifications push avec Android
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
Marketing online, SEM (Search Engine Marketing)
Arduino, Robótica e Computação nas Nuvens
Criando Jogos 2D com Lua + Corona SDK
Clés pour un meilleur référencement - OTC Evreux Normandie
Anúncio

Mais de Adriano Melo (13)

PDF
leanCoR: lean Connection-based DL Reasoner
PDF
Aula sobre SWRL
PDF
O axioma da escolha (the axiom of choice) - incomplete
PDF
Mini-curso de Linux na CPRecife2
PDF
Apresentação FLOSS
PDF
Linux Desktop (Campus Party Recife)
KEY
Aula SWRL
KEY
Protégé: Lógica de descrições na pratica!
PDF
Trabalho de Graduação: Normalização de ontologias em lógica de descrições par...
KEY
Mini-curso de linux básico
PDF
git 101
PPTX
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
PDF
git: o primeiro passo do seu projeto de código aberto
leanCoR: lean Connection-based DL Reasoner
Aula sobre SWRL
O axioma da escolha (the axiom of choice) - incomplete
Mini-curso de Linux na CPRecife2
Apresentação FLOSS
Linux Desktop (Campus Party Recife)
Aula SWRL
Protégé: Lógica de descrições na pratica!
Trabalho de Graduação: Normalização de ontologias em lógica de descrições par...
Mini-curso de linux básico
git 101
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
git: o primeiro passo do seu projeto de código aberto
Anúncio

Último (20)

PDF
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
PDF
Administração de qualidade no SAP Extended Warehouse Management, EWM140 Col26
PDF
Capacitação em Logística – Instituto Federal
PPTX
Introdução a Computação em Nuvem-parte2-T2
PDF
Integração da produção com o SAP Extended Warehouse Management, EWM130 Col26
PPT
Padrões de Beleza I - Estética Corporal e Saúde
PPT
inteligencia_artificial REPRESENTAÇÃO DO CONHECECIMENTO
PDF
POO - Aula 03 - Membros Estáticos e Construtores.pdf
PPTX
Legislação aeronautica na aviação civil Brasileira
PPTX
Formação aaaaaaaaadsdsfg er rsgrsgesf efsfsefsf e LEEI.pptx
PPTX
Do código à carreira: O Profissional de TI que o mercado realmente quer - com...
PPTX
RCSOFTdfsdfrvadfvdfvargfvevevrervevqer.pptx
PDF
POO - Aula 05 - Herança - Generalização e Especialização.pdf
DOCX
20250828_Perfis Profissionais em ServiceNow Um Guia Detalhado.docx
PDF
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
PPTX
Importacao_Ordem_Customizacao_SAP_S4HANA.pptx
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
PDF
Personalização de tópicos adicionais no SAP Extended Warehouse Management, EW...
PDF
resumo de instalação de placa arduino em jardim vertical para fertirrigação
PDF
POO - Aula 05 - Herança - Generalização e Especialização.pdf
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
Administração de qualidade no SAP Extended Warehouse Management, EWM140 Col26
Capacitação em Logística – Instituto Federal
Introdução a Computação em Nuvem-parte2-T2
Integração da produção com o SAP Extended Warehouse Management, EWM130 Col26
Padrões de Beleza I - Estética Corporal e Saúde
inteligencia_artificial REPRESENTAÇÃO DO CONHECECIMENTO
POO - Aula 03 - Membros Estáticos e Construtores.pdf
Legislação aeronautica na aviação civil Brasileira
Formação aaaaaaaaadsdsfg er rsgrsgesf efsfsefsf e LEEI.pptx
Do código à carreira: O Profissional de TI que o mercado realmente quer - com...
RCSOFTdfsdfrvadfvdfvargfvevevrervevqer.pptx
POO - Aula 05 - Herança - Generalização e Especialização.pdf
20250828_Perfis Profissionais em ServiceNow Um Guia Detalhado.docx
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
Importacao_Ordem_Customizacao_SAP_S4HANA.pptx
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
Personalização de tópicos adicionais no SAP Extended Warehouse Management, EW...
resumo de instalação de placa arduino em jardim vertical para fertirrigação
POO - Aula 05 - Herança - Generalização e Especialização.pdf

FISL14 - Desmontando uma engine de física