Прошу прощения за долгое молчание. Разбирался с алгоритмом движения кораблей. Все оказалось очень непросто. Сменить курс кораблю, оборвав текущий сегмент и подставив новый, нельзя. Дело в следующем: чтоб корабли не меняли резко курс под 90° и больше, при расчете движения используются две точки движущиеся по маршруту, одна впереди корабля на условном расстоянии (задается в свойствах корабля), вторая позади корабля на таком же расстоянии. Координаты корабля рассчитываются по положению середины отрезка между ними, так как передняя точка может идти уже по следующему сегменту или задняя быть еще на предыдущем, ну, а корабль в итоге плавно поворачивает.
(В первом примере ошибка была не в расчете начальной скорости, а именно в игнорировании этих точек - откуда и шла дальнейшая свистопляска

)
В итоге вынужден был переработать алгоритм добавления следующего сегмента с выносом его несколько вперед по курсу. Но все равно эволюции при больших углах поворота выглядят несколько искаженно, корабли плывут как бы боком

(как тормозящие лыжники).

в общем счас экспериментирую с коэффициентами.
Видео слишком большое получилось, пока не стану выкладывать, к вечеру разберусь и выложу новое.