2010-07-29 5 views
0

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

В начале анимации он должен быть медленным, на полпути он должен был достичь максимальной скорости, а затем к концу анимации он возвращается на медленную скорость.

Кто-то, кого я знал, сказал мне, что это можно сделать, если вы знаете, какой процент анимации вы используете, используя синус или что-то подобное!

Так что, учитывая процент, представляющий, насколько далеко вы находитесь в анимации, как вы можете установить скорость?

Ответы в pseduo или Javascript Добро пожаловать :)

function speed(percentageThroughAnimation) 
{ 
    return ????? 
} 
+0

Эта формула работает? 'maxspeed * animPercent * sin (animPercent * pi/100)/100' –

+0

Это похоже на работу! –

+0

@Nick D: когда animpercent = 0, тогда скорость = 0 ... Это звучит как слишком медленное начало для меня ... На самом деле мне приходит в голову, что я предполагаю, что процентная доля равна Анимации с точки зрения позиции, но если ее время, то я думаю, что это работает. Сожалею. :) – Chris

ответ

1

Это скорость может быть представлена ​​в виде синусоиды функции, так как страницы поворота на дуге (более или менее) и край страницы можно увидеть идти на что скорость. Может использовать синус положения края страницы. Это может сработать.

[править]

Javascript на самом деле не моя сильная сторона, но что-то вроде этого, может быть?

function speed(percentageThroughAnimation) 
{ 
    //assuming percentage as indicator of page edge 
    var pos = percentageThroughAnimation; 

    //the (relative) speed is the sine of the position 
    return Math.sin(Math.PI * pos); 
} 

Упс исправлено. Двойной упс. Должно находиться в диапазоне [0, pi].

+0

Это то, что мне нужно, и в основном понимаю, как это работает, но есть ли у вас небольшая формула, как добиться этого в Javascript? –

+0

Спасибо за ответ, он почти там, но он выдает отрицательные значения и некоторые другие проблемы, но я +1 вы все равно :) –

Смежные вопросы