2

Using the \tkzDefLine[bisector](A,B,C) command in tkz-euclide, you can bisect an angle. How can I cut an angle in three or more equal parts?

1
  • 4
    Off-topic: just to inform (for those who don't know): this is one of those 3 classical problems. The construction with compass and ruler (without measures) is not possible. en.wikipedia.org/wiki/Angle_trisection
    – Sigur
    Aug 26, 2015 at 6:34

3 Answers 3

5

To trisect an angle, try something like this:

\begin{tikzpicture}[scale=1]
\tkzDefPoint(6,0){A}
\tkzDefPoint(0,1){B}
\tkzDefPoint(1,4){C}
\tkzDrawSegments(A,B B,C)

% Get the angle and define two new points that lie on the trisectors.
\tkzFindAngle(A,B,C) \tkzGetAngle{at}
\tkzDefPointBy[rotation=center B angle 1*\at/3](A) \tkzGetPoint{T1}
\tkzDefPointBy[rotation=center B angle 2*\at/3](A) \tkzGetPoint{T2}

% Draw the trisectors.
\tkzSetUpLine[color=blue!70]
\tkzDrawLine[add=0 and 0](B,T1)
\tkzDrawLine[add=0 and 0](B,T2)
\end{tikzpicture}

The resulting image:

a trisected angle

Extending this procedure, you can n-sect an angle: just adapt 1*\at/3 to be k*\at/n for k from 1 to n-1.

3

Possibly overkill, but you could adapt Morley's theorem, and use trilinear coordinates that form the equilateral triangle whose vertices can be used to describe the trisectors. Unfortunately, the conversion from trilinear coordinates to tkzEuclide's barycentric coordinate system involves some fiddling.

\documentclass[tikz,border=5]{standalone}
\usepackage{tkz-euclide}
\usetkzobj{all}
\def\tkzfiddle#1{%
  \pgfmathparse{#1<0?#1+360:#1}\let#1=\pgfmathresult%
  \pgfmathparse{#1>180?180-#1:#1}\let#1=\pgfmathresult%
}
\begin{document}
\begin{tikzpicture}

\tkzDefPoint(0,0){A}
\tkzDefPoint(35:4){B}
\tkzDefPoint(105:4){C}

\tkzFindAngle(B,A,C) \tkzGetAngle{A}
\tkzFindAngle(C,B,A) \tkzGetAngle{B}
\tkzFindAngle(A,C,B) \tkzGetAngle{C}
\tkzCalcLength(A,B) \tkzGetLength{c}
\tkzCalcLength(B,C) \tkzGetLength{a}
\tkzCalcLength(C,A) \tkzGetLength{b}

\tkzfiddle\A\tkzfiddle\B\tkzfiddle\C
\pgfmathparse{max(\a,\b,\c)}\let\n=\pgfmathresult
\pgfmathparse{\a/\n}\let\a=\pgfmathresult
\pgfmathparse{\b/\n}\let\b=\pgfmathresult
\pgfmathparse{\c/\n}\let\c=\pgfmathresult

\tkzDefBarycentricPoint(A=\a*1,B={\b*2*cos(\C/3)},C={\b*2*cos(\B/3)})
\tkzGetPoint{A'}
\tkzDefBarycentricPoint(A={\a*2*cos(\C/3)},B=\b*1,C={\c*2*cos(\A/3)})
\tkzGetPoint{B'}
\tkzDefBarycentricPoint(A={\a*2*cos(\B/3)},B={\b*2*cos(\A/3)},C=\c*1)
\tkzGetPoint{C'}

\tkzDrawPolygon(A,B,C)
\tkzDrawPolygon[red](A,B',C')
\tkzDrawPolygon[green](B,C',A')
\tkzDrawPolygon[blue](C,B',A')
\tkzDrawPoints(A,B,C,A',B',C')
\foreach \label/\anchor in {A/below left, B/right, C/above,
  A'/above right, B'/left, C'/below right}%
    {\tkzLabelPoints[\anchor](\label)}
\end{tikzpicture}
\end{document}

enter image description here

1
  • Amusingly, I needed this to construct a graphic in a proof of... Morley's theorem :)
    – Lynn
    Aug 26, 2015 at 15:24
0

tkz-euclide is useful! However, I try to use it as little as possible (I am lazy to remember more commands). I change something from Lynn's code (see above)

\documentclass[tikz,border=2mm]{standalone}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (4,0);
\coordinate (B) at (0,1.5);
\coordinate (C) at (2,5);
\draw (A) node[below]{A}--
      (B) node[left]{B}--
      (C) node[left]{C};

\tkzFindAngle(A,B,C) \tkzGetAngle{at}

\coordinate (T1) at ($(B)!3cm!\at/3:(A)$);
\coordinate (T2) at ($(B)!3cm!2*\at/3:(A)$);

\draw[blue] (B)--(T1);
\draw[red] (B)--(T2);
\end{tikzpicture}
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.