绕边缘,而不是中心
问题描述:
注意我使用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/
答
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);
};