Vector Z en TikZ

Vector Z en TikZ

Cuando se usan coordenadas 3D en TikZ, ¿hay alguna forma de cambiar la dirección del vector Z para que no apunte en un ángulo de 45 grados en el plano XY? Dado un dibujo de un cubo como el siguiente, me gustaría encontrar una buena manera de cambiar la cara de atrás sin tener que modificar las coordenadas.

\begin{tikzpicture}
\draw (0,0,0) -- (1,0,0) -- (1,1,0) -- (0,1,0) -- cycle;
\draw (0,0,1) -- (1,0,1) -- (1,1,1) -- (0,1,1) -- cycle;
\draw (0,0,0) -- (0,0,1); \draw (1,0,0) -- (1,0,1); \draw (0,1,0) -- (0,1,1); \draw (1,1,0) -- (1,1,1); 
\end{tikzpicture}

Al mirar el manual, solo pude encontrar la capacidad de cambiar la longitud del vector Z, no su dirección.

Respuesta1

Puede especificar el vector unitario para la dirección z con la ztecla, haciendo que el vector z aparezca en un ángulo determinado en el plano XY.

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[z={(60:0.5cm)}]
    \draw (0,0,0) -- (1,0,0) -- (1,1,0) -- (0,1,0) -- cycle;
    \draw (0,0,1) -- (1,0,1) -- (1,1,1) -- (0,1,1) -- cycle;
    \draw (0,0,0) -- (0,0,1); \draw (1,0,0) -- (1,0,1); \draw (0,1,0) -- (0,1,1); \draw (1,1,0) -- (1,1,1);
\end{tikzpicture}

\begin{tikzpicture}[z={(3cm,1.5cm)}]
    \draw (0,0,0) -- (1,0,0) -- (1,1,0) -- (0,1,0) -- cycle;
    \draw (0,0,1) -- (1,0,1) -- (1,1,1) -- (0,1,1) -- cycle;
    \draw (0,0,0) -- (0,0,1); \draw (1,0,0) -- (1,0,1); \draw (0,1,0) -- (0,1,1); \draw (1,1,0) -- (1,1,1);
\end{tikzpicture}
\end{document}

Producción

Respuesta2

Puedes usar rotate around y=<angle>. De manera similar existe rotate around x=<angle>y rotate around z=<angle>.

\documentclass{article}
\usepackage{tikz}
\begin{document}
  \begin{tikzpicture}
\draw (0,0,0) -- (1,0,0) -- (1,1,0) -- (0,1,0) -- cycle;
\draw (0,0,1) -- (1,0,1) -- (1,1,1) -- (0,1,1) -- cycle;
\draw (0,0,0) -- (0,0,1); \draw (1,0,0) -- (1,0,1);
\draw (0,1,0) -- (0,1,1); \draw (1,1,0) -- (1,1,1);
\draw[red] (0,0,0) -- (0,0,2)node {$z$};
\end{tikzpicture}
  \begin{tikzpicture}[rotate around y=45]
\draw (0,0,0) -- (1,0,0) -- (1,1,0) -- (0,1,0) -- cycle;
\draw (0,0,1) -- (1,0,1) -- (1,1,1) -- (0,1,1) -- cycle;
\draw (0,0,0) -- (0,0,1); \draw (1,0,0) -- (1,0,1); 
\draw (0,1,0) -- (0,1,1); \draw (1,1,0) -- (1,1,1);
\draw[red] (0,0,0) -- (0,0,2)node {$z$};
\end{tikzpicture}
  \begin{tikzpicture}[rotate around x=45]
\draw (0,0,0) -- (1,0,0) -- (1,1,0) -- (0,1,0) -- cycle;
\draw (0,0,1) -- (1,0,1) -- (1,1,1) -- (0,1,1) -- cycle;
\draw (0,0,0) -- (0,0,1); \draw (1,0,0) -- (1,0,1);
\draw (0,1,0) -- (0,1,1); \draw (1,1,0) -- (1,1,1);
\draw[red] (0,0,0) -- (0,0,2)node {$z$};
\end{tikzpicture}
  \begin{tikzpicture}[rotate around z=5]
\draw (0,0,0) -- (1,0,0) -- (1,1,0) -- (0,1,0) -- cycle;
\draw (0,0,1) -- (1,0,1) -- (1,1,1) -- (0,1,1) -- cycle;
\draw (0,0,0) -- (0,0,1); \draw (1,0,0) -- (1,0,1);
\draw (0,1,0) -- (0,1,1); \draw (1,1,0) -- (1,1,1);
\draw[red] (0,0,0) -- (0,0,2)node {$z$};
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada