2016-10-10 63 views
0

注意我使用ThreeJS库与可能使用吐温以及绕边缘,而不是中心

目前,我有一个极是绕着它的中心。我希望它围绕世界的中心旋转(在这种情况下,0,0,0),但我目前完全停留在如何正确地做到这一点。把它想象成一个绕着白球旋转的游泳池棒。如果有人可以帮助我,将不胜感激。

我想我必须根据当前所处的角度来改变它的位置,但不知道该如何完成。也许有一个简单的方法来获得相同的结果,但我找不到任何结果。

我我的动画旋转目前使用我的渲染循环如下:

//Animation 
pole.rotateOnAxis(getAxis(angle), -Math.PI/2 - 0.1); 
angle += 0.025; 
pole.rotateOnAxis(getAxis(angle), Math.PI/2 + 0.1); 

function getAxis(angle) { 
return new THREE. Vector3(-Math.sin(angle), 0, Math.cos(angle)); 
} 

,因为它是相当多的代码,我把它的jsfiddle https://jsfiddle.net/1swsh0v5/1/

回答

0
var render = function() { 
    requestAnimationFrame(render); 

    angle += 0.025; 
    pole.position.x = 4 * Math.sin(angle); 
    pole.position.z = 4 * Math.cos(angle); 
    pole.rotation.y = angle - Math.PI/2; 

    renderer.render(scene, camera); 
};