Nonrecursive Movement Formulas/zh: Difference between revisions
Content added Content deleted
(Created page with ":<math display="inline">\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 )</math>") |
(Created page with "假设玩家在跳跃前已经落地(至少在落地后的 1 tick 起跳)") |
||
Line 68: | Line 68: | ||
</div> |
</div> |
||
假设玩家在跳跃前已经落地(至少在落地后的 1 tick 起跳) |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
Assuming the player is on ground before jumping (at least 1 tick since landing). |
|||
</div> |
|||
疾跑跳跃的水平速度(<math>t \geq 2</math>) |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
Horizontal speed after sprintjumping (<math>t \geq 2</math>) |
|||
</div> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
:<math display="inline">\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 )</math> |
:<math display="inline">\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 )</math> |
||
</div> |
|||
Line 85: | Line 79: | ||
</div> |
</div> |
||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
:<math display="inline">\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 )</math> |
:<math display="inline">\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 )</math> |
||
</div> |
|||
Line 93: | Line 85: | ||
== 进阶公式 == |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
== Advanced Formulas == |
|||
</div> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
<div lang="en" dir="ltr" class="mw-content-ltr"> |
Revision as of 03:34, 29 January 2022
由于算术几何序列有明确的公式,我们可以建立非递归函数来计算简单但有用的结果,例如在任一 tick 上玩家的高度,或者在初始速度与持续时间的基础上计算跳跃的距离。
定义:
- 是玩家的初始速度(跳跃之前, 时的速度)
- 是计入的 ticks 数(例如:平地上 t=12,参见跳跃持续时间)
- 是“跳跃增益”(疾跑跳跃为 0.3274,斜疾跑跳跃为 0.291924,45°无疾跑跳跃为 1.0……)
- 是跳跃后的移动乘数(45°斜疾跑为 1.3,正常疾跑为 1.274,无疾跑45°为 1.0……)
垂直运动(跳跃)[1.8]
跳跃后的垂直速度()
跳跃后的相对高度()
- 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+]
跳跃后的垂直速度()
跳跃后的相对高度()
Horizontal Movement (instant jump)
假设玩家在跳跃前已经在空中。
疾跑跳跃后的水平速度()
疾跑跳跃距离()
注意:这些公式对于大多数 的值来说都是准确的,但是一些负值会在某个时间点触发速度阈值并重置玩家速度,从而使这些公式不准确。
Horizontal Movement (delayed jump)
假设玩家在跳跃前已经落地(至少在落地后的 1 tick 起跳)
疾跑跳跃的水平速度()
Sprintjump distance ()
进阶公式
Horizontal speed after consecutive sprintjumps on a momentum of period (, ).
If the first sprintjump is delayed, multiply by 0.6