Tikz 2 hình tam giác

Sep 16 2020

Tôi đang làm một minh họa cho một bài báo lý thuyết nhóm. Tôi muốn vẽ một quá trình phản xạ của một tam giác qua một tia đi ra từ một trong các đỉnh của nó.

Cho đến nay tôi có những thứ sau:

\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. Làm thế nào tôi có thể nhận được tọa độ của các đỉnh của tam giác? Bây giờ tôi đang tính toán chúng theo cách thủ công, trông không đẹp.

  2. Làm cách nào để định vị các tam giác trái và phải để chúng cách đều với mũi tên mà không cần đặt phần đệm thủ công?

  3. Có thể di chuyển mũi tên lên trên, vì vậy nó sẽ ở tâm thẳng đứng của hình tam giác?

Trả lời

2 ferahfeza Sep 16 2020 at 05:22

1-) Bạn có thể sử dụng cornerstùy chọn và lấy các góc làm nút regular polygon.

2-) Vẽ tam giác thứ hai trong scopevới xshift=Xcm. Sau đó, sử dụng xtọa độ cho mũi tên là (X/2,0).

3-) Có thể được điều chỉnh bằng tay cho ygiá trị thích hợp .

\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

Để giải trí, một mã đơn giản với pstricks, cụ thể hơn là với pst-eucl. Tôi vẽ hai cặp điểm, đối xứng với gốc tọa độ và yêu cầu dựng hai tam giác đều từ các đoạn này, sau đó vẽ đường cao của tam giác đầu tiên qua$A$ và cuối cùng đặt biểu tượng ngụ ý giữa các hình tam giác.

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