Estoy trabajando en una ilustración para un artículo de teoría de grupos. Quiero dibujar un proceso de reflexión de un triángulo a través de un rayo que sale de uno de sus vértices.
Hasta ahora tengo lo siguiente:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric,decorations.markings,arrows,positioning}
\tikzset{
buffer/.style={
draw,
regular polygon,
regular polygon sides=3,
node distance=3cm,
minimum height=6em
}
}
\begin{document}
\begin{tikzpicture}
\node[buffer] (T) {};
\coordinate [label=left:B] (B) at (-0.9cm, -0.6);
\coordinate [label=above:A] (A) at (0,1.04cm);
\node at (3.3em, -0.5) {C};
\draw (A) -- (B-|A) -- (-90:1.5cm) node[above right]{$l_1$};
\node[right = 1cm of T] (Arr) {$\Longrightarrow$};
\node[buffer, right = 0.5cm of Arr] (T1) {};
\end{tikzpicture}
\end{document}
¿Cómo puedo obtener las coordenadas de los vértices del triángulo? Ahora los estoy calculando manualmente, lo cual no tiene buena pinta.
¿Cómo colocar los triángulos izquierdo y derecho para que estén equidistantes de la flecha sin configurar el relleno manual?
¿Es posible mover la flecha a hacia arriba, de modo que esté en el centro vertical de los triángulos?
Respuesta1
1-) Puedes usar la corners
opción y obtener las esquinas como nodo para regular polygon
.
2-) Dibuja el segundo triángulo dentro scope
con xshift=Xcm
. Luego use la x
coordenada para la flecha como (X/2,0)
.
3-) Se puede ajustar manualmente dando y
el valor apropiado.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric,decorations.markings,arrows,positioning}
\tikzset{
buffer/.style={
draw,
regular polygon,
regular polygon sides=3,
node distance=3cm,
minimum height=6em
}
}
\begin{document}
\begin{tikzpicture}
\node[buffer] (T) {};
\begin{scope}[xshift=4cm];
\node[buffer] (T1) {};
\end{scope}
\node at (2,0.25) (Arr) {$\Longrightarrow$};
\node at (T.corner 1)(A)[above]{A};
\node at (T.corner 2)(B)[left]{B};
\node at (T.corner 3)(C)[right]{C};
\draw (A) -- (B-|A) -- (-90:1.5cm) node[above right]{$l_1$};
\end{tikzpicture}
\end{document}
Respuesta2
Para divertirte, un código simple con pstricks, más específicamente con pst-eucl
. Dibujé dos pares de puntos, simétricos con respecto al origen, y pedí construir dos triángulos equiláteros a partir de estos segmentos, luego dibujé la altitud del primer triángulo a través de $A$ y finalmente coloqué el símbolo de implicación entre los triángulos.
\documentclass[border=6pt]{standalone}
\usepackage{pst-eucl}%
\begin{document}
\begin{pspicture}(-4.5,-1)(4,3)%
\psset{PointSymbol=none, PtNameMath=false, linejoin=1}
\pstGeonode[PosAngle={180,0}](-4,0){B}(-1,0){C} \pstETriangleAB[PosAngle=90]{B}{C}{A}
\rput(0.1,1.3 ){$\Longrightarrow$}
\psset{PointName=none}
\pstGeonode[PointName=none](1,0){E}(4,0){F}\pstETriangleAB[PointName=none] {E}{F}{D}
\pstProjection{B}{C}{A}[H]
\pstLineAB[nodesepB=-1, linewidth=0.6pt]{A}{H}\naput[npos=0.9, labelsep=2pt]{$l_1 $}
\end{pspicture}
\end{document}