Girando a câmera ao redor do eixo X (three.js)

Estou tentando girar a câmera para o eixo X da cena.
Neste ponto meu código é assim:

rotation += 0.05;
camera.position.y = Math.sin(rotation) * 500;
camera.position.z = Math.cos(rotation) * 500;

Isso faz com que a câmera se mova, mas durante a rotação, algo estranho acontece e a câmera vira ou pula alguma parte do círculo imaginário que está seguindo.

questionAnswers(3)

yourAnswerToTheQuestion