Это действительно просто.
B = -1/2 * A
или B.x = -1/2 * A.x
, B.y = -1/2 * A.y
, B.z = -1/2 * A.z
. Это говорит о векторах, кстати. Вы хотели бы сдвинуть результат. Формула очень проста. Чего мне не хватает?
EDIT
Вашему приложению известно местоположение красной точки (давайте сократим его как вектор R). Ваше приложение также знает вектор А. Нужно найти вектор B, который находится на той же линии, что и AR, на другой стороне от R, как A, и такой, как A, вдвое дальше, чем B. Ну, в этом случае:
- Временно рассчитать вектор
V = (A - R)
- Сейчас (это просто :)):
B = R - 0.5 * V
.
Это так просто, я обещаю. Заглавные буквы обозначают векторы, которые обычно представляют собой 2 или 3 кортежа действительных чисел (в зависимости от того, работаете ли вы в 2D или 3D).
В этом нет ничего особенного. Есть вопросы?