Показать сообщение отдельно
  #1 (permalink)  
Старый 18.05.2012, 16:17
Новичок на форуме
Отправить личное сообщение для Deedle Посмотреть профиль Найти все сообщения от Deedle
 
Регистрация: 18.05.2012
Сообщений: 3

Ускоренное движение картинки
Привет, коллеги!

Встала непростая задачка. Имеются массивы приращений пути delta_s и времени delta_t.

delta_s = [0, 0.0926, 0.0987, 0.1046, 0.1104, 0.116, 0.1216, 0.127, 0.1324, 0.1377, 0.1429, 0.148, 0.153, 0.158, 0.1629, 0.1678, 0.1726, 0.1774 и т.д. и т.п... 150.4106] метры

delta_t = [0, 0.0707, 0.0698, 0.0688, 0.068, 0.0671, 0.0663, 0.0655, 0.0648, 0.0641, 0.0634, 0.0628, 0.0621, 0.0616, 0.061, 0.0604, 0.0599, 0.0594, и т.д. и т.п... 2.5743] секунды


Имеется картинка, которую нужно перемещать по прямой, наращивая её координаты от левого края к правому по данным из delta_s с учетом времени delta_t по следующему принципу:

В начальный момент времени delta_t[0] картинка в положении delta_s[0] (на месте). Спустя 0.0707 секунд (delta_t[1]) картинка должна быть в положении 0.0926 метра правее (delta_s[1]). Через еще 0.0698 секунды (delta_t[2]) картинка должна "пройти" еще 0.0987 метра (delta_s[2]) и т.д.

Скорость картинки со временем увеличивается (неравномерно, как вы могли заметить).

Проблема в том, что при движении картинки скорость визуально уменьшается за счет того, что интервалы времени и преодолеваемое расстояние УВЕЛИЧИВАЮТСЯ. Т.е. к концу пути картинка начинает двигаться "медленнее" и рывками.

Пожалуйста подскажите как добиться реалистичности и возможно ли это в рамках JS?

P.S. Для наглядности можно представить, что картинка это движущийся автомобиль, стартующий с места.
Ответить с цитированием