通过将旋转部分与平移部分分离,这是最容易编码的。
You have a sum of forces applied to ball A - e.g. gravity force + thrust from engine + friction force. Let this be FA (a vector).
You have a sum of forces applied to ball B - e.g. gravity force + friction force. Let this be FB (a vector).
物体的质心位于杆上。它位于位置(maA+mbB)/(ma+mb)。它是与质量A的距离ca,其中ca=mb/(ma+mb)|AB|和与质量B的距离cb,其中cb=ma/(ma+mb)|AB|。设U是AB的归一化版本(即U具有单位长度)。
对系统进行建模,以便获得质心的位置=X和角度θ。您还存储了速度V和旋转速度w。我们希望找到线性加速度A以及旋转加速度w。
质心的运动由牛顿定律控制,使用系统上的总力和总质量,因此:
FA+FB=(ma+mb)A
旋转由所涉及的扭矩控制。(标量)扭矩=力x质心向量。因此,每个物体上的扭矩为:
TA=FAx ca-U
TB=FBx cbU
请注意,这是2D叉积,即TA=FA[x]*ca。-U/y]-FA[i]*ca,-U[x]
惯性矩定义为
I=ca*ca*ma+cb*cb*mb
然后
TA+TB=内径
给定X和θ的每个质量的位置的推导留给读者练习:)