1 / 21

Физика в игрите – част 1

Физика в игрите – част 1. Михаил Лозанов. Закони за движението на Нютон. Всяко тяло се стреми да остане в покой или да продължи да се движи по права линия с постоянна скорост, ако няма други външни сили които да му въздействат

Download Presentation

Физика в игрите – част 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Физика в игрите – част 1 Михаил Лозанов

  2. Закони за движението на Нютон • Всяко тяло се стреми да остане в покой или да продължи да се движи по права линия с постоянна скорост, ако няма други външни сили които да му въздействат • Ускорението на едно тяло е пропорционално на резултантната сила която действа върху тялото и има същата посока • На всяка сила действаща върху тяло има равна по големина и обратна по посока друга сила

  3. Свойства на твърдите тела • Маса • Център на масите • Масов инерционен момент

  4. Маса

  5. Масов център

  6. Масов инерционен момент

  7. Закони за движението • Вторият закон на Нютон: • За линейно движение

  8. Закони за движението • Вторият закон на Нютон • За ъглово движение

  9. Инерционен тензор

  10. Инерционен тензор

  11. Инерционен тензор

  12. Инерционен тензор • За симетричните обекти показани на следващите слайдове всяка координатна ос е равнина на симетрия • Ixy, Iyx в уравненията се унищожават и остава само главният диагонал във инерционния тензор

  13. Закони за движението • Линейно движение • a = F/m = dv/dt • v = dx/dt

  14. Закони за движението • Ъглово движение • dw/dt = (Mcg - [w x (Iw)]) * Iinv • dq/dt = (1/2)wq

  15. class RigidBody template <typename T> class RigidBody { public: vector3<T> m_F; //forces vector3<T> m_T; //moments matrix33<T> m_I; matrix33<T> m_Iinv; RigidBodyState<T> m_state; T m_mass; };

  16. class RigidBody template <typename T> struct { vector3<T> p; vector3<T> v; vector3<T> w; quat<T> q; } RigidBodyState;

  17. class RigidBody void DxDt(RigidBody<float>* body, RigidBodyState<float>* dxdy) { RigidBodyState<float>* current = &body->m_state; dxdy->p = current->v; dxdy->v = body->m_F * (1.0/body->m_mass); dxdy->w = (body->m_T - cross(current->w, body->m_I*current->w )) * body->m_Iinv; dxdt->q = current->q * quat(0, current->w) * 0.5; }

  18. Откриване и обработка на колизиите Прилагане на силите в/у телата Изчисляване на силите в контактите Интегриране на диференциалното уравнение за всяко тяло

More Related