确定三角形的交点

确定三角形的交点

我发现绘制如下图所示的三角形很困难:

在此处输入图片描述

我无法确定“E 点”。

因此,“A 点”。

长度并不重要,重要的是角度。

DB段的长度与 相同DE

AD段的长度与 相同DC

\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
\usepackage{tkz-euclide}
\usetkzobj{all}


\begin{document}

\begin{tikzpicture}
\tkzDefPoint(0,0){D}
\tkzDefPoint(0,1){B}

\tkzLabelPoint[left](D){$D$}
\tkzLabelPoint[right](B){$B$}

\tkzDrawSegment[green!60!black](D,B)

\end{tikzpicture}

\end{document}

答案1

E是最容易找到的点,只需使用极坐标即可。如果D位于(0,0),且B位于(90:1)(极坐标,角度 90 半径 1),则E位于(140:1)

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections,calc,angles,quotes}

\begin{document}

\begin{tikzpicture}[scale=4]
\coordinate [label=below:$D$] (D) at (0,0);
\coordinate [label=above:$B$] (B) at (90:1);
\coordinate [label=above left:$E$] (E) at (140:1);

% draw invisible, horizontal path from D
\path [overlay,name path=A] (D) -- ++(-20,0);
% draw invisible path through B and E
\path [overlay,name path=B] (B) -- ($(E)!-20cm!(B)$);
% find intersection of above paths, name it A
\path [name intersections={of=A and B, by={A}}] node[left] at (A) {$A$};

% reflect A around D to get C
\coordinate [label=right:$C$] (C) at ($(D)!-1!(A)$);

\draw (A) -- (C) -- (B) -- cycle;
\draw [dashed] (E) -- (D) -- (B);

% draw angles
\pic [draw,angle radius=1cm,angle eccentricity=1.3, "$40^\circ$"] {angle=E--D--A};
\pic [draw,angle radius=1cm,angle eccentricity=1.3, "$x$"] {angle=B--C--D};

\end{tikzpicture}

\end{document}

答案2

这是一个没有intersections库的 TikZ 解决方案,使用 AD = tan(65°)BD。

\documentclass[tikz, border=7pt]{standalone}
\usetikzlibrary{calc,angles,quotes}

\begin{document}

  \begin{tikzpicture}[scale=2]
    \path
      (0,0) coordinate[label=below:$D$] (D)
      (90:1) coordinate [label=above:$B$] (B)
      (140:1) coordinate [label=above left:$E$] (E)
      (180:{tan(65)}) coordinate [label=below:$A$] (A)
      (0:{tan(65)}) coordinate [label=below:$C$] (C);

    \draw (A) -- (B) -- (C) -- cycle;
    \draw[dashed] (E) -- (D) -- (B);
    \path
      (D) pic[draw, angle eccentricity=1.5,"$40^{\circ}$"]{angle=E--D--A}
      (A) pic[draw, angle eccentricity=1.5,"$x$"]{angle=B--C--A};
  \end{tikzpicture}
\end{document}

在此处输入图片描述

答案3

有一种方法可以使用 MetaPost 来实现,对此人们可能会感兴趣,它可以利用 Metafun 格式来绘制角度和标签。

我尝试将问题参数化。点 B 和 D 的坐标以及所需角度的值可以随意更改。点 E 只需通过围绕点 D 旋转点 B 即可构建。点 A 的位置由 MetaPost 自身通过以下指令计算旋转 90° 角的直线 (DB) 与直线 (BE) 之间的交点来找到:

A = whatever[D, D + (B-D) rotated 90] = whatever[B, E];

我已将代码包含在 LuaLaTeX 程序中,以便可以更轻松地排版。

\RequirePackage{luatex85}
\documentclass[border=5mm]{standalone}
\usepackage{siunitx}
\usepackage{luamplib}
    \mplibsetformat{metafun}
    \mplibtextextlabel{enable}
\begin{document}
\begin{mplibcode}
u := 3cm;
alpha := 40;
pair A, B, C, D, E;
D = origin;
B = u*(0, 1);
E = B rotatedaround (D, 90-alpha);
A = whatever[D, D + (B-D) rotated 90] = whatever[B, E];
C = A rotatedaround (D, 180);
beginfig(1);
    draw A -- B -- C -- cycle;
    draw B -- D -- E dashed evenly;
    anglelength := cm;
    drawdblarrow anglebetween (D--A, D--E, "\SI{" & decimal alpha & "}{\degree}");
    anglelength := 1.25cm;
    drawdblarrow anglebetween (C--A, C--B, "$x$");
    anglemethod := 2; anglelength := .2cm;
    draw anglebetween (D--C, D--B, "");
    freelabel("$A$", A, D); freelabel("$B$", B, D); freelabel("$C$", C, D);
    freelabel("$D$", D, B); freelabel("$E$", E, D);
endfig;
\end{mplibcode}
\end{document}

在此处输入图片描述

答案4

这里有一个解决方案tkz-euclide

\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}

\begin{tikzpicture}[scale=1.5]
% definition
    \tkzDefPoint(0,0){D}
    \tkzDefPoint(90:2){B}
    \tkzDefPoint(140:2){E}
    \tkzDefPoint(2,0){I}
% calculation
    \tkzInterLL(B,E)(I,D) \tkzGetPoint{A}
    \tkzDefPointBy[symmetry=center D](A) \tkzGetPoint{C}
    \tkzDrawPolygon(A,B,C)
    \tkzDrawSegments[dashed](D,E D,B)
% labels and marks
    \tkzLabelPoint[left](A){$A$}
    \tkzLabelPoint[above](B){$B$}
    \tkzLabelPoint[right](C){$C$}
    \tkzLabelPoint[below](D){$D$}
    \tkzLabelPoint[above left](E){$E$}  
    \tkzMarkAngles[size=1](E,D,A B,C,A)
    \tkzLabelAngle[pos = 0.75](A,D,E){$40^{\circ}$} 
    \tkzLabelAngle[pos = 0.75](B,C,A){$x$}  
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容