<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <!-- fix buggy IE8, especially for mathjax --> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>An angle trisection</title> <link rel="stylesheet" type="text/css" media="screen" href="style.css"> <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML,http://userpages.umbc.edu/~rostamia/mathjax-config.js"> MathJax.Hub.Queue( function() {document.body.style.visibility="visible"} ); </script> </head> <body style="visibility:hidden"> <h1>An angle trisection</h1> <h4>Construction by Chris Alberts</h4> <p> The construction described in this page is due to Chris Alberts, who sent it to me in an email on March 15, 2011. I have paraphrased and rearranged his construction, but the differences from the original are cosmetic. The error analysis is mine. <p> <table class="centered"> <tr><td align="center"> <applet code="Geometry" archive="Geometry.zip" width="810" height="600"> <param name="background" value="ffffff"> <param name="title" value="An angle trisection"> <!-- <param name="align" value="left"> --> <param name="pivot" value="O"> <!-- The angle AOB --> <param name="e[1]" value="O;point;fixed;400,400"> <param name="e[2]" value="A;point;fixed;790,400"> <param name="e[3]" value="c;circle;radius;O,A;none;none;lightGray;none"> <param name="e[4]" value="B;point;circleSlider;c,720,0;red;red"> <param name="e[5]" value="OA;line;connect;O,A;none;none;blue"> <param name="e[6]" value="OB;line;connect;O,B;none;none;blue"> <!-- The inner circle --> <param name="e[7]" value="A';point;fixed;530,400"> <param name="e[8]" value="c';circle;radius;O,A';none;none;lightGray;none"> <param name="e[9]" value="l1;line;chord;OB,c';none;none;none"> <param name="e[10]" value="B';point;first;l1"> <!-- the points P, R, M --> <param name="e[11]" value="E;point;midpoint;B',O"> <param name="e[12]" value="c'';circle;radius;B',O;none;none;00aa00;none"> <param name="e[13]" value="l2;line;parallel;E,A,O;none;none;none"> <param name="e[14]" value="l3;line;chord;l2,c'';none;none;none"> <param name="e[15]" value="P;point;first;l3"> <param name="e[16]" value="l4;line;chord;l2,c';none;none;none"> <param name="e[17]" value="R;point;last;l4"> <param name="e[18]" value="l8;line;connect;E,R"> <param name="e[19]" value="M;point;midpoint;P,R"> <!-- the points N and F --> <param name="e[20]" value="l5;line;chord;B',M,c';none;none;none"> <param name="e[21]" value="N;point;last;l5"> <param name="e[22]" value="l9;line;connect;B',N;none;none;none;none"> <!-- --> <param name="e[23]" value="l6;line;parallel;B',A,O;none;none;none"> <param name="e[24]" value="c1;circle;radius;N,B';none;none;none;none"> <param name="e[25]" value="l7;line;chord;l6,c1;none;none;none"> <param name="e[26]" value="F;point;last;l7"> <!-- the point G --> <param name="e[27]" value="T1;polygon;triangle;B',N,F;none;none;lightGray;ddffcc"> <param name="e[28]" value="l10;line;chord;N,F,c;none;none;none"> <param name="e[29]" value="G;point;first;l10"> <param name="e[30]" value="l11;line;connect;F,G;none;none;cyan"> <param name="e[31]" value="l12;line;chord;G,O,c';none;none;none"> <param name="e[32]" value="H;point;last;l12"> <param name="e[33]" value="l13;line;connect;G,H;none;none;lightGray"> <!-- the points H, D, and J --> <param name="e[34]" value="D;point;last;l1"> <param name="e[35]" value="l14;line;connect;O,D"> <param name="e[36]" value="l15;line;parallel;D,O,A;none;none;none"> <param name="e[37]" value="c2;circle;radius;H,D;none;none;none;none"> <param name="e[38]" value="l16;line;chord;l15,c2;none;none;none"> <param name="e[39]" value="J;point;last;l16"> <param name="e[40]" value="T2;polygon;triangle;D,H,J;none;none;lightGray;ddffcc"> <!-- the point U --> <param name="e[41]" value="l17;line;chord;H,J,c;none;none;none"> <param name="e[42]" value="K;point;first;l17"> <param name="e[43]" value="l18;line;connect;J,K;none;none;cyan"> <param name="e[44]" value="c3;circle;radius;A,K;none;none;none;none"> <param name="e[45]" value="l19;line;bichord;c,c3;none;none;none"> <param name="e[46]" value="T;point;last;l19"> <param name="e[47]" value="l20;line;connect;O,T;none;none;red"> <param name="e[48]" value="l21;line;connect;K,T;none;none;lightGray"> <!-- labels for the circles --> <param name="e[49]" value="C'';point;circleSlider;c'',150,0;00aa00;none"> <param name="e[50]" value="C';point;fixed;255,420;lightGray;none"> <param name="e[51]" value="C;point;fixed;120,120;lightGray;none"> <!-- angle markers --> <param name="e[52]" value="po1;point;fixed;445,400;none;none"> <param name="e[53]" value="ci1;circle;radius;O,po1;none;none;none;none"> <param name="e[54]" value="li1;line;chord;O,T,ci1;none;none;none"> <param name="e[55]" value="po2;point;first;li1;none;none"> <param name="e[56]" value="li2;line;chord;O,B,ci1;none;none;none"> <param name="e[57]" value="po3;point;first;li2;none;none"> <param name="e[58]" value="se1;sector;sector;O,po1,po2;none;none;black;yellow"> <param name="e[59]" value="se2;sector;sector;O,po2,po3;none;none;black;orange"> </applet> </td></tr> <tr><td> <b> Drag the point $B$ to change the angle $AOB$ (but keep $AOB$ to less than 90 degrees).<br> Press “r” to reset the diagram to its initial state.<br> The red line ($OT$) is an approximate trisector of the angle $AOB$. </b> </td></tr></table> <p> Consider the circular arc $AB$ on the circle $C$ centered at $O$, shown in the diagram above. Assume that the angle $AOB$ is between 0 and 90 degrees. To trisect $AOB$, do: <ol> <li> Draw the circle $C'$ centered at $O$ with a radius 1/3 $OA$. Mark $A'$ and $B'$ its intersections with the line segments $OA$ and $OB$, respectively. <li> Draw the circle $C''$ (shown in green) centered at $B'$ through the point $O$. <li> Let $E$ be the midpoint of the line segment $OB'$. Draw a line through $E$ parallel to $OA$ and mark its intersections $P$ and $R$ with the circles $C''$ and $C'$, as shown. <li> Let $M$ be the midpoint of the line segment $PR$. Draw the line $B'M$ and extend to the intersection point $N$ with the circle $C'$. <li> Draw a line through $B'$ parallel to $OA$, and select the point $F$ on it so that $NB' = NF$. <li> Extend the line segment $NF$ to intersect the circle $C$ at $G$. <li> Draw the line $GO$ and extend it to the point of intersection $H$ with the circle $C'$. <em>Note:</em> If you look at the diagram closely, you will be able to see that the line segments $GO$ and $GN$ are <em>not</em> collinear. <li> Let $D$ be diagonally opposite the point $B'$ in the circle $C'$. Draw a line through $D$ parallel to $OA$, and select the point $J$ on it so that $HD=HJ$. <em>Note:</em> Although it is impossible to discern visually, the line segments $OH$ and $HJ$ are <em>not</em> collinear. <li> Extend the line segment $HJ$ to intersect the circle $C$ at $K$. <li> Reflect $K$ about the line $OA$ to get the point $T$. </ol> The line $OT$ is an approximate trisector of the angle $AOB$. <h2>Error analysis</h2> <p> The calculation of the coordinates of all the points that appear in the construction is elementary but the resulting expressions are massively large, therefore I will refrain from putting them on this web page. (I did the calculations in <em>Maple</em>). <p> Let $\alpha$ and $\beta(\alpha)$ be the sizes of the angles $AOB$ and $AOT$, respectively. Express the trisection error as $e(\alpha) = \frac{\alpha}{3} - \beta(\alpha)$. It turns out that $e(0) = e(\pi/2) = 0$. In the range $0$ to $\pi/2$ the error is the largest near 1.22175 radians = 70.0013 degrees. The maximum error is $2.32\times10^{-18}$ radians = $1.33\times10^{-16}$ degrees. <p> Expanding $\beta(\alpha)$ in power series we get: \[ \beta(\alpha) = \frac{1}{3} \alpha + \frac{5^9}{2^{13} \cdot 3^{40}} \alpha^{27} + O(\alpha^{29}) = \frac{1}{3} \alpha + \frac{1953125}{99595595440594360737792} \alpha^{27} + O(\alpha^{29}). \] <h2>Alberts' refinement</h2> <p> The extraordinary precision of Chris Alberts' trisection is a result of the application of a refinement technique which I will call <em>Alberts' refinement</em>. The 10 steps of his trisection procedure, described above, consist of three distinct stages: <ol> <li><em>Stage 1,</em> corresponding to the steps 1–5 of the construction, produces the angle $FB'N$ which is roughly one third of the angle $AOB$. The trisection error at this stage may be as large as 0.7 degrees. <li><em>Stage 2,</em> corresponding to the steps 6–7 of the construction, produces the angle $A'OH$ which is quite close to $\frac13 \alpha$. The worst error is 0.00013791 degrees and occurs when $AOB$ is near 70 degrees. <li><em>Stage 3,</em> corresponding to the steps 8–10 of the construction, produces the angle $AOT$ which, as noted above, is within $1.33\times10^{-16}$ degrees of the exact trisection. </ol> Each of the stages 2 and 3 consists of one application of <em>Alberts' refinement</em> which may be formulated as a stand-alone geometric proposition illustrated in the diagram below. <p> <table class="centered"> <tr><td align="center"> <applet code="Geometry" archive="Geometry.zip" width="450" height="320"> <param name="background" value="ffffff"> <param name="title" value="Alberts' refinement"> <!-- the lines L2, L1, L3 --> <param name="e[1]" value="O;point;fixed;40,250"> <param name="e[2]" value="B';point;fixed;380,250;none;none"> <param name="e[3]" value="L2;line;connect;O,B';black"> <param name="e[4]" value="c1;circle;radius;O,B';none;none;none;none"> <param name="e[5]" value="A';point;circleSlider;c1,100,10;none;none"> <param name="e[6]" value="L1;line;connect;O,A';black"> <param name="e[7]" value="s1;sector;sector;O,B',A';none;none;blue;none"> <param name="e[8]" value="X;point;circleSlider;c1,450,110;red;red"> <param name="e[9]" value="L3;line;connect;O,X;none;none;blue"> <!-- the points A, P, B --> <param name="e[10]" value="p1;point;fixed;160,250;none;none"> <param name="e[11]" value="A;point;cutoff;L1,O,p1"> <param name="e[12]" value="c2;circle;radius;A,O;none;none;none;none"> <param name="e[13]" value="l1;line;chord;O,X,c2"> <param name="e[14]" value="P;point;last;l1"> <param name="e[15]" value="T1;polygon;triangle;O,A,P;none;none;black;ffddee"> <param name="e[16]" value="c3;circle;radius;P,O;none;none;none;none"> <param name="e[17]" value="l2;line;chord;O,B',c3"> <param name="e[18]" value="B;point;last;l2"> <param name="e[19]" value="T2;polygon;triangle;O,P,B;none;none;black;ddffcc"> <!-- the circle of radius 3 --> <param name="e[20]" value="l3;line;extend;O,A,O,A;none;none;none;none"> <param name="e[21]" value="l4;line;extend;l3,O,A;none;none;none;none"> <param name="e[22]" value="p2;point;last;l4;none;none"> <param name="e[23]" value="c4;circle;radius;A,O,p2;none;none;magenta;none"> <!-- the point G --> <param name="e[24]" value="l5;line;chord;P,B,c4;none;none;none"> <param name="e[25]" value="G;point;first;l5"> <param name="e[26]" value="l6;line;connect;B,G;none;none;cyan"> <param name="e[27]" value="l7;line;connect;A,G"> <!-- the horizontal line --> <param name="e[28]" value="l8;line;parallel;A,O,p1"> <param name="e[29]" value="L;point;last;l8"> <!-- angle markers --> <param name="e[30]" value="p3;point;fixed;80,250;none;none"> <param name="e[31]" value="c5;circle;radius;O,p3;none;none;none;none"> <param name="e[32]" value="l9;line;chord;O,P,c5;none;none;none"> <param name="e[33]" value="p4;point;first;l9;none;none"> <param name="e[34]" value="s2;sector;sector;O,p3,p4;none;none;none;blue"> <param name="e[35]" value="p5;point;cutoff;l8,O,p3;none;none"> <param name="e[36]" value="c6;circle;radius;A,p5;none;none;none;none"> <param name="e[37]" value="l10;line;chord;A,G,c6;none;none;none"> <param name="e[38]" value="p6;point;first;l10;none;none"> <param name="e[39]" value="s3;sector;sector;A,p6,p5;none;none;none;red"> </applet> </td></tr> <tr><td> <b> Drag the point $X$. Press “r” to reset the diagram to its initial state.<br> If the blue angle is an approximate trisection of the angle $AOB$, then the red angle is a much better trisection.<br> Note that the red angle hardly changes as the point $X$ varies. </b> </td></tr></table> <p> The lines $L_1$ and $L_2$ intersect at the point $O$. Suppose that the line $OX$ is a crude trisector of the angle between $L_1$ and $L_2$. The rest of the diagram shows a straightedge and compass construction that produces a much finer trisection. Here are the details of the construction: <ol> <li> Pick an arbitrary point $A$ (other than $O$) on the line $L_1$. <li> Locate the point $P$ on the line $OX$ so that $AO = AP$. <li> Locate the point $B$ on the line $L_2$ so that $PO = PB$. <li> Draw a circle centered at $A$ and radius equal to three times the length of $OA$. (This circle is shown in magenta.) <li> Extend the line segment $PB$ to a intersect that circle at a point $G$. (This extension is shown in cyan.) <li> Draw a line $AL$ through $A$ and parallel to the line $L_2$. </ol> The angle $LAG$ is quite close to being one third of the angle $AOB$. To see this, let us write $\alpha$, $\beta$, and $\beta'$ for the measures (in the radian units) of the angles $AOB$, $XOB$, and $LAG$, respectively. Let $\beta = \frac13 \alpha + \delta$ and $\beta' = \frac13 \alpha + \delta'$. Thus, $\delta$ and $\delta'$ measure the trisection errors corresponding to the angles $\beta$ and $\beta'$. <p> A quite straightforward calculation, involving an application of the <em>law of sines</em> in the triangle $APG$ leads to the equation: \[ \delta' = \delta - \arcsin\Big(\frac13 \sin3\delta\Big). \] Expanding this into power series in $\delta$, we obtain: \[ \delta' = \frac43 \delta^3 - \frac45 \delta^7 + O(\delta^9). \] This explains the notable efficiency of the refinement. For instance, if the value of $\beta$ has two significant digits after the decimal point, the value of $\beta'$ will have six significant digits after the decimal point. <p> <i>Remark 1:</i> Move the point $X$ in the diagram and note how insensitive the angle $LAG$ is to the choice of $X$. This indicates that even a crude initial approximation produces an excellent trisection. <p> <i>Remark 2:</i> If you examine closely Chris Alberts' trisection described earlier in this page, you will find buried in it two instances of <em>Alberts' refinement</em>. <h2>A final comment</h2> <p> Comparing the precision of the trisection described in this page to those of others presented on my website may not seem to be quite fair. After all, <em>any</em> approximate trisection may be applied iteratively to refine its own result. Nevertheless, I am making an exception in this case because in Chris Alberts' trisection, the iterative refinement is an inherent feature of the method. <hr width="60%"> <p> <em>This applet was created by <a href="http://userpages.umbc.edu/~rostamia">Rouben Rostamian</a> using <a href="http://aleph0.clarku.edu/~djoyce/home.html">David Joyce</a>'s <a href="http://aleph0.clarkU.edu/~djoyce/java/Geometry/Geometry.html">Geometry Applet</a> on March 23, 2011. </em> <p> <table width="100%"> <tr> <td valign="top">Go to <a href="index.html#trisections">list of trisections</a></td> <td align="right" style="width:200px;"> <a href="http://validator.w3.org/check?uri=referer"> <img src="/~rostamia/images/valid-html401.png" class="noborder" width="88" height="31" alt="Valid HTML"></a> <a href="http://jigsaw.w3.org/css-validator/check/referer"> <img src="/~rostamia/images/valid-css.png" class="noborder" width="88" height="31" alt="Valid CSS"></a> </td></tr> </table> </body> </html>