Маятник с подвижным шарниром - PullRequest
4 голосов
/ 23 августа 2010

Я делаю игру, которую вы можете увидеть здесь, если вы используете Windows или Linux: http://insertnamehere.org/birdsofprey/

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

Я нашел документ наэта тема, но уравнения основаны на знании ускорения оси (X '' и Y ''), чего я не знаю;Я только несколько раз перевожу изображение птицы в текущее положение мыши.

У меня есть угол птичьего полета (от -180 до 180 градусов), угловая скорость и ускорение.Мне нужно будет изменять эти три переменные при каждом перемещении мыши, поэтому у меня также будет последняя (x, y) и новая мышь (x, y).

Этого достаточно, чтобы сделать хорошийсимуляция маятника с подвижным шарниром?

1 Ответ

5 голосов
/ 23 августа 2010

Если вы можете сэмплировать положение мыши (x, y) с достаточно высоким временным разрешением, вы можете рассчитать ускорения X '' и Y '' численно. Предположим, вы измерили три положения X в известное время: (x0, t0), (x1, t1), (x2, t2).

Рассчитайте v = X '= dx / dt для интервалов (t0, t1) и (t1, t2):

v0 = (x1 - x0) / (t1 - t0) в момент времени tv0 = (t1 - t0) / 2

v1 = (x2 - x1) / (t2 - t1) в момент времени tv1 = (t2 - t1) / 2

Затем вычислите X '' = V '= dv / dt = (v1-v0) / (tv1 - tv0)

Y '' рассчитывается аналогично. Затем вы можете включить X '' и Y '' в уравнения Вы уже нашли, чтобы рассчитать положение маятника на следующем шаге по времени.

...