Как я могу создать анимацию покачивания (затухающие колебания)? - PullRequest
1 голос
/ 13 сентября 2011

Я новичок в программировании и создании приложения для iPad с Corona SDK.

Я хочу сделать анимацию покачивания следующим образом: http://www.youtube.com/watch?v=kXxQU0T7I2A#t=0m40s (t = 40-44сек).

Как я могу это сделать?Какой способ проще: использовать физику с конкретными суставами или использовать переходы?Может быть, несколько примеров?

Ответы [ 2 ]

0 голосов
/ 04 октября 2012

Для имитации демпфированной пружины необходимо указать:

  • Демпфирующая сила (0 = нет демпфирования, 1 = полное демпфирование)
  • Константа пружины (0 = нет пружины, увеличение значений приводит к усилению пружины)

Каждый кадр, который вы хотите отслеживать скорость объекта, и:

  1. Влажная (медленная) скорость движения объекта
  2. Измените скорость, добавив силу, притягивающую ее к покою
  3. Отрегулируйте положение объекта в зависимости от его скорости

В псевдокоде это:

velocity = velocity * (1-dampingFactor) + deviationFromRest * springConstant
position = position + velocity

Вы можете в интерактивном режиме поиграть с этим на моем сайте:
http://phrogz.net/damped-spring-oscillations-in-javascript

enter image description here

0 голосов
/ 13 сентября 2011

Решение затухающего гармонического осциллятора довольно просто:

startAmplitude*sin(omega*t+startPhase)*exp(-t*dampningConstant)

Я бы использовал это для описания угла соединения.Из угла и длины руки вы можете рассчитать (x, y) пару.Если у вас есть несколько частей в серии, вы можете просто добавить значения x и y для различных шагов.

Это неправильно описывает физику связанной системы соединений, но может быть достаточно длятебе нужно.

...