Tikz 2 üçgen resim

Sep 16 2020

Bir grup teorisi makalesi için bir örnek üzerinde çalışıyorum. Köşelerinden birinden çıkan bir ışın boyunca bir üçgenin yansıma sürecini çizmek istiyorum.

Şimdiye kadar aşağıdakilere sahibim:

\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. Üçgenin köşelerinin koordinatlarını nasıl alabilirim? Şimdi onları manuel olarak hesaplıyorum, bu hiç iyi görünmüyor.

  2. Sol ve sağ üçgenler, manuel dolguyu ayarlamadan oktan eşit uzaklıkta olacak şekilde nasıl konumlandırılır?

  3. Oku, üçgenlerin dikey merkezinde olacak şekilde yukarı doğru hareket ettirmek mümkün müdür?

Yanıtlar

2 ferahfeza Sep 16 2020 at 05:22

1-) cornersSeçeneğini kullanabilir ve köşeleri için düğüm olarak alabilirsiniz regular polygon.

2-) içindeki ikinci üçgen çizin scopeile xshift=Xcm. Ardından xok koordinatını olarak kullanın (X/2,0).

3-) Uygun ydeğer verilerek manuel olarak ayarlanabilir .

\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

Eğlence için, pstricks içeren basit bir kod, daha özel olarak pst-eucl. Kökene simetrik iki çift nokta çizdim ve bu segmentlerden iki eşkenar üçgen oluşturmamı istedim, sonra ilk üçgenin yüksekliğini çizdim$A$ ve sonunda ima sembolünü üçgenlerin arasına yerleştirdi.

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