Как правило, вам нужна начальная скорость (например, измеряется в точках в секунду) и скорость замедления (измеряется в точках / секунду ^ 2). Если вы используете распознаватель жестов для обнаружения удара, он даст вам скорость бесплатно. В противном случае вам придется рассчитывать его самостоятельно по позициям и временным меткам различных этапов прокрутки.
Теперь, в вашем методе обновления, продвигайте ваш взгляд в соответствии со скоростью:
distance travelled = velocity * time
И используйте скорость замедления, чтобы обновить скорость для следующего кадра:
delta_v = deceleration rate * time // should give a negative value
new velocity = velocity + delta_v
Как только скорость упадет до порога, близкого к 0, остановите движение.
Эти формулы предназначены для линейных движений, но даже если вы делаете круговые движения, я бы попробовал поэкспериментировать с ними. Или вы можете сделать те же вычисления с угловыми скоростями. В Википедии, вероятно, есть формулы, которые вам нужно знать.