Dado o ponto inicial, ângulos em cada eixo rotacional e uma direção, calcule o ponto final

Eu tenho um ponto de partida nas coordenadas 3D, por exemplo (0,0,0)

Eu tenho a direção que estou apontando, representada por três ângulos - um para cada ângulo de rotação (rotação em X, rotação em Y, rotação em Z) (pelo bem do exemplo, suponha que eu seja uma daquelas tartarugas antigas de logotipo) com uma caneta) e a distância que percorrerei na direção que estou apontando.

Como eu calcularia as coordenadas do ponto final?

Eu sei que para um sistema 2D seria simples:

new_x = old_x + cos(angle) * distance
new_y = old_y + sin(angle) * distance

mas não sei como aplicar isso a três dimensões

Suponho que outra maneira de pensar sobre isso seria tentar encontrar um ponto na superfície de uma esfera, sabendo a direção que você está apontando e o raio da esfera.

questionAnswers(3)

yourAnswerToTheQuestion