我在尝试将质量纳入我的计划时遇到了困难(特别是篮球的质量)。在
首先用重力来确定球的速度。当我用重力运行我的程序时,它运行得很好,没有问题。在
然而,当我尝试合并球的质量时,它完全没有击中篮圈(当然,我想这是可以预料的)。我只是不确定我是怎么用我的方程式的。如果我走对了,这里有人能清理一下吗?在
rim = ring(pos= vector(-0.6,-0.7,0), radius = 0.46, axis= vector(0,1,0))
basketball = sphere(pos= vector(-4.9,-2,0), radius = 0.12, color = color.orange)
basketball.velocity = vector(4.53, 6.01, 0)
g = -9.8
timeStep = 0.005
basketball.mass = 0.623 #got this from the internet, in kg
for x in arange(0, 3, 0.005):
basketball.velocity.y = basketball.velocity.y + (g/basketball.mass)*timeStep
basketball.pos = basketball.pos+basketball.velocity*timeStep
rate(100)
不要在意边缘的位置,它的位置不是到处都是0的原因。我想我真正想问的是,如果球的速度是正确的,那么球的质量是否正确地包含在程序中。如果没有,我可以采取哪些措施让它正常工作?在
你的速度单位不一致
克:米/(秒2)
米:公斤
这将使单位:m/(kg.s)(不一致)
你可能需要研究运动方程
v=u+at
在哪里 v=最终速度
u=初始速度
a=加速度,在你的情况下,它是g
t=施加恒定力的时间,因此在这段时间内保持g
如果你在为你的程序建立物理模型,你需要更清楚地考虑你希望球的质量如何影响运动。简单地把质量作为运动的一个因子并不能准确地描述物理学,因为(正如DSM在你的问题下的评论中指出的那样)质量与运动无关。你可以考虑一些其他的东西,比如动量或者动能,但是我不确定这是否是你想要包含的那种复杂性。在
编辑:
一些建议-不要马上直接编写你的应用程序,先考虑你想如何建立物理模型。一旦你弄清楚了,你就可以开始编码了。在
编辑2(编辑3-更正最后一个公式):
如果你把初始速度指定为
vector(4.53, 6.01, 0)
,那么你可以通过计算动能来考虑质量变化对它的影响。假设你总是用固定能量发射球。因此:这意味着v与}成正比。因此,新质量的新发射速度
^{pr2}$1/m^0.5
或{V
将为:用一个例子来说明:将质量增加4倍于初始发射速度将导致初始发射速度是先前发射速度的一半。在
篮球的质量已经包含在常数9.8中。这是基础物理:
所以要解决
^{pr2}$引力由
F = G m1 * m2 / r**2
算出,其中G是引力常数。在如果m1是地球的质量,m2是篮球的质量,那么
a = G * m1 * m2 / r**2 / m2
-也就是说,m2抵消了,所以a = G * m1 * r**2
,这意味着对于m2的所有日常值,a是相同的!(地球向篮球方向的加速度也很小,但这个术语通常被忽略了。)代入
^{4}$G * m1 / r**2
得到:量化宽松
相关问题 更多 >
编程相关推荐