pty = {0, 1, 0}; ptz = {0, 0, 1}; Manipulate[ Which[primero == 1, x = xa; y = Cos[\[Alpha]] ya + Sin[\[Alpha]] za; z = -Sin[\[Alpha]] ya + Cos[\[Alpha]] za;, primero == 2, x = Cos[\[Beta]] xa + Sin[\[Beta]] za; y = ya; z = -Sin[\[Beta]] xa + Cos[\[Beta]] za;, primero == 3, x = Cos[\[Gamma]] xa + Sin[\[Gamma]] ya; y = -Sin[\[Gamma]] xa + Cos[\[Gamma]] ya; z = za; ]; Which[segundo == 1, xa = xb; ya = Cos[\[Alpha]] yb + Sin[\[Alpha]] zb; za = -Sin[\[Alpha]] yb + Cos[\[Alpha]] zb;, segundo == 2, xa = Cos[\[Beta]] xb + Sin[\[Beta]] zb; ya = yb; za = -Sin[\[Beta]] xb + Cos[\[Beta]] zb;, segundo == 3, xa = Cos[\[Gamma]] xb + Sin[\[Gamma]] yb; ya = -Sin[\[Gamma]] xb + Cos[\[Gamma]] yb; za = zb; ]; Show[ ContourPlot3D[{y - 3 == 0, y^2 + z^2 == 3^2}, {xb, -5, 5}, {yb, -5, 5}, {zb, -5, 5}, ViewPoint -> {10, 9, 8}], Graphics3D[{Line[{o, ptx}], Line[{o, pty}], Line[{o, ptz}]}] ] , {{\[Alpha], 0, "Ángulo giro eje X"}, 0, 2 Pi}, {{\[Beta], 0, "Ángulo giro eje Y"}, 0, 2 Pi}, {{\[Gamma], 0, "Ángulo giro eje Z"}, 0, 2 Pi}, {{primero, 1, "Primer Mov."}, {1 -> "Giro Eje X", 2 -> "Giro Eje Y" , 3 -> "Giro Eje Z", 4 -> "Traslación"}, PopupMenu}, {{segundo, 1, "Primer Mov."}, {1 -> "Giro Eje X", 2 -> "Giro Eje Y" , 3 -> "Giro Eje Z", 4 -> "Traslación"}, PopupMenu} ] (* !Leer lo siguiente, importante¡ Nota: cuando se inicializa se \ mueve el ángulo del giro del eje Z, para que no se mueva dar un click \ en cualquier parte de la pantalla, el movimiento ese automático de \ ese ángulo no sé a que se deberá pero ocurre cuando se tiene \ seleccionado la salida de esto (no sé expresarme mejor, pero la \ solución está :D)*)