Nonrecursive Movement Formulas/zh: Difference between revisions

From Minecraft Parkour Wiki
Content added Content deleted
(Updating to match new version of source page)
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 6: Line 6:
'''定义:'''
'''定义:'''


<div class="mw-translate-fuzzy">
* <math display="inline">v_0</math> 是玩家的初始速度(跳跃之前,<math>t_0</math> 时的速度)
* <math display="inline">v_0</math> 是玩家的初始速度(跳跃之前,<math>t_0</math> 时的速度)
* <math display="inline">t</math> 是计入的刻数(例如:平地上 t=12,参见'''跳跃持续时间'''
* <math display="inline">t</math> 是计入的刻数(例如:平地跳跃持续时间是 t=12,参见[[Special:MyLanguage/Tiers| Tiers ]]
* <math display="inline">J</math> 是“跳跃增益”(疾跑跳跃为 0.3274,斜疾跑跳跃为 0.291924,45°无疾跑跳跃为 1.0……)
* <math display="inline">J</math> 是“跳跃增益”(疾跑跳跃为 0.3274,斜疾跑跳跃为 0.291924,45°无疾跑跳跃为 1.0……)
* <math display="inline">M</math> 是跳跃后的移动乘数(45°斜疾跑为 1.3,正常疾跑为 1.274,无疾跑45°为 1.0……)
* <math display="inline">M</math> 是跳跃后的移动乘数(45°斜疾跑为 1.3,正常疾跑为 1.274,无疾跑45°为 1.0……)
</div>






<span id="Vertical_Movement_(jump)_[1.8]"></span>
== 垂直运动(跳跃)[1.8] ==
== 垂直运动(跳跃)[1.8] ==


Line 24: Line 23:
跳跃后的相对高度(<math>t \geq 6</math>)
跳跃后的相对高度(<math>t \geq 6</math>)


:<math display="inline">\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)</math>
:<math display="inline">\text{Y}_{rel}(t) = \underset{\text{跳 跃 最 高 点}}{\underbrace{197.4 - 217 \times 0.98^5}} + 200 (0.98-0.98^{t-4}) - 3.92 (t-5)</math>




Line 31: Line 30:




<span id="Vertical_Movement_(jump)_[1.9+]"></span>
== 垂直运动(跳跃)[1.9+] ==
== 垂直运动(跳跃)[1.9+] ==


Line 46: Line 46:




<span id="Horizontal_Movement_(instant_jump)"></span>
== 水平运动(落地跳跃) ==
== 水平运动(落地跳跃) ==


Line 64: Line 65:




<span id="Horizontal_Movement_(delayed_jump)"></span>
== 水平运动(延后跳跃) ==
== 水平运动(延后跳跃) ==


Line 81: Line 83:




<span id="Advanced_Formulas"></span>
== 进阶公式 ==
== 进阶公式 ==


Line 87: Line 90:
:<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。
如果第一次疾跑跳跃为 delay,则 <math display="inline">v_0</math> 乘以 0.6。

Latest revision as of 12:35, 9 January 2024

Other languages:

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


定义:

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


垂直运动(跳跃)[1.8]

跳跃后的垂直速度(


跳跃后的相对高度(


对于 的情况,见下文。


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

跳跃后的垂直速度(


跳跃后的相对高度(



水平运动(落地跳跃)

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

疾跑跳跃后的水平速度(


疾跑跳跃距离(


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


水平运动(延后跳跃)

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

疾跑跳跃的水平速度(


疾跑跳跃距离(



进阶公式

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

如果第一次疾跑跳跃为 delay,则 乘以 0.6。