Nonrecursive Movement Formulas/zh: Difference between revisions

From Minecraft Parkour Wiki
Content added Content deleted
(Created page with "== 水平运动(延后跳跃) ==")
(Created page with "== 水平运动(落地跳跃) ==")
Line 44: Line 44:




== 水平运动(落地跳跃) ==
<div lang="en" dir="ltr" class="mw-content-ltr">
== Horizontal Movement (instant jump) ==
</div>


假设玩家在跳跃前已经在空中。
假设玩家在跳跃前已经在空中。
Line 87: Line 85:
:<math display="inline">\textrm{V}^{\,n}_H(v_0,T,n) = \left ( 0.6 \times 0.91^T \right )^n v_0 + \left ( 0.6 \times 0.91^{T-1} J + 0.02M \frac{1 - 0.91^{T-1}}{0.09} \right ) \frac{1- (0.6 \times 0.91^T)^n}{1 - 0.6 \times 0.91^T} </math>
:<math display="inline">\textrm{V}^{\,n}_H(v_0,T,n) = \left ( 0.6 \times 0.91^T \right )^n v_0 + \left ( 0.6 \times 0.91^{T-1} J + 0.02M \frac{1 - 0.91^{T-1}}{0.09} \right ) \frac{1- (0.6 \times 0.91^T)^n}{1 - 0.6 \times 0.91^T} </math>


如果第一次疾跑跳跃延后,则 <math display="inline">v_0</math> 乘以 0.6
<div lang="en" dir="ltr" class="mw-content-ltr">
If the first sprintjump is delayed, multiply <math display="inline">v_0</math> by 0.6
</div>

Revision as of 06:48, 29 January 2022

Other languages:

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


定义:

  • 是玩家的初始速度(跳跃之前, 时的速度)
  • 是计入的 ticks 数(例如:平地上 t=12,参见跳跃持续时间
  • 是“跳跃增益”(疾跑跳跃为 0.3274,斜疾跑跳跃为 0.291924,45°无疾跑跳跃为 1.0……)
  • 是跳跃后的移动乘数(45°斜疾跑为 1.3,正常疾跑为 1.274,无疾跑45°为 1.0……)


垂直运动(跳跃)[1.8]

跳跃后的垂直速度(


跳跃后的相对高度(

Failed to parse (syntax error): {\textstyle \textrm{Y}_{rel}(t) = \underset{\textrm{跳跃最高点}}{\underbrace{197.4 - 217 \times 0.98^5}} + 200 (0.98-0.98^{t-4}) - 3.92 (t-5)}


对于 的情况,见下文。


垂直运动(跳跃)[1.9+]

跳跃后的垂直速度(


跳跃后的相对高度(



水平运动(落地跳跃)

假设玩家在跳跃前已经在空中。

疾跑跳跃后的水平速度(


疾跑跳跃距离(


注意:这些公式对于大多数 的值来说都是准确的,但是一些负值会在某个时间点触发速度阈值并重置玩家速度,从而使这些公式不准确。


水平运动(延后跳跃)

假设玩家在跳跃前已经落地(至少在落地后的 1 tick 起跳)

疾跑跳跃的水平速度(


疾跑跳跃距离(



进阶公式

在周期为 的助跑上连续疾跑跳跃 次后的水平速度()。

如果第一次疾跑跳跃延后,则 乘以 0.6。