Я написал весеннюю симуляцию для пользовательского интерфейса на JavaScript, и все идет отлично, пользователи могут разбрасывать элементы пользовательского интерфейса повсюду и заставить их скользить туда, куда им нужно, с небольшим покачиванием.
Однако я пытаюсь связать симуляции пружины вместе, и я хотел бы знать, в какое время пружина пересечет точку равновесия, чтобы я мог подготовить следующую анимацию в цепочке для запуска в нужное время и скорость.
Как я могу решить эту формулу для так что я могу знать, когда весна пересечет определенную точку? Хотелось бы знать для всех типов пружин, но практически я работаю только со слегка задемпфированными. Моя текущая формула для нахождения смещения недодемпфированной пружины от ее равновесия:
: масса пружинящего объекта,
: жесткость пружины, постоянная пружины,
: демпфирующая сила,
: начальное расстояние пружинящего объекта от его равновесия в ,
: скорость пружинящего объекта после того, как пользователь отпустит его в ,
и На время.
Могу ли я решить этот беспорядок для скорее, чем ?
Существует аналитическое решение, если привести уравнение к виду
Решение для является
где . Время и угол связаны соотношением , с и коэффициент демпфирования .
Амплитуда и фаза где коэффициент и коэффициент .
пользователь65081
Джон Алексиу
Норрис Дункан