ball.vy - это скорость мячика по оси Y (т.е. вниз) world.gravity - это гравитация (в реальном мире сила притяжения Земли равна 9.8 метров в секунду в квадрате), для игры и вообще для анимаций это слишком быстро, т.к. там масштабы мира дургие. Поэтому везде (ну может не везде - я в книгах читал) ставят гравитацию от балды. Я поставил 0.9, т.к. это выглядит реалистично. Скорость - это вектор, ускорение - тоже вектор. Получается что скорость мяча в начале анимации это вектор (0, 0), а сила притяжения (ускорение) это вектор (0, 0.9). По правилам сложения векторов нужно сложить их соответствующие компоненты. Т.е. допустим у нас есть 2 вектора - вектор А(x, y) и вектор B(x, y), чтобы их сложить надо сделать так: A + B = (A.x + B.x, A.y + B.y) Нас интересует только движение вниз, поэтому мы на координату X можем забить. Вот и получается, что скорость равна: ball.vy = ball.vy + world.gravity; или короче ball.vy += world.gravity; Ну а world.friction это коэффициент трения. Вообще он рассчитывается по разным формулам в зависимости от того трение о воздух у нас или трение качения или, например, трение скольжения. В целом для игр его тоже можно взять от балды Что я и сделал. Точные формулы расчета трения можно нагуглить - «коэффициент трения» в Google.. На этот коэффициент надо умножить вектор скорости. Сам коэффициент - это не вектор, а скаляр, т.е. просто число. Чтобы умножить вектор на скаляр надо умножить все его компоненты на скаляр: A * number = (A.x * number, B.x * number) Мы помним, что нас интересует только A.y (т.е. ball.vy), т.к. шар по горизонтали у нас не движется. Значит надо вектор скорости умножить на коэффициент: ball.vy = ball.vy * world.friction; или короче ball.vy *= world.friction; Кстати, я напортачил с трением Вот правильные расчеты: http://jsfiddle.net/qgm2G/1/ (если world.friction = 1, то трения нет, чем ближе world.friction к нулю, тем больше трение). Как по мне наиболее реалистично смотрится коэффициент 0.98 UPD: Если дальше углубляться в физику, то можно ввести еще коэффициент упругости шарика. Сейчас я для простоты считаю что он равен 1, т.е. шарик у нас абсолютно упругий (считай резиновый), а не из пластелина. Поэтому упругость я не учитываю.