Цитата:
Сообщение от romacool2
б) Найти время прохождения точки пересечения каждым из объектов и скорость каждого из них; не совсем понимаю как сделать, если бы объяснили или алгоритм решения подсказали было бы чюдно
|
Попробую.
Тут, вероятно, целесообразно ввести X и Y-компоненты вектора скорости для каждого из объектов. Например, так.
Пусть заданные координаты точек объектов a и b есть X1a, Y1a, X2a, Y2a, X1b, Y1b, X2b, Y2b. Тогда компоненты скорости объектов задаем так:
VaX = (X2a-X1a)/(t1-t0)
VaY = (Y2a-Y1a)/(t1-t0)
VbX = (X2b-X1b)/(t1-t0)
VaX = (Y2b-Y1b)/(t1-t0)
Абсолютные скорости объектов Va и
Vb найдём по формулам
(Va)² = (VaX)² + (VaY)²
(
Vb)² = (VbX)² + (VbY)²
Координаты Xa(t), Ya(t), Xb(t), Yb(t) объектов в любой момент времени можно сосчитать, как
Xa(t) = X1a + VaX*t
Ya(t) = Y1a + VaY*t
Xb(t) = X1b + VbX*t
Yb(t) = Y1b + VbY*t
Координаты точки пересечения траекторий X0 и Y0 мы уже вычислили. Времена ta и tb прохождения точки пересечения каждым из объектов находим, как
ta = t0 + (X0 - X1a)/VaX
tb = t0 + (X0 - X1b)/VbX
Теперь ищем минимальное расстояние.
Пусть D(t) - расстояние между объектами в любой момент времени t. Его можно найти из формулы
D(t) = √[(Xa(t) - Xb(t))² + (Ya(t) - Yb(t))²]
И теперь нужно найти сосчитать производную dD/dt, приравнять её к 0, определить время, соответствующее наибольшему сближению (обозначим, например, tt), найти D(tt) и сравнить с суммой длин объектов. Справитесь?