Я думаю, что ваш подход неверен в установлении целевого числа оборотов.Хотя было бы возможно решить это, было бы легче начать с простой модели колеса.
Я не эксперт, но я считаю, что в трении будет два компонента, которыезамедление вращения колеса: постоянная величина статического трения, не зависящая от скорости вращения колеса, и переменная величина, зависящая от скорости вращения колеса.Обычно переменная величина будет пропорциональна квадрату скорости.
Таким образом, у вас будет формула:
friction = a + b*(v*v)
, где a и b - некоторые значения, которые вы можете настроить (вероятно, aдолжно быть намного больше, чем b), а v - это скорость вращения колеса в некоторых произвольных единицах.
Если ваша частота кадров достаточно высока, вы можете просто попытаться вычесть трение из скорости каждого кадра доскорость приближается к нулю, вы можете считать, что она остановлена.Поиграйте с a и b, пока он не будет хорошо выглядеть.
В противном случае вам придется выполнить интеграцию или интерполяцию, что не будет приятным, поэтому сначала попробуйте первый способ.
Если выдействительно заинтересованы в точной модели колеса рулетки (в абстрактных терминах, а не в виде кода), я предлагаю спросить об обмене стека физики.