Добавлен ScorpioT1000,
опубликован
Алгоритмы, Наработки и Способности
Способ реализации:
Jass
Тип:
Алгоритм
Вычисляет значение, обычно применяемое для задания высоты снаряда, который летит по параболической траектории.
function ParabolaZ takes real h, real d, real x returns real
return (4 * h / d) * (d - x) * (x / d)
endfunction
Формула параболы (учитывающая начальную и конечную высоту)
Автор оригинала - moyack
Автор оптимизированного варианта - Shadow Daemon
Автор оригинала - moyack
Автор оптимизированного варианта - Shadow Daemon
h - максимальная высота в прыжке на середине расстояния (x = d / 2),
d - общее расстояние до цели,
x - расстояние от исходной цели до точки, где следует взять высоту по параболе.
d - общее расстояние до цели,
x - расстояние от исходной цели до точки, где следует взять высоту по параболе.
function ParabolaZ2 takes real y0, real y1, real h, real d, real x returns real
return (2*(y0 + y1 - 2*h)*(x/d - 1) + (y1 - y0))*(x/d) + y0
endfunction
Вариант Shadow Daemon
h - максимальная высота в прыжке,
d - общее расстояние до цели,
x - расстояние от исходной цели до точки, где следует взять высоту по параболе.
d - общее расстояние до цели,
x - расстояние от исходной цели до точки, где следует взять высоту по параболе.
function ParabolaZ2 takes real y0, real y1, real h, real d, real x returns real
return ((4 * h / d) * (d - x) + y1 - y0) * (x / d) + y0
endfunction
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован MpW
d - общее расстояние до цели можно представить как длину дуги
h - максимальная высота в прыжке на середине расстояния (x = d / 2) представим как высота дуги
y0 - начальная высота высота одного края дуги
y1 - конечная высота высота другого края дуги
Отредактирован MpW
y0 - высота конечной точки, y1 - начальная высота, h - максимальная высота, d - полное расстояние, x - текущее расстояние до цели