@Dragokas, вектор направления является
относительной величиной. В нём недостаточно информации, чтобы можно было сказать о чём-то другом, кроме направления. Чтобы не рассказывать линейную алгебру, сразу перейду на игровую математику.
Допустим у нас есть два игрока. Координаты первого игрока (10, 10), координаты второго (20, 15). Тогда вектор направления от первого игрока ко второму будет равен (x2-x1, y2-y1), т.е. (10, 5). А теперь посмотрим на обратную задачу - мы знаем вектор направления между двумя игроками, который равен (10, 5). Очевидно, что по этой информации мы не сможем найти нужные координаты игроков, т.к. существует бесконечное количество комбинаций векторов, чья разность будет равна (10, 5).
Теперь рассмотрим ситуацию ТС. Оставим те же координаты игроков, а значит и направляющий вектор у нас (10, 5). А мы например хотим найти точку, которая расположена на 2 единицы от первого игрока. Если мы просто умножим направляющий вектор на два, то мы получим координату, на которой расстояние между первым игроком и вторым в два раза больше текущего. А всё потому что у нас вектор направления
относительная величина. Одно из полезных применений - можно легко найти точку, расположенную ровно по середине между игроками (умножаем на 0.5), точку на 10% от первого игрока (умножаем на 0.1) и т.д.
А как же тогда найти точку на две единицы от первого игрока? Вот тут приходит на помощь так называемая
нормализация вектора. Это операция, которая делает модуль (длину) вектора равной единице. Делается это просто - каждая из координат вектора делится на модуль вектора. Модуль (длину) вектора посчитать легко - это теорема Пифагора - у нас есть два катета, нам нужно найти гипотенузу, которая и будет длиной вектора. Для нашего случая нормированный вектор будет (2/√5, 1/√5) (лень подбирать числа, чтобы получился не иррациональные числа). Вот как раз умножая его на 2, мы получим расстояние в две единицы от первого игрока.
Примеры с математикой для двумерных векторов, у которых координата по y будет равна 0 (одномерный случай). Тут как раз будут красивые числа.
Пусть координаты первого игрока (50, 0), второго (100, 0), третьего (200, 0). Нужно найти точку, на 20 единиц удалённую от первого игрока как для второго, так и третьего игрока. Очевидно, что искомая точка имеет координаты (70, 0) (т.к. все три игрока стоят на одной прямой).
Вектор направления 1->2 = (50,0), 1->3 = (150, 0). Теперь если мы просто умножим оба вектора на 20, то получим (1000, 0) и (3000, 0). Ясно, что это далеко не те координаты, которые мы искали. А если мы отнормируем что первый вектор, что второй, то получим (1, 0), поскольку длина вектора (50, 0) есть 50, а для (150, 0) - 150. И теперь умножая нормированный вектор на 20, мы получим (20, 0). Прибавив к начальной точке (50, 0), мы получим искомую координату (70, 0).
Тут можно почитать больше (плюс картинки) -
Векторная алгебра — Документация Godot Engine latest.