Dado el punto de inicio, los ángulos en cada eje de rotación y una dirección, calcular el punto final

Tengo un punto de inicio en coordenadas 3D, p. (0,0,0)

Tengo la dirección que estoy señalando, representada por tres ángulos: uno para cada ángulo de rotación (rotación en X, rotación en Y, rotación en Z) (por el bien del ejemplo, supongamos que soy una de esas tortugas con el logotipo anterior con un bolígrafo) y la distancia que viajaré en la dirección que estoy señalando.

¿Cómo haría para calcular las coordenadas del punto final?

Sé que para un sistema 2D sería simple:

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

pero no puedo entender cómo aplicar esto a 3 dimensiones

Supongo que otra forma de pensar sobre esto sería tratar de encontrar un punto en la superficie de una esfera, sabiendo la dirección que está apuntando y el radio de la esfera.

Respuestas a la pregunta(3)

Su respuesta a la pregunta