Tikz 2 треугольника картинка

Tikz 2 треугольника картинка

Я работаю над иллюстрацией к статье по теории групп. Хочу нарисовать процесс отражения треугольника относительно луча, выходящего из одной из его вершин.

На данный момент у меня есть следующее:

\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. Как мне получить координаты вершин треугольника? Сейчас я вычисляю их вручную, что выглядит не очень.

  2. Как расположить левый и правый треугольники так, чтобы они были на одинаковом расстоянии от стрелки, не задавая ручного отступа?

  3. Можно ли переместить стрелку a вверх так, чтобы она оказалась в вертикальном центре треугольников?

введите описание изображения здесь

решение1

1-) Вы можете использовать cornersопцию и получить углы как узел для regular polygon.

2-) Нарисуйте второй треугольник внутри scopeс xshift=Xcm. Затем используйте xкоординаты для стрелки как (X/2,0).

3-) Можно вручную настроить, задав соответствующее yзначение.

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

решение2

Ради интереса, простой код с pstricks, а точнее с pst-eucl. Я нарисовал две пары точек, симметричных относительно начала координат, и попросил построить два равносторонних треугольника из этих отрезков, затем провел высоту первого треугольника через $A$ и, наконец, поместил символ импликации между треугольниками.

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

введите описание изображения здесь

Связанный контент