Можно представить вектор АС, представляем точку начала (Ax,Ay), точку конца (Cx,Cy)

- угол между двумя точками

- радиус
координаты третьей точки (Bx,By), которая отклоняется на radius под углом 45



- логическая переменная, обозначает, что снаряд движется в одну сторону

изначально равна единице. сохраняем ее.
Короче а - пропорция, текущий процент длины %, b - пропорция, текущий процент высоты % (причем" b" зависима от "a")
запускаем периодический таймер, где происходит движение
Код:
if b then //если движется в одну сторону, то вычитаем
set a = a - 0.02 //каждым тиком таймера пересохраняем измененное значение "а"
set b = 1 - a
else //иначе, если движется в обратную сторону, то прибавляем
set a = a + 0.02 //каждым тиком таймера пересохраняем измененное значение "а"
set b = 1 - a
endif
if a<0 and b then //если значение в первый раз становится меньше 0, то ...
set b =false //сохраняем типа обозначаем, что снаряд теперь будет двигаться в другую сторону
set Bx = (Ax+radius*Cos(angle-45)) //теперь здесь изменяют угол под 45 градусов, 45 не складываем как ранее, а прибавляем
set By = (Ay+radius*Sin(angle-45))
endif
if a>1 and b == false then
//уничтожаем таймер и очищаем остальное
endif
//А вся суть сводится к смещению точки (x,y), ниже вычисления очень напоминают квадрат суммы. по этим координатам смещается снаряд. Это движение по дуге, сделано не мной. Казалось бы все логично, даже объяснился сам как смог, но мне не понятно, откуда она взялась. как это можно представить движение на рисунке? Как-то не очень понятна эта формула


например точки ABC - прямоугольный треугольник. АВ - гипотенуза. А сам снаряд от точки А до В до конца не достигает, а оборачивает по дуге к цели. А достигнув точки С, оборачивается и движется назад.