Imagem de triângulos Tikz 2

Imagem de triângulos Tikz 2

Estou trabalhando em uma ilustração para um artigo sobre teoria de grupos. Quero desenhar um processo de reflexão de um triângulo através de um raio que sai 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}
  1. Como posso obter as coordenadas dos vértices do triângulo? Agora estou calculando manualmente, o que não parece bom.

  2. Como posicionar os triângulos esquerdo e direito, para que fiquem equidistantes da seta sem definir o preenchimento manual?

  3. É possível mover a seta a para cima, de modo que fique no centro vertical dos triângulos?

insira a descrição da imagem aqui

Responder1

1-) Você pode usar a cornersopção e obter os cantos como nó para regular polygon.

2-) Desenhe o segundo triângulo dentro scopecom xshift=Xcm. Em seguida, use a xcoordenada da seta como (X/2,0).

3-) Pode ser ajustado manualmente dando yvalor adequado.

\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}

Responder2

Para se divertir, 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, depois desenhei a altitude do primeiro triângulo através de $A$ e finalmente coloquei 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} 

insira a descrição da imagem aqui

informação relacionada