Реалистичная скорость переворачивания страницы - PullRequest
0 голосов
/ 29 июля 2010

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

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

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

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

Ответы в псевдо или javascript приветствуются:)

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

1 Ответ

1 голос
/ 29 июля 2010

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

[править]

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, пи].

...