Вы пытаетесь найти горизонтальное и вертикальное отклонение между двумя объектами, находя расстояние между их центроидами.
Horizontal / x-direction:
d_x = |x_1 - x_2|
Vertical / y-direction:
d_y = |y_1 - y_2|
Вы используете эту формулу:
((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
Это, кстати, называется евклидовым расстоянием .
И для вариации движения вам, вероятно, потребуется сделать это для двух последовательных временных шагов, вычисляяразница расстояний:
v_x(t=1) = d_x(t=1) - d_x(t=0)