例如,如果我想知道p中的合力,我不需要找到f1,f2和f3的大小和角度,也不需要使用任何sin()和cos(),我需要做的是分别在x和y维度上添加力,以便找到合力f:
f.x=f1.x+f2.x+f3.x
f.y=f1.y+f2.y+f3.y
但是现在,我想在点p中找到合成的重力加速度:
我知道每个球的质量和位置,是否有任何方法类似于上面找到合力,计算合成重力g在单独的维度gx和gy,只使用一些简单的操作m1,x1,x2,m2 .. ?
g.x=(some operations on m1,x1,y1,m2...)
g.y=(some operations on m1,x1,y1,m2...)
答案 0 :(得分:0)
总的力量就是力量的总和。您可以计算每个对象的重力,并将它们全部一起添加到以前。 其中一个的重力是:
F = (G * mass1 * mass2) / (distance * distance)
https://en.wikipedia.org/wiki/Newton%27s_law_of_universal_gravitation
编辑:它发生在我身上我错过了被问到的部分问题。一旦你获得了力,如上所述,你将它乘以朝向行星中心的方向向量。 Google规范化向量,但基本上是:
Direction.X = (Planet.X - SpaceShip.X) / distanceToPlanet
and Y and Z
Force = GMm/rr * Direction
答案 1 :(得分:0)
我知道你想要计算经典力学中的引力场。
这个article给出了通用公式,但是你必须做一些计算才能得到一个只基于笛卡尔坐标和质量的公式。
我们假设我们的模型是二维的。经过一些无聊的计算后,可以写出点P处的合成重力加速度:
与
这些公式使用简单的操作,可以用c ++,python或java等语言轻松实现。
注意:你必须尊重G单位,即米的坐标和千克的质量。