Войти
ПрограммированиеФорумФизика

Плавная остановка колеса (2 стр)

Страницы: 1 2
#15
7:59, 14 июля 2017

Adult_Master
> А что за функция clamp ?
clamp(x, low, high) = max(min(x, high), low)

> функции синуса и косинуса приходится руками писать
easeOut — любая функция т.ч.

d easeOut / dx (0) > 0,
d easeOut / dx (1) = 1,
easeOut(0) = 0,
easeOut(1) = 1.


#16
8:18, 14 июля 2017

Можно вывести аналитические формулы в зависимости от того, есть ли вязкое трение (зависящее от скорости) или нет.
Если нет:
m * a'' = -M, где m - момент инерции колёса, a - угловой путь колеса, a'' - угловое ускорение, M - момент трения (константа).
Интегрируем:
m * a' = -M * t + C1
m * a = -M * t^2 / 2 + C1 * t + C2
Находим значения C1 и C2 по граничным условиям:
В начальный момент времени a' = v0 (угловая скорость перед началом торможения), a = 0 (будем отсчитывать путь начиная от момента торможения). Тогда C1 = m * v0, а C2 = 0.
Получаем уравнение пути торможения:
m * a = m * v0 * t - M * t^2 / 2
a = v0 * t - M * t^2 / (2  * m)
И уравнение угловой скорости:
m * a' = m * v0 - M * t
Из последнего находим время, за которое колесо останавливается:
t1 = m * v0 / M
Подставляя в первое уравнение, находим путь до остановки:
a1 = m * v0^2 / (2 * M)

Этого достаточно для решения. Отслеживаем момент, когда угол колёса будет на  a1 меньше конечного, и начиная с этого момента крутим колесо по уравнению пути торможения. Только важно помнить, что в этом уравнении a - относительный угол, отсчитывая с начала торможения, а не абсолютный. Момент инерции колёса можно найти по формуле для цилиндра, например.

#17
10:30, 14 июля 2017

Deirel дал правильный ответ. по сути для реализации здесь важны два равенства. первое — закон движения колеса:
[cht]\alpha(t) = \alpha(0) + \omega(0) t - \beta t^2[/cht]
и второе — время до остановки [cht]T = \omega(0) / \beta[/cht]. подставив второе уравнение в первое и произвольно выбрав  [cht]\omega(0)[/cht] и [cht]\beta[/cht], можно найти угол, от которого надо начинать движение [cht]\alpha(0)[/cht], чтобы [cht]\alpha(T)[/cht] равнялось требуемому углу.
закон трения можно выбрать и любой другой, но любой фейк вроде как попало выбранной сглаженной функции в законе движения будет выглядеть неестественно в сравнении с нормальным решением.

#18
11:23, 14 июля 2017

Adult_Master
> может есть какой то более универсальный и математически верный вариант ?
  Естественно есть. Распиши уравнения движения окружности и решай их исходя из известных данных (а это расстояние и время). Надеюсь квадратные уравнения и физику равнозамедленного движения в школе уже изучали.

#19
13:57, 14 июля 2017

Здесь наверное вся идея в том чтобы расчитатъ количество оборотов и затухание, из начальных условий (положения круга, скорости вращения) так, чтобы отклонение замедления не бросалось в глаза. Т.е. нужно просто взять затухание равным некоторому значению, но при этом рассматриватъ возможность его небольшого отклонения в большую или меньшую сторону. Возможно, что получится неоднозначное решение, если количество оборотов между затуханием с максимумом и затуханием с минимумом отклонения дампинга будет больше одного.

#20
15:54, 14 июля 2017

Да однозначно все решается для экспоненциального затухания скорости (в данном случае угловой скорости). При начальной скорости 1рад/с и экспоненциальном затухании в e раз в секунду полный поворот составит 1 радиан. Для другой начальной скорости - полный поворот изменится пропорционально. При другом затухании - обратно пропорционально.

#21
16:01, 14 июля 2017

Dmitry_Milk
> При другом затухании - обратно пропорционально.

Обратно пропорционально по времени. По величине за ту же единицу - обратно экспоненциально.

#22
20:30, 14 июля 2017

Dmitry_Milk
> Да однозначно все решается для экспоненциального затухания скорости
экспоненциальное затухание будет выглядеть как диск, вращающийся в воде. он никогда не остановится, будет бесконечно замедляться.

#23
20:43, 14 июля 2017

dave
> отклонение замедления
  Можно узнать где вы берёте такую траву?

#24
21:14, 14 июля 2017

Zefick

От среднего значения имелось в виду...
Трава нормальная, натурпродукт.

#25
21:18, 14 июля 2017

Suslik
> экспоненциальное затухание будет выглядеть как диск, вращающийся в воде. он
> никогда не остановится, будет бесконечно замедляться.

Но тем не менее пройдет конечный путь. Даже за бесконечное время.  )

#26
22:20, 14 июля 2017

dave
> От среднего значения имелось в виду...
  Да от чего бы там оно в виду не имелось, более грамотным данную фразу это никак не делает.

#27
23:13, 14 июля 2017

Zefick

Отклонение амплитуды замедления. Так фраза грамотнее?

#28
10:41, 15 июля 2017

dave
> Отклонение амплитуды замедления.
Изображение
  Давай ещё что-нибудь в таком же духе.

#29
13:19, 15 июля 2017

Угу, руки только мой перед фейспалмами. А то прыщей добавится.

Страницы: 1 2
ПрограммированиеФорумФизика

Тема в архиве.