Acabo de armar esto usando ejemplos de código de Internet, pero tengo un problema: quiero que las marcas al final de la barra 'a' estén paralelas al suelo, no en ángulo perpendicular a la línea. ¿Existe alguna posibilidad de lograrlo?
\begin{tikzpicture}[cm={-1,-1,1,0,(0,0)},x=3.85mm,z=-1cm, scale=0.5]
\draw (2,-3,-1) coordinate (x) |- (-2,3,-1) coordinate [midway] (h) coordinate (y) -- (-2,3,1) coordinate (a) -- (-2,-3,1) coordinate (z) -- (2,-3,1) edge (x) -- (2,3,1) coordinate (v) edge (h)
-- (a) ;
\draw [dashed] (-2,-3,-1) coordinate (o) edge (x) edge (y) -- (z);
\draw [->] (0,0,0) -- (2,0,0) node [midway,above] {$x$};
\draw [->] (0,0,0) -- (0,2,0) node [midway,right] {$y$};
\draw [->] (0,0,0) -- (0,0,2) node [midway,above] {$z$};
\draw [|-|] (2, 3.5, -1) -- (-2, 3.5, -1) node[midway, below right] {a};
\end{tikzpicture}
Respuesta1
Probablemente tengas que dibujar las líneas horizontales tú mismo, reemplazando
\draw [|-|] (2, 3.5, -1) -- (-2, 3.5, -1) node[midway, below right] {a};
por
\draw ( 2, 3.4,-1) -- ( 2, 3.6,-1);
\draw (-2, 3.4,-1) -- (-2, 3.6,-1);
\draw ( 2, 3.5,-1) -- node[right]{a} (-2, 3.5,-1) ;
Tenga en cuenta que puede evitar todas las midway
s colocando el node
operador después de la línea en lugar de después de la coordenada final.
Respuesta2
No sé cómo gestionarlo con un solo comando, pero puedes dibujar las marcas como líneas separadas:
\begin{tikzpicture}[cm={-1,-1,1,0,(0,0)},x=3.85mm,z=-1cm, scale=0.5]
\draw (2,-3,-1) coordinate (x) |- (-2,3,-1) coordinate [midway] (h) coordinate (y) -- (-2,3,1) coordinate (a) -- (-2,-3,1) coordinate (z) -- (2,-3,1) edge (x) -- (2,3,1) coordinate (v) edge (h)
-- (a) ;
\draw [dashed] (-2,-3,-1) coordinate (o) edge (x) edge (y) -- (z);
\draw [->] (0,0,0) -- (2,0,0) node [midway,above] {$x$};
\draw [->] (0,0,0) -- (0,2,0) node [midway,right] {$y$};
\draw [->] (0,0,0) -- (0,0,2) node [midway,above] {$z$};
\draw [-] (2, 3.5, -1) -- (-2, 3.5, -1) node[midway, below right] {a};
\draw [-] (2, 3.75, -1) -- (2, 3.3, -1);
\draw [-] (-2, 3.7, -1) -- (-2, 3.25, -1);
\end{tikzpicture}
De esta forma, no es realmente útil si quieres cambiar las coordenadas porque tienes que cambiarlas por tres en lugar de una línea. Si eso es un problema, puedes trabajar con dos nodos y coordenadas relativas, así que solo tendrás que cambiar las dos variables.
\begin{tikzpicture}[cm={-1,-1,1,0,(0,0)},x=3.85mm,z=-1cm, scale=0.5]
\draw (2,-3,-1) coordinate (x) |- (-2,3,-1) coordinate [midway] (h) coordinate (y) -- (-2,3,1) coordinate (a) -- (-2,-3,1) coordinate (z) -- (2,-3,1) edge (x) -- (2,3,1) coordinate (v) edge (h)
-- (a) ;
\draw [dashed] (-2,-3,-1) coordinate (o) edge (x) edge (y) -- (z);
\draw [->] (0,0,0) -- (2,0,0) node [midway,above] {$x$};
\draw [->] (0,0,0) -- (0,2,0) node [midway,right] {$y$};
\draw [->] (0,0,0) -- (0,0,2) node [midway,above] {$z$};
\node (a1) at (-2, 3.5, -1){};
\node (a2) at (2, 3.5, -1){};
\draw [-] (a1.center) -- (a2.center) node[midway, below right] {a};
\draw [-] (a1.center) -- +(0,-0.25,0) -- +(0,0.2,0);
\draw [-] (a2.center) -- +(0,-0.2,0) -- +(0,0.25,0);
\end{tikzpicture}
Estos dos ejemplos deberían verse así: