1) Бортовой компьютер ракеты рассчитывает вектор упреждения, она почти никогда не идет на цель точно, а в некую точку встречи.
2) У ракеты есть энергия или дельта V, ракетный двигатель разгоняет ракету и дальше отключается. Ракета расходует запасенную энергию на какие то маневры и корректировки курса, на этом факте основаны большинство противоракетных маневров.
3) Ракета поражает не точно цель, а некую область возле нее облаком осколков при срабатывании взрывателя.
Все выше написанное относится к ракетам из серьезных авиасимуляторов таких как DCS.
Если вы делаете аркадный симулятор, то ваши ракеты скорее всего будут вести себя как акустические торпеды. То есть двигатель постоянно работает, постоянно идет корректировка курса.
Пример из игр ColdWater, если неуправляемые Silent Hunter.
каким образом оптимально находить вектор скорости MSL_VEL
Я бы взял алгоритм для неуправляемой торпеды из Silent Hunter.
0) Известна скорость торпеды и пеленг цели
1) Вычисляется расстояние до цели
2) Вычисляется угол под которым мы видим цель
3) Вычисляется скорость цели (в игре это делается по секундомеру, у вас можно допустить игровую условность в виде радара доплера)
4) На основе полученных данных автоматически вычисляется точка рандеву и угол под которым должна быть запущена ракета/торпеда
5) Выполняется пуск и смотрим результат на сколько точно мы (или бортовой компьютер) выполнил расчеты.