Imagem Tikz 2 triângulos
Estou trabalhando em uma ilustração para um artigo de teoria de grupos. Eu quero desenhar um processo de reflexão de um triângulo através de um raio saindo de um de seus vértices.
Até agora, tenho o seguinte:
\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}
Como posso obter as coordenadas dos vértices do triângulo? Agora estou calculando-os manualmente, o que não parece bom.
Como posicionar os triângulos esquerdo e direito, de forma que fiquem equidistantes da seta sem definir o preenchimento manual?
É possível mover a seta a para cima, de forma que fique no centro vertical dos triângulos?
Respostas
1-) Você pode usar a cornersopção e obter os cantos como um nó para regular polygon.
2-) Desenhar segundo triângulo dentro scopecom xshift=Xcm. Em seguida, use a xcoordenada para a seta como (X/2,0).
3-) Pode ser ajustado manualmente dando o yvalor apropriado .
\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}
Por diversão, um código simples com pstricks, mais especificamente com pst-eucl. Desenhei dois pares de pontos, simétricos em relação à origem, e pedi para construir dois triângulos equiláteros a partir desses segmentos, então desenhei a altitude do primeiro triângulo através$A$ e, finalmente, colocou o símbolo de implicação entre os 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}