对Three.js / Physijs中物体的吸引/排斥力

时间:2013-01-24 02:19:58

标签: javascript 3d three.js simulation physics

我正致力于化学的额外信贷项目,该项目涉及化合物的原子结构。我试图围绕中心原子进行元素的3D模拟。如NF3中的F围绕N.

我试图将力施加到周围的元素,以便他们可以将彼此推到3D空间中的正确位置。这将代表指定的compund的原子结构。目前我的模拟器构建了复合体,但只是周围的元素在空间中无所事事地摆动。如何对这些会影响其他元素的物体施加排斥力?我曾尝试使用.ApplyForce,.ApplyImpulse等,这些似乎是正确的方法,但它们不起作用。也许我需要将一个方法应用于其他对象以使它们受到这种力的影响?

任何帮助都会很棒。提前谢谢!

1 个答案:

答案 0 :(得分:0)

有两种选择:

如果您希望能够将旋转引入对象,则

applyImpulse()是正确的方法。它需要两个参数:一个表示您正在应用的力的向量,以及一个表示您正在应用它的对象上的位置的向量。

否则,您要使用applyCentralImpulse()。作为一个参数,它需要一个向量来表示你正在应用它的力量。

在所有情况下,向量是3值向量,THREE.Vector3的实例。您不需要对两个对象施加力。也就是说,除非你想模拟牛顿第三定律。换句话说,如果您想要推送一个对象,则不需要另一个对象进行推送。