Делаю колесо фортуны, вращение примитивно:
angle += 10 * speed;
Замедление или ускорение тоже обычное:
if(play){
speed += 0.1;
}
if(stop) speed -= 0.1;
speed = Math.min(1,Math.max(0, speed));
Но появилась дилемма, нужно либо плавно остановить в нужном сегменте, либо наоборот, не останавливать на нежелательных сегментах. Уже весь рунет обшарил, пытался сам чет нахимичить, но не чего не выходит.
Нашел типа такого примера:
var speed= 1 - ( (angle-EndAngle) % 6.28318531 ) / 6.28318531 ;
Вроде как останавливает на нужной секции, но делает это быстро и с рывком.