Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Пересечение движущихся сфер (2 стр)

Пересечение движущихся сфер (2 стр)

Поделиться

Страницы: 1 2

alexzzzzПостоялецwww18 июля 20170:01#15
Никогда не делал физику. Из любопытства решил аналитически.

Исходное уравнение: | (pa + vat) – (pb + vbt) | = ra + rb

где
pa, pb ― исходные положения шариков
va, vb ― скорости шариков
ra, rb ― радиусы шариков

Решение относительно t должно дать моменты касания шариками друг друга.

Получилось квадратное уравнение с коэффициентами
a = |v|2
b = 2p·v
c = |p|2 – L2

где
v ― вектор разницы в скоростях шариков (va – vb)
p ― вектор разницы в начальных позициях (pa – pb)
L ― сумма радиусов (ra + rb)
· ― скалярное произведение

Проверил в демо-проекте, работает:

Изображение
Проект: Balls

Правка: 18 июля 2017 0:18

Zed234Новичокwww18 июля 201711:32#16
alexzzzz
Большое Вам спасибо.
Вы мне очень помогли, добрый человек.

Страницы: 1 2

/ Форум / Программирование игр / Физика

2001—2017 © GameDev.ru — Разработка игр