Gravidade Relativa

Eu comecei a usar o engine jMonkey recentemente, o que é muito bom. Mas eu fiquei preso tentando implementar a gravidade relativa.

Eu quero fazer planetas orbitando ao redor um do outro (não necessariamente em órbita perfeitamente circular, depende da velocidade). Então, todo objeto deve afetar outros objetos.

O que eu tenho agora:

desligando a gravidade global

bulletAppState.getPhysicsSpace().setGravity(Vector3f.ZERO);

inicializando esferas e adicionando ao espaço físico

Sphere sphere = new Sphere(50, 50, 5);
Geometry sun = new Geometry("Sun", sphere);

sun.setMaterial(stone_mat);
rootNode.attachChild(sun);
sun.setLocalTranslation(0, 0, 0);

sunPhysics = new RigidBodyControl((float) (50*Math.pow(10, 5)));
sun.addControl(sunPhysics);
bulletAppState.getPhysicsSpace().add(sunPhysics);

Geometry mercury = new Geometry("Mercury", sphere);

mercury.setMaterial(stone_mat);
rootNode.attachChild(mercury);
mercury.setLocalTranslation(15f, 0, 0);

mercuryPhysics = new RigidBodyControl((float) (5));
mercury.addControl(mercuryPhysics);
bulletAppState.getPhysicsSpace().add(mercuryPhysics);

Percebi que existe o método setGravity na classe RigidBodyControl, mas apenas define a direção. Então, o objeto vai desse jeito até que ele desapareça.

Estou realmente ansioso por respostas.

questionAnswers(3)

yourAnswerToTheQuestion