Ich arbeite an einer Illustration für einen Artikel zur Gruppentheorie. Ich möchte den Vorgang der Spiegelung eines Dreiecks an einem Strahl zeichnen, der aus einem seiner Eckpunkte kommt.
Bisher habe ich folgendes:
\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}
Wie kann ich die Koordinaten der Eckpunkte des Dreiecks ermitteln? Jetzt berechne ich sie manuell, was nicht gut aussieht.
Wie positioniere ich das linke und das rechte Dreieck, sodass sie den gleichen Abstand zum Pfeil haben, ohne die Polsterung manuell einzustellen?
Ist es möglich, den Pfeil a nach oben zu verschieben, sodass er sich in der vertikalen Mitte der Dreiecke befindet?
Antwort1
1-) Sie können die corners
Option verwenden und die Ecken als Knoten für erhalten regular polygon
.
2-) Zeichnen Sie ein zweites Dreieck innerhalb scope
von xshift=Xcm
. Verwenden Sie dann die x
Koordinate für den Pfeil als (X/2,0)
.
3-) Kann manuell auf den entsprechenden y
Wert eingestellt werden.
\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}
Antwort2
Zum Spaß ein einfacher Code mit pstricks, genauer gesagt mit pst-eucl
. Ich habe zwei Paare von Punkten gezeichnet, die symmetrisch zum Ursprung sind, und gebeten, aus diesen Segmenten zwei gleichseitige Dreiecke zu bilden, dann habe ich die Höhe des ersten Dreiecks durch $A$ gezeichnet und schließlich das Implikationssymbol zwischen die Dreiecke gesetzt.
\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}