Как осуществить движение точки по заданному вектору?

Пытаюсь реализовать функцию движения объекта в 2D пространстве. Есть вектор AB, точка B которого привязана к местоположению объекта. Мы знаем направление вектора и его координаты. Как переместить объект по направлению вектора?

Пример: Имея вектор (0, 0), (1, 0.5) нужно переместиться на 0.1 единицу вперед по направлению. Не помешала бы формула, по которой можно это вычислить.

Пример


Ответы (1 шт):

Автор решения: Zhihar

Пример: Имея вектор (0, 0), (1, 0.5) нужно переместиться на 0.1 единицу вперед по направлению. Не помешала бы формула, по которой можно это вычислить.

вообще-то: x = coord + vector

т.е.

x1 = x0 + vx
y1 = y0 + vy

У вас же совершенно непонятно как из вектора (1, 0.5) можно получить перемещение на 0.1 по оси x

Если же вы имели в виду, что из точки надо переместиться в сторону вектора на 0.1, то тогда формула

x1 = x0 + 0.1 * vx / size(vector)
y1 = y0 + 0.1 * vy / size(vector)

где

size(vector) = sqrt(vx*vx + vy*vy)
→ Ссылка