Если мои координаты X увеличиваются каждый раз при рисовании кадра, какую формулу я могу использовать из математической библиотеки, чтобы координата Y перемещалась по окружности круга по кадре, создавая иллюзию орбитальный объект вокруг непрерывно движущейся центральной точки?
Я видел, что это может включать sin или cos, но я не уверен, как настроить переменные соответственно на кадр.
Большое спасибо за вашу помощь
Вы не можете сделать полный круг, если ваша координата X увеличивается каждый раз, потому что половина времени вашей координаты X должна уменьшаться.
Для вас нужны полярные координаты: theta для угла и r для радиуса. Ваш r останется постоянным, и ваша тэта будет увеличиваться непрерывно. Затем ваши x и y:
x = r * cos(theta)
y = r * sin(theta)
let ox,oy
- начало вашего круга, а px,py
- точка на краю круга с радиусом r
: (px-ox)^2 + (py-oy)^2 = r^2
определение круга
решить для py:
(py-oy)^2 = r^2 - (px-ox)^2
(py-oy) = sqrt(r^2 - (px-ox)^2)
py = sqrt(r^2 - (px-ox)^2) + oy
< ---
Так как вы увеличиваете px
ваши фреймы, вы можете найти соответствующий py
путем пересчета указанной выше формулы.