From Minecraft Parkour Wiki
由于算术几何序列有明确的公式,我们可以建立非递归函数来计算简单但有用的结果,例如在任一刻上玩家的高度,或者在初始速度与持续时间的基础上计算跳跃的距离。
定义:
是玩家的初始速度(跳跃之前,
时的速度)
是计入的刻数(例如:平地上 t=12,参见跳跃持续时间)
是“跳跃增益”(疾跑跳跃为 0.3274,斜疾跑跳跃为 0.291924,45°无疾跑跳跃为 1.0……)
是跳跃后的移动乘数(45°斜疾跑为 1.3,正常疾跑为 1.274,无疾跑45°为 1.0……)
垂直运动(跳跃)[1.8]
跳跃后的垂直速度(
)
![{\textstyle \textrm{V}_Y(t) = 4 \times 0.98^{t-5} - 3.92}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8df16b6de318cf28d085dae517c5309168581ed2)
跳跃后的相对高度(
)
- Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\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+]
跳跃后的垂直速度(
)
![{\textstyle \textrm{V}_Y(t) = 0.42 \times 0.98^{t-1} + 4 \times 0.98^t - 3.92}](https://wikimedia.org/api/rest_v1/media/math/render/svg/dbe45d3dfaa783225677ccd59649d714fd23b3b2)
跳跃后的相对高度(
)
![{\textstyle \textrm{Y}_{rel}(t) = 217 \times (1 - 0.98^t) - 3.92 t}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5c8d4eb667ca9778b63e5bcdf638f8e9220d0ea9)
水平运动(落地跳跃)
假设玩家在跳跃前已经在空中。
疾跑跳跃后的水平速度(
)
![{\textstyle \textrm{V}_H(v_0,t) = \frac{0.02 M}{0.09} + 0.6 \times 0.91^t \times \left ( v_0 + \frac{J}{0.91} - \frac{0.02 M}{0.6 \times 0.91 \times 0.09} \right )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c36258856632743d1ce71e3e9fe42c5ef454b84f)
疾跑跳跃距离(
)
![{\textstyle \textrm{Dist}(v_0,t) = 1.91 v_0 + J + \frac{0.02 M}{0.09} (t-2) + \frac{0.6 \times 0.91^2}{0.09} \times (1 - 0.91^{t-2}) \times \left ( v_0 + \frac{J}{0.91} - \frac{0.02 M}{0.6 \times 0.91 \times 0.09} \right )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3b45086e2ea701a76e30d0335959d33f28a6915d)
注意:这些公式对于大多数
的值来说都是准确的,但是一些负值会在某个时间点触发速度阈值并重置玩家速度,从而使这些公式不准确。
水平运动(延后跳跃)
假设玩家在跳跃前已经落地(至少在落地后的 1 刻起跳)
疾跑跳跃的水平速度(
)
![{\textstyle \textrm{V}^*_H(v_0,t) = \frac{0.02 M}{0.09} + 0.6 \times 0.91^t \times \left ( 0.6 v_0 + \frac{J}{0.91} - \frac{0.02 M}{0.6 \times 0.91 \times 0.09} \right )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/09fd1fe80a2174a50b2f7455d58fbc200bb3f772)
疾跑跳跃距离(
)
![{\textstyle \textrm{Dist}^*(v_0,t) = 1.546 v_0 + J + \frac{0.02 M}{0.09} (t-2) + \frac{0.6 \times 0.91^2}{0.09} \times (1 - 0.91^{t-2}) \times \left ( 0.6v_0 + \frac{J}{0.91} - \frac{0.02 M}{0.6 \times 0.91 \times 0.09} \right )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6357b53d35c9bdab425a1ed1cbb50ba90b1b1360)
进阶公式
在周期为
的助跑上连续疾跑跳跃
次后的水平速度(
,
)。
![{\textstyle \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} }](https://wikimedia.org/api/rest_v1/media/math/render/svg/9fb027afc7f46c8310456e3681ccf021a8ccfca4)
如果第一次疾跑跳跃延后,则
乘以 0.6。