У меня есть движущийся график, скорость которого геометрически распадается на каждый кадр. Я хочу найти начальную скорость, которая заставит графику перемещаться на нужное расстояние в заданном числе кадров.Формула для расчета расстояния со скоростью затухания
Используя эти переменные:
- V начальная скорость
- г скорости
- д расстояние
Я могу придумать г = V * (r + г + г + ...)
Так что, если я хочу, чтобы найти v путешествовать 200 пикселей в 3-х кадров со скоростью распада 90%, я бы адаптироваться к :
д = 200
г = 0,9
v = d/(Г + R + R 2 )
Это не очень хорошо, чтобы перевести код, так как я должен изменить выражение, если число кадров изменений. Единственное решение, которое я могу думать, это (не в конкретном языке):
r = .9
numFrames = 3
d = 200
sum = 1
for (i = 1; i < numFrames; i++) {
sum = sum + power(r, i);
}
v = d/sum;
Есть ли лучший способ сделать это без использования цикла?
(я не удивлюсь, если есть ошибка где-то там ... сегодня только один из тех дней ..)
Я завершаю Calc, Calc II, Calc III, линейную алгебру и дифференциальные уравнения и статистику в университете, а затем забываю формулу для геометрической последовательности. Я стыжусь своей головой. Спасибо Арджуну! – user45623
@ user45623 Добро пожаловать, и все в порядке. Человеку естественно забывать о вещах, которые не имеют повседневной важности. Я на самом деле тринадцать, и я изучил формулу, готовящуюся к математическому соревнованию. :-) –
Если вы знаете Java в 13 лет, у вас впереди светлое будущее :) – user45623