非递归公式

From Minecraft Parkour Wiki
Revision as of 03:15, 29 January 2022 by Pjx1314 (talk | contribs) (Created page with "非递归公式")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:

由于算术几何序列有明确的公式,我们可以建立非递归函数来计算简单但有用的结果,例如在任一 tick 上玩家的高度,或者在初始速度与持续时间的基础上计算跳跃的距离。


定义:

  • is the player's initial speed (speed on , before jumping)
  • is the number of ticks considered (ex: t=12 on flat ground, see Jump Duration)
  • is the "jump bonus" (0.3274 for sprintjump, 0.291924 for strafed sprintjump, 0.1 for 45° no-sprint jump...)
  • is the movement multiplier after jumping (1.3 for 45° sprint, 1.274 for normal sprint, 1.0 for no-sprint 45°...)


Vertical Movement (jump) [1.8]

Vertical speed after jumping ()


Relative height after jumping ()


For , see below.


Vertical Movement (jump) [1.9+]

Vertical speed after jumping ()


Relative height after jumping ()



Horizontal Movement (instant jump)

Assuming the player was airborne before jumping.

Horizontal speed after sprintjumping ()


Sprintjump distance ()


Note: These formulas are accurate for most values of , but some negative values can wind up activating the speed threshold and reset the player's speed at some point, thus rendering these formulas inaccurate.


Horizontal Movement (delayed jump)

Assuming the player is on ground before jumping (at least 1 tick since landing).

Horizontal speed after sprintjumping ()


Sprintjump distance ()



Advanced Formulas

Horizontal speed after consecutive sprintjumps on a momentum of period (, ).

If the first sprintjump is delayed, multiply by 0.6