Динамическое вычисление точек круга в игре для Android - PullRequest
1 голос
/ 05 августа 2010

Если мои координаты X увеличиваются при каждом рисовании кадра, какую формулу я могу использовать из математической библиотеки, чтобы координата Y перемещалась по окружности круга кадр за кадром, создавая иллюзиюорбитальный объект вокруг непрерывно движущейся центральной точки?

Я видел, что это может включать в себя sin или cos, но я не уверен, как настроить переменные соответственно для каждого кадра.1005 *

Ответы [ 2 ]

1 голос
/ 05 августа 2010

Вы не можете сделать полный круг, если ваша координата X увеличивается каждый раз, потому что половина времени вашей координаты X должна уменьшаться.

То, что вы хотите, это полярные координаты: тета для угла и r длярадиус.Ваш r будет оставаться постоянным, а ваша тета будет увеличиваться непрерывно.Тогда ваши x и y:

x = r * cos(theta)
y = r * sin(theta)
0 голосов
/ 05 августа 2010

пусть 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 <--- </p>

По мере увеличенияpx с вашими кадрами вы можете найти соответствующий py, пересчитав приведенную выше формулу.

...