Показать сообщение отдельно
Старый 30.07.2012, 14:44
PlutDem вне форума Посмотреть профиль Отправить личное сообщение для PlutDem Найти все сообщения от PlutDem
  № 1  
Ответить с цитированием
PlutDem
 
Аватар для PlutDem

Регистрация: Feb 2012
Сообщений: 212
По умолчанию Проверка столкновения отрезков на числовой прямой зависящее от времени.

Здравствуйте, есть два отрезка на числовой прямой, движущихся по этой прямой с различной скоростью. Нужно написать функцию, которая вернула бы время когда эти отрезки столкнулись бы(если они вообще когда нибудь столкнутся). Для удобства я представил отрезки окружностями и вычислял время столкновения вот по этой формуле:
Код AS1/AS2:
( (s1+ v1*t)-(s2 + v2*t) )^2 = (r1+r1)^2
Где: s - текущие координаты окружности, v - скорость движения окружности, t - время, r - радиус.
Нужно найти такое значение t когда расстояние между окружностями будет равно сумме их радиусов. "На бумаге" все работает как надо, но на практике... Первая проблема с которой столкнулся, это если скорость какого либо отрезка равна нулю, то уравнение не решается. Если на момент проверки отрезки уже пересекаются, то уравнение так же не имеет решений.
прошу помочь найти универсальный способ проверки.