Недочет в формуле, используемой в коде. Затухающие колебания
Есть математическая модель затухающих колебаний. Всё работает как надо исключая изменение длины нити. Должна быть прямая зависимость, а получается бред. (до 1.99 всё идет правильно, но на 1.3 и 1.4 бывают неожиданные результаты). При 1м время до состояния покоя 22секунды, а 2м дают 9секунд, причем должно быть увеличение времени. А чаще всего получаются просто никак не связанные зависимости
Ответы (1 шт):
Вы на каждом шаге анимации находите текущий угол, и сравниваете его с пределом:
amp = abs(L_pixel * math.sin(self.theta))
....
elif not self.stopped and amp < amp_thresh
Если случайно на очередном шаге попали возле нуля, то считаете, что нужно остановиться.
А остановиться на самом деле нужно только тогда, когда в нижнем положении угловая скорость близка к нулю, или когда максимальная амплитуда ниже предела (смотрите в момент смены знака omega)