Your SlideShare is downloading. ×
0
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

FISL14 - Desmontando uma engine de física

287

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
287
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. desmontando uma engine de física
  • 2. Adriano Melo Engenhero de Software (INdT) Mestrando em IA (UFPE) Membro do CInLUG http://adrianomelo.com http://github.com/adrianomelo
  • 3. the incredible circus! nas lojas: meego, symbian, windows phone em breve: facebook e android
  • 4. o que é uma engine de física? (ou motor de física)
  • 5. simulações de sistemas físicos como dinâmica de corpos rígidos, de corpos maciose de fluidos
  • 6. representação gráfica representação geométrica motor de físicaframework gráfico
  • 7. como integrar a representação geométrica com a repre. gráfica?
  • 8. main loop •alimenta o sistema com eventos, atualiza a simulação física e desenha os elementos na tela
  • 9. *16ms = 1 seg / 60 fps exemplo de main loop #1
  • 10. *16ms = 1 seg / 60 fpshttp://entropyinteractive.com/2011/02/game-engine-design-the-game-loop/ exemplo de main loop #2
  • 11. movendo objetos
  • 12. •Verlet integration •Euler method •Runge-kutta methods •Symplectic integrator métodos numéricos https://en.wikipedia.org/wiki/Numerical_ordinary_differential_equations
  • 13. position verlet - equações Positionnew = Positioncurrent + Acceleration * Timestep2 + (Positioncurrent - Positionold) Positionold = Positioncurrent http://www.pagines.ma1.upc.edu/~susin/files/AdvancedCharacterPhysics.pdf
  • 14. positionold positioncurrent positionnew-g*t2 positioncurrent - positionold trajetória livre p1 p2 p2 p1 p0
  • 15. trajetória com colisão p0 p1 p2 p2 terá sua posição corrigida para não entrar no outro objeto
  • 16. detectando colisões
  • 17. e1 e2 e3 colidem! (e2 e e3) problema não trivial e de alto custo de processamento! e4
  • 18. volumes delimitadores representação geométrica que otimiza a detecção de colisões http://en.wikipedia.org/wiki/Bounding_volume
  • 19. alguns tipos..
  • 20. e1 e2 e3 e4 usando AABBs como volumes delimitadores (bounding volumes) a checagem de colisão seria feita apenas entre e2 e e3
  • 21. 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
  • 22. relembrando o que é uma projeção... ponto P reta R projeção de P em R http://en.wikipedia.org/wiki/Vector_projection
  • 23. 25º 70º quais eixos testar? 0º e1 e2 e3 usando Oriented Bounding Boxes
  • 24. e1 e2 e3 v1 v2 v5 v6 v4 v3
  • 25. resolução de colisões
  • 26. 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 •...
  • 27. restrições usadas para remover liberdades entre corpos
  • 28. restrição de distância longe.. perto.. x0 x1 |x1 - x0| = d
  • 29. restrição de angulo x0 x1 x2 (x2 − x0) ⋅ (x1 − x0) < α
  • 30. uma engine simples...
  • 31. •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
  • 32. https://github.com/subprotocol/verlet-js
  • 33. •Advanded Character Physics •Thomas Jakobsen •Real-time collision detection •Christer Ericson referências
  • 34. 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
  • 35. obrigado Adriano Melo adrianomelo.com

×