Está en la página 1de 2

o = {0, 0, 0};

ptx = {1, 0, 0};


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)*)

También podría gustarte