垂直圆周运动:时间(x / y)与速度方程

时间:2010-06-15 15:51:22

标签: physics game-physics

我想通过动画来模拟以下内容:
球在最底部的一点以一定的速度开始 一个垂直的圆形环,并在其中保持滚动直到其速度允许。

为此,我想找到速度/ x / y与时间的关系 对于例如如果球的质量:5Kg,圆环的半径= 10m,
球的初始速度为200米/秒,其速度和(x,y)位置为何 5秒后?

感谢。

6 个答案:

答案 0 :(得分:5)

使用点球粒球滑动,无摩擦的情况

在这种情况下,我们不担心旋转能量,并假设球实际上是一个点粒子。然后,为了使球保持在顶部,必须满足向心力条件:

m * v_top^2 / r = m * g

所以

v_top = sqrt(r * g)

所以最小初始速度由下式确定:

1 / 2 * m * v0^2 >= 1 / 2 * m * v_top^2 + m * g * 2 * r

v0 >= sqrt(5 * r * g)

这与皮特所说的类似,只是他忘记了向心力条件保持在最顶层。

接下来,与轨道相切的加速度由下式给出:

a = - g * sin(theta)

a = r * alpha = r * d^2(theta)/dt^2其中alpha是旋转加速度。因此,我们得到

r * d^2(theta)/dt^2 = g * sin(theta)

然而,我不知道这个微分方程的解析解,Mathematica也找到了一个绊脚石。你不能只将dt移到另一边并进行整合,因为theta是t的函数。我建议通过数值方法解决它,例如Runga-KutteVerlet method。我使用Mathematica为你给出的参数解决了这个问题,但是随着球的移动速度如此之快,它并没有真正减速。当我降低初始速度时,通过绘制theta作为时间的函数,我能够看到加速和减速。

添加其他东西,比如有限的球半径,旋转能量和摩擦力肯定是可行的,但我担心能够在继续前进之前解决这个问题,因为它从这里变得更加复杂。顺便说一句,在摩擦力的情况下,您必须为给定的材料选择一些动摩擦系数,这当然与轨道施加在球上的法向力成正比,这可以通过将力分量相加来解决。圆的半径,不要忘记包括向心力条件。

如果你以前没有做过这种物理,我绝对建议你获得一本关于物理学(有微积分)的入门好书并通过它来完成。您只需要打扰适用于力学的部分,尽管这可能是本书的一个非常大的部分。可能会有更好的路径,例如this question中的一些资源。

答案 1 :(得分:1)

如果没有加速度(x,y) =(xstart+ vx*time ,ystart + vy*time)且速度保持不变,且与半径无关

答案 2 :(得分:1)

由于速度恒定,因此角速度为omega = vel / radius。您将获得每秒球在其圆形路径上移动的弧度

要获得t时的位置,你只需要利用极坐标:

x = x_center + sin( 3/2*PI + omega*t)*radius
y = y_center + cos( 3/2*PI + omega*t)*radius

这是因为你从圆的底部开始(所以它的3/2*PI)加上你每秒移动多少个辐射(我们从切向速度获得它)。全部乘以半径,否则你会考虑一个统一圆。

编辑:既然你想知道如何找到受到许多不同力量影响的物体的位置,我可以告诉你,物理引擎通常不关心寻找移动物体的方程。它只是考虑到它们的预期运动(如圆形运动)或环境因素(如重力或摩擦力)对物体施加力,并通过施加力并使用积分器来查看结果来逐步计算坐标。

答案 3 :(得分:1)

忽略摩擦,球上的力是重力和轨道。

首先,有两种主要情况 - 足球的速度是否足以循环:

initial energy = 1/2 m v² = 0.5 * 5 * 200 * 200

potential energy = m g h = 5 * 9.8 * 20

所以它将围绕整个循环。

最初球位于循环的底部,theta = 0

球的加速度是沿着赛道的g的分量

a = g⋅sin theta

行进的距离是theta * radius。它也是加速度与时间的双重积分。

theta ⋅ radius = double integral of acceleration against time

积分加速度一次给出速度,积分速度给出距离。

为t解决这个问题:

theta ⋅ r = ∫(∫ g⋅sin theta.dt).dt

然后你的x和y是theta的简单函数。

无论是分析还是数字解决,都取决于你。

对于动摩擦,摩擦力通常与身体上的法向力成比例。所以这将等于向心力 - 与角速度的平方成正比,以及与轨道垂直的重力分量(g sin theta)

答案 4 :(得分:0)

你没有说出你希望如何改变你的速度。你有摩擦模型吗?如果没有摩擦,则公式很简单:

length = velocity*t
x = sin(length)*radius
y = -cos(length)*radius

如果速度发生变化,则必须将长度更改为

length = integral over dt[0..t] (velocity dt)

答案 5 :(得分:0)

我想要添加的唯一内容是,如果这是质量为5kg的真实球(球体),那么它必须具有直径dia=(6*m/(PI*rho))^(1/3),其中rho是材料的密度。对于钢(rho = 7680),直径为dia = 0.1075米。因此,球场半径(球的重心所在的半径)等于R=10-(dia/2)R = 9.9466米。

当包含摩擦时,问题会变得复杂一些。首先,你必须考虑摩擦方向(假设干摩擦理论)。这取决于球在其轴上旋转的量,这取决于球的惯性矩。

当你进行模拟时,你可能想要监测总动能+,并确保你没有为系统增加能量(或带走)。 [不要忘记包括动能的旋转分量]

获得一本关于动力学的标准书,我相信书中已经描述了类似的问题。我会推荐“工程师的矢量机制 - 动力学”。