Nonrecursive Movement Formulas/zh: Difference between revisions
Content added Content deleted
(Created page with "* <math display="inline">v_0</math> 是玩家的初始速度(跳跃之前,<math>t_0</math> 时的速度) * <math display="inline">t</math> 是计入的 ticks 数(例如:平地上 t=12,参见'''跳跃持续时间''') * <math display="inline">J</math> 是“跳跃增益”(疾跑跳跃为 0.3274,斜疾跑跳跃为 0.291924,45°无疾跑跳跃为 1.0……) * <math display="inline">M</math> 是跳跃后的移动乘数(45°斜疾跑为 1.3,正常疾...") |
(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>") |
||
Line 57: | Line 57: | ||
疾跑跳跃距离(<math>t \geq 2</math>) |
疾跑跳跃距离(<math>t \geq 2</math>) |
||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
:<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> |
:<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> |
||
</div> |
|||
'''注意:'''这些公式对于大多数 <math>v_0</math> 的值来说都是准确的,但是一些负值会在某个时间点触发速度阈值并重置玩家速度,从而使这些公式不准确。 |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
'''Note:''' These formulas are accurate for most values of <math>v_0</math>, 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. |
|||
</div> |
|||
Revision as of 03:32, 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 (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+]
跳躍後的垂直速度()
跳躍後的相對高度()
Horizontal Movement (instant jump)
假設玩家在跳躍前已經在空中。
疾跑跳躍後的水平速度()
疾跑跳躍距離()
注意:這些公式對於大多數 的值來說都是準確的,但是一些負值會在某個時間點觸發速度閾值並重置玩家速度,從而使這些公式不準確。
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