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
这是个需要灵感的微分方程[星星眼]
♥ 54 ↩ 18
如果Minecraft的代码能够拿到的话,就可以直接看公式了,但是我不知道jar能不能转换为源代码
♥ 54 ↩ 15
做mod的我直接省流计算公式: MotionY = (PrevMotionY - 0.08) * 0.98 PrevMotionY是上一个tick的Y轴速度,0.08为重力,0.98为空气阻力 (由于浮点精度问题实际上的数值是0.980...01,可忽略不计)
♥ 44 ↩ 2
学过高中物理的可以直接跳到3:50[脱单doge]
♥ 31 ↩ 1
之前算过一个跟速度二次方成正比的[微笑]
♥ 13 ↩ 1
是浮点误差吗?wiki公式因该是扒的代码吧 运动每帧落点坐标误差累计?
♥ 13 ↩ 1
mc有个跑酷专区wiki 里面可以查到一些更完整的信息
♥ 13
赛博牛顿[doge]
♥ 7
把物品从高处扔下来 然后建模s=gt²/2 然后多扔几组数据做梯度下降看看是否满足模型 若满足 可根据方程得到对应g(重力加速度[doge]
♥ 4 ↩ 1
那如果我的世界的人物来到现实一个身体要克服那种重力,在我们的世界岂不是相当于超人,而且我的世界玩家能跳跃起一米多一点的高度到我们的的世界岂不是一跳就有几十米高
♥ 4 ↩ 1
我超,原片昨天在Yt看过
♥ 3
死去的高中物理突然攻击我[笑哭]
♥ 3
前排前排
♥ 3
做事之前选对方法很重要。源码谁都能看,直接就能得到完全准确的结果,视频里却为了这个做了一堆实验、提出了一堆假说。
♥ 2 ↩ 3
这么用心的视频,必须三连好吧[吃瓜]
♥ 2 ↩ 1
[打call]
♥ 2
最后相差的25gt是不是因为我的世界运动是每gt计算一次,是离散的,并不适用于积分,25gt就是积分和离散求和的误差?
♥ 1
阻力和速度成正比的斜抛我算过[笑哭]竞赛一轮难题吧,还算了一下轨迹方程,但是现实里应该是和二次方成正比
♥ 1
可以对vt图像直接求导得到at图,然后两式子一代变成av图像,然后拟合出空气阻力公式。
♥ 1
[脱单doge]
♥ 1