Ну, дуга - это кусок круга. Общие формулы для окружности являются
x = r * cos(a) + cx
y = r * sin(a) + cy
Где r
это радиус окружности, a
угол по окружности (в радианах), а cx
и cy
являются координаты центра окружности.
Таким образом, каждый кадр должен увеличивать угол (a
) и пересчитывать позицию с помощью этих формул.
Трюк будет определять соответствующий радиус и центральные точки. Вероятно, вы могли бы найти алгоритм, который бы нашел центральную точку на основе фиксированного радиуса.
Редактировать: получить ту же скорость при разных радиусах.
Чтобы получить скорость (в пикселях/сек) от угловой скорости (рад/сек)
v = Δa * r
Так что, если мы выбираем некоторый v
, то Δa = v/r
, где V есть некоторая постоянная, а г есть радиус окружности.
Это не совсем ответ, но, возможно, посмотрите http://www.dl.ket.org/physicshon/chapters/03_1-3/. Если вы опускаетесь на дно, это упражнение со вспышкой, развивающее снаряд – Allan