2016-10-10 61 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); 
};