【转】MC重力的未解之迷! 从零开始计算重力加速度

Description
https://www.youtube.com/watch?v=MHafcCg-Wiw
作者:NDX5
简介:参考资料:
https://zh.wikipedia.org/zh-tw/阻力
https://zh.wikipedia.org/wiki/雷诺数
https://wakame.tw/work/physicsteachin...
https://minecraft.fandom.com/zh/wiki/...
注意!!!!!在留言之前請先看這裡!!!!!!這是正解!!!!!!!!
剛剛@夏冰 透過跑酷社群破解的原始碼發現完全正確的自由落體公式了。它長這樣:

v(t)=78.35(1-0.98^t)

由於完整原始碼太長,我就只放y軸的。

Vy(t) = (Vy(t-1)-0.08)0.98
這是一個遞迴式,代表 "這一秒的速度 = 前一秒的速度 - 0.08 再乘 0.98"

現在我們討論自由落體,可以倒過來想,想像成 "從終端速度減速到0" 的運動。
於是我們得到:
Vy(t) = 40.98^(t+1) - 3.92

接下來做單位換算將整個式子乘以20(秒變tick),再乘一個負號(因為我們剛是倒過來的):
Vy(t) = 20(3.92-4*0.98^(t+1))

整理後最終結果就是:
v(t)=78.35(1-0.98^t)

因為這是遊戲,所以我們不該用現實世界中的物理去理解他,而是要直接看程式碼計算出的結果。
然後有蠻留言說遊戲中的加速是離散的,你們說對了

Comments

ulihang 2024-08-19

这是个需要灵感的微分方程[星星眼]

♥ 54 ↩ 18

变蓝的判定线 2024-08-19

如果Minecraft的代码能够拿到的话,就可以直接看公式了,但是我不知道jar能不能转换为源代码

♥ 54 ↩ 15

Contionability 2024-08-21

做mod的我直接省流计算公式: MotionY = (PrevMotionY - 0.08) * 0.98 PrevMotionY是上一个tick的Y轴速度,0.08为重力,0.98为空气阻力 (由于浮点精度问题实际上的数值是0.980...01,可忽略不计)

♥ 44 ↩ 2

利特尼什LTwex 2024-08-19

学过高中物理的可以直接跳到3:50[脱单doge]

♥ 31 ↩ 1

sh-yyyyy 2024-08-31

之前算过一个跟速度二次方成正比的[微笑]

♥ 13 ↩ 1

キィどQMT 2024-08-20

是浮点误差吗?wiki公式因该是扒的代码吧 运动每帧落点坐标误差累计?

♥ 13 ↩ 1

箱子考拉 2024-08-19

mc有个跑酷专区wiki 里面可以查到一些更完整的信息

♥ 13

昔米露大人_ 2024-08-19

赛博牛顿[doge]

♥ 7

前方没羊 2024-08-19

把物品从高处扔下来 然后建模s=gt²/2 然后多扔几组数据做梯度下降看看是否满足模型 若满足 可根据方程得到对应g(重力加速度[doge]

♥ 4 ↩ 1

提瓦特胡堂主1314 2024-08-19

那如果我的世界的人物来到现实一个身体要克服那种重力,在我们的世界岂不是相当于超人,而且我的世界玩家能跳跃起一米多一点的高度到我们的的世界岂不是一跳就有几十米高

♥ 4 ↩ 1

菜鸡的金金 2024-08-19

我超,原片昨天在Yt看过

♥ 3

路过的Max 2024-08-19

死去的高中物理突然攻击我[笑哭]

♥ 3

阳-占位符 2024-08-18

前排前排

♥ 3

_Flare_ 2024-08-23

做事之前选对方法很重要。源码谁都能看,直接就能得到完全准确的结果,视频里却为了这个做了一堆实验、提出了一堆假说。

♥ 2 ↩ 3

不想取网名6 2024-08-19

这么用心的视频,必须三连好吧[吃瓜]

♥ 2 ↩ 1

曰月烛龙 2024-08-19

[打call]

♥ 2

bili_51177565583 2025-08-21

最后相差的25gt是不是因为我的世界运动是每gt计算一次,是离散的,并不适用于积分,25gt就是积分和离散求和的误差?

♥ 1

tuffy111 2024-08-25

阻力和速度成正比的斜抛我算过[笑哭]竞赛一轮难题吧,还算了一下轨迹方程,但是现实里应该是和二次方成正比

♥ 1

10号hb 2024-08-20

可以对vt图像直接求导得到at图,然后两式子一代变成av图像,然后拟合出空气阻力公式。

♥ 1

MuyCX 2024-08-20

[脱单doge]

♥ 1