Хмм... Вспомнить что ли школу)) Начну писать, пока сам не знаю, к чему приду.
Рассмотрю для простоты проекции на оси.
Скорость:
V(х) = V(0х) = конст (с какой проекцией скорости на ось Х пуля будет выпущена, с такой и полетит)
V(у) = V(0у) - g*t (будет снижаться и увеличиваться в отрицательную зону в соответствии с g и временем).
Координаты пули:
Х = х1 + V(х)*t
У = у1 + V(у)*t - (g*t^2)/2
Нам нужно, чтобы пуля попала по цели. Тогда эти уравнения превращаются в:
х2 = х1 + V(х)*t
у2 = у1 + V(у)*t - (g*t^2) / 2
Из них можно выразить Нужные нам скорости.
V(х) = (х2 - х1) / t
V(у) = (у2 - у1 + (g*t^2)/2) / t
Это 2 уравнения с 3 неизвестными V(у), V(х), t.
Если сюда подставлять время полёта пути до цели, можно получить начальную скорость.
Но у нас задан угол вылета пули. По сути задано соотношение V(х)/V(у). Обозначу его через К.
Тогда V(х) = V(у)*К
И можно записать
V(у) * К = (х2 - х1) / t
V(у) = (у2 - у1 + (g*t^2)/2) / t
Это уже 2 уравнения с 2 неизвестными.
Из первого можно выразить t и поставить во второе.
Далее неудобно набирать на компе (дроби плохо видны), а на бумажке писать лень.