# Determining point of intersection in a triangle

I'm finding it difficult to draw the triangle as in the figure below:

I am not being able to determine the "E point".

Consequently, "A point".

The lengths do not matter, but the angles.

The DB segments have the same length as DE.

The AD segments have the same length as 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}

• Is possible, but the E point is complicated to determine – LCarvalho Mar 26 '18 at 13:59

E is the easiest point to find, that's just a matter of using polar coordinates. If D is at (0,0), and B is at (90:1) (polar coordinate, angle 90 radius 1), then E is at (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}

• I used TikZ because I don't remember the tkz-euclide syntax, and couldn't be bothered at the moment to look in the manual. – Torbjørn T. Mar 26 '18 at 14:44
• There is no need tkz-euclide. That's great. – LCarvalho Mar 26 '18 at 15:47
• @LCarvalho You didn't delete \end{tikzpicture}, you added the new \draw command after it. I'll fix. – Torbjørn T. Mar 26 '18 at 17:42

Here is a TikZ solution without intersections library that use that 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}


A way to do this with MetaPost, for whom it may interest, with the help of the Metafun format for drawing the angles and for labels.

I've tried to parameterize the problem. The coordinates of points B and D, and the value of the desired angle, can be changed at will. Point E is simply built by rotating the point B around point D. The location of point A is found by MetaPost itself by computing the intersection between the straight line (DB) rotated by an angle 90°, and the straight line (BE), through the following instruction:

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


I've included the code in a LuaLaTeX program, so that it can be typesetted more easily.

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


Here a solution with 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}