Image Tikz 2 triangles

Sep 16 2020

Je travaille sur une illustration pour un article sur la théorie des groupes. Je veux dessiner un processus de réflexion d'un triangle à travers un rayon sortant de l'un de ses sommets.

Jusqu'à présent, j'ai ce qui suit:

\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. Comment puis-je obtenir les coordonnées des sommets du triangle? Maintenant, je les calcule manuellement, ce qui n'a pas l'air bien.

  2. Comment positionner les triangles gauche et droit, de sorte qu'ils soient équidistants de la flèche sans régler le remplissage manuel?

  3. Est-il possible de déplacer la flèche a vers le haut, pour qu'elle soit au centre vertical des triangles?

Réponses

2 ferahfeza Sep 16 2020 at 05:22

1-) Vous pouvez utiliser l' cornersoption et obtenir les coins comme nœud pour regular polygon.

2-) Dessinez le deuxième triangle à l'intérieur scopeavec xshift=Xcm. Utilisez ensuite la xcoordonnée de la flèche comme (X/2,0).

3-) Peut être ajusté manuellement en donnant la yvaleur appropriée .

\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}
1 Bernard Sep 16 2020 at 06:48

Pour le plaisir, un code simple avec pstricks, plus précisément avec pst-eucl. J'ai dessiné deux paires de points, symétriques par rapport à l'origine, et demandé de construire deux triangles équilatéraux à partir de ces segments, puis j'ai dessiné l'altitude du premier triangle passant par$A$ et finalement placé le symbole d'implication entre les triangles.

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