Please Register or Log in to view the hidden image! - straightedge , straight line \(AB\) - compass \(AB\) , from point \(A\) , circle - compass \(AB\) , from point \(B\) , circle , points \(C\) and \(D\) - straightedge , straight line \(CD\) , points \(E\) straight lines \(AE=EB\) pleased

There is no trisection of a general angle going on here. https://terrytao.wordpress.com/2011...angle-trisection-by-straightedge-and-compass/ It is true that any angle with vertex at the apex of a sphere will form a (spherical) triangle with two right angles on the equator. You can do this only because geometry on the surface of a sphere does not obey Euclid's parallel postulate. It is true that if you were to trisect the side of the (spherical) triangle on the equator, that would trisect the angle. But the method used to trisect a general line in Euclidean constructions depends on that crucial property of Euclidean spaces: That (initially) parallel lines never cross and remain at fixed separation. This "parallel postulate" is what separates Euclidean plane geometry from the non-Euclidean geometry on the surface of a sphere. http://jwilson.coe.uga.edu/EMT668/EMAT6680.2000/Lehman/emat6690/trisecttri's/triseg.html https://en.wikipedia.org/wiki/Parallel_postulate Needless to say, unrolling a sphere onto a plane to trisect the line on the equator violates the strict rules of geometric construction using only compass and (unmarked) straightedge. [Mod Note: If anyone got an unsolicited PM inviting them to this thread (like I did), please speak up so the appropriate moderation action can be taken. ]

Heading in the direction of building a computer out of compasses and straight edges (to trisect an angle) - a first step looks like being able to generate a line of a length that is the product of the length of two lines. I can't see how to do this so fail at the first step.

The problem of trisection of a general angle tantalized mathematicians for over 4000 years before it was proven impossible by developing stronger math than just compasses and straight edges. In general, the product of line lengths is an area, such as a parallelogram. In order to have a product of line lengths, you need some concept of a unit line segment. Take length AB and extend from it in the same direction the length BC. Find the midpoint of the segment AC, call it D. Draw the semicircle with center D that passes through A and C. At point B, extend the perpendicular through intersection point E. Thus AEC is a right angle by virtue of being an angle inscribed in a diameter of a circle. Thus, because the angles of a triangle must add to two right angles, ABE, EBC, and AEC are similar right triangles. BD = ½( max(AB, BC) − min(AB, BC) ) AD = CD = DE = ½( max(AB, BC) + min(AB, BC) ) = ½( AB + BC ) = ½ AC By the Pythagorean theorem, BE = √( [ ½( max(AB, BC) + min(AB, BC) ) ]² − [ ½( max(AB, BC) − min(AB, BC) ) ] ) = ½ √( ( AB + BC )² − ( AB − BC )² ) = ½ √( ( AB² + 2 AB ×BC + BC² ) − ( AB² − 2 AB ×BC + BC² )² ) = ½ √( 4 AB ×BC ) = √( AB ×BC ) So if we have AB = x, BC = y, BE = √(xy), then AB=x AC=x+y AD=½(x+y) AE=√(x²+xy) BC=y BD=½√((x−y)²) BE=√(xy) CD=½(x+y) CE=√(xy+y²) DE=½(x+y) So they are right triangles: (AB)² + (BE)² = x² + xy = (EA)² (EB)² + (BC)² = xy + y² = (CE)² (AE)² + (EC)² = x² + 2xy + y² = (CA)² So they are similar triangles: AB:EB = BE:BC = EA:CE = 1:√(y/x) EB:AE = BC:EC = CE:CA = 1:√(1 + x/y) Now if we start with right triangle A'B'E', with A'B'=w and B'E'=u, then construct the perpendicular bisector of A'E' and label the point where it intersects the ray A'B' as D', we can construct a semicircle at D' which passes through A', E' and new point C' which completes the semicircle. Thus B'C' = u²/w. So if we start with x and y, the first construction gives us √(xy). And if we start with 1 and √(xy), the second construction give us xy. And we can save us a bit of work if we equate B and B', and E and E', such that A, A', B=B', C and C' all lie on the same line, with AB=x, BC=y, A'B = w = 1 and BC' = xy/w = xy. Please Register or Log in to view the hidden image! Code: <html> <head> <title> Demo </title> <script> function min(v1, v2) { if ( v1 <= v2 ) { return v1 } return v2 } function max(v1, v2) { if ( v1 >= v2 ) { return v1 } return v2 } function draw_it(x, y, w) { var canvas = document.getElementById("theCanvas"); var height = canvas.height; var width = canvas.width; // Points var A_x = -x; var A_y = 0; var B_x = 0; var B_y = 0; var C_x = y; var C_y = 0; var D_x = 0.5*(y-x); var D_y = 0; var E_x = 0; var E_y = Math.sqrt( x * y ); var Ap_x = -w; var Ap_y = 0; var Dp_x = 0.5*( x * y / w - w); var Dp_y = 0; var Cp_x = x * y / w; var Cp_y = 0; var min_x = min(A_x, Ap_x); var max_x = max(C_x, Cp_x); var max_y = max(E_y, 0.5*max(C_x - A_x, Cp_x - Ap_x)); var scale_x = ( width - 100 ) / ( max_x - min_x); var scale_y = ( height - 100 ) / ( max_y ); var scale = min(scale_x, scale_y); var offset_x = 0.5 * ( width - scale * ( max_x + min_x) ); var offset_y = 5 + scale * ( max_y ) ; A_x = offset_x + scale * A_x; A_y = offset_y - scale * A_y; B_x = offset_x + scale * B_x; B_y = offset_y - scale * B_y; C_x = offset_x + scale * C_x; C_y = offset_y - scale * C_y; D_x = offset_x + scale * D_x; D_y = offset_y - scale * D_y; E_x = offset_x + scale * E_x; E_y = offset_y - scale * E_y; Ap_x = offset_x + scale * Ap_x; Ap_y = offset_y - scale * Ap_y; Dp_x = offset_x + scale * Dp_x; Dp_y = offset_y - scale * Dp_y; Cp_x = offset_x + scale * Cp_x; Cp_y = offset_y - scale * Cp_y; ctx = canvas.getContext("2d"); ctx.save(); ctx.fillStyle = "#cccccc"; ctx.font = "72px sans-serif"; ctx.save(); ctx.textBaseline = "bottom"; ctx.translate(B_x, B_y -12 ); ctx.transform( 0, -scale/72, x * scale/72, 0, 0, 0 ); ctx.fillText("}", 0, 0); ctx.restore(); ctx.save(); ctx.textBaseline = "bottom"; ctx.translate(C_x, C_y -12 ); ctx.transform( 0, -scale/72, y * scale/72, 0, 0, 0 ); ctx.fillText("}", 0, 0); ctx.restore(); ctx.save(); ctx.textBaseline = "bottom"; ctx.translate(B_x, B_y +12 ); ctx.transform( 0, scale/72, w * scale/72, 0, 0, 0 ); ctx.fillText("}", 0, 0); ctx.restore(); ctx.save(); ctx.textBaseline = "bottom"; ctx.translate(Cp_x, Cp_y +12 ); ctx.transform( 0, scale/72, x * y / w * scale/72, 0, 0, 0 ); ctx.fillText("}", 0, 0); ctx.restore(); ctx.textAlign = "center"; ctx.fillText("" + x, offset_x + -x * scale/2, offset_y - 60); ctx.fillText("\u00d7", offset_x + (y-x) * scale/4, offset_y - 60); ctx.fillText("" + y, offset_x + y * scale/2, offset_y - 60); ctx.fillText("" + w, offset_x + -w * scale/2, offset_y + 102); ctx.fillText("\u00d7", offset_x + (x*y/w-w) * scale/4, offset_y + 102); ctx.fillText("" + (x*y/w), offset_x + x*y/w * scale/2, offset_y + 102); ctx.restore(); ctx.strokeStyle="#99ff99"; ctx.beginPath(); ctx.moveTo(A_x, A_y); ctx.lineTo(E_x, E_y), ctx.lineTo(C_x, C_y); ctx.closePath(); ctx.stroke(); ctx.beginPath(); ctx.moveTo(A_x, A_y); ctx.arc(D_x, D_y, (D_x-A_x), Math.PI, 0); ctx.stroke(); ctx.strokeStyle="#ff9999"; ctx.beginPath(); ctx.moveTo(B_x, B_y); ctx.lineTo(E_x, E_y); ctx.stroke(); ctx.strokeStyle="#9999ff"; ctx.beginPath(); ctx.moveTo(0.5*(Ap_x + E_x), 0.5*(Ap_y + E_y)); ctx.lineTo(Dp_x, Dp_y); ctx.stroke(); ctx.beginPath(); ctx.moveTo(Ap_x, Ap_y); ctx.lineTo(E_x, E_y), ctx.lineTo(Cp_x, Cp_y); ctx.closePath(); ctx.stroke(); ctx.beginPath(); ctx.moveTo(Ap_x, Ap_y); ctx.arc(Dp_x, Dp_y, (Dp_x-Ap_x), Math.PI, 0); ctx.stroke(); var r = 2; ctx.beginPath(); ctx.moveTo(A_x + r, A_y); ctx.arc(A_x, A_y, r, 0, 2 * Math.PI); ctx.fill(); ctx.fillText("A", A_x - 12, A_y + 12); ctx.beginPath(); ctx.moveTo(B_x + r, B_y); ctx.arc(B_x, B_y, r, 0, 2 * Math.PI); ctx.fill(); ctx.fillText("B", B_x - 4, B_y + 12); ctx.beginPath(); ctx.moveTo(C_x + r, C_y); ctx.arc(C_x, C_y, r, 0, 2 * Math.PI); ctx.fill(); ctx.fillText("C", C_x + 4, C_y + 12); ctx.beginPath(); ctx.moveTo(D_x + r, D_y); ctx.arc(D_x, D_y, r, 0, 2 * Math.PI); ctx.fill(); ctx.fillText("D", D_x - 12, D_y + 12); ctx.beginPath(); ctx.moveTo(E_x + r, E_y); ctx.arc(E_x, E_y, r, 0, 2 * Math.PI); ctx.fill(); ctx.fillText("E", E_x - 4, E_y - 12); ctx.beginPath(); ctx.moveTo(Ap_x + r, Ap_y); ctx.arc(Ap_x, Ap_y, r, 0, 2 * Math.PI); ctx.fill(); ctx.fillText("A'", Ap_x - 12, Ap_y + 12); ctx.beginPath(); ctx.moveTo(Dp_x + r, Dp_y); ctx.arc(Dp_x, Dp_y, r, 0, 2 * Math.PI); ctx.fill(); ctx.fillText("D'", Dp_x + 4, Dp_y + 12); ctx.beginPath(); ctx.moveTo(Cp_x + r, Cp_y); ctx.arc(Cp_x, Cp_y, r, 0, 2 * Math.PI); ctx.fill(); ctx.fillText("C'", Cp_x + 4, Cp_y + 12); var dataURL = canvas.toDataURL(); document.getElementById("canvasImage").src = dataURL; } </script> </head> <body onLoad="draw_it(3,2,1)"> <h1> Demo </h1> <canvas id="theCanvas" width="800" height="400"><noscript>Javascript must be turned on and your browser must support canvas elements.</noscript></canvas> <img id="canvasImage"> </body> </html>

Beautiful. I assume we are allowed to use the compass as a divider to transfer lengths to and from the original sheet (the angle) to working sheet(s) which will enable us to calculate (geometrically) the result [edit... trisection of the angle] to any required degree of accuracy. Time passes while msbiljanica and/or I work out the program to perform this task.

Not allowed. That's why proposition 2 of book 1 is how to construct a line segment equivalent to a given BC at any point A. http://aleph0.clarku.edu/~djoyce/elements/bookI/propI2.html

My last engagement with Euclid was as a pressed man back in 1968, part of My War of Independence (which I lost). Using rpenner's figure and replacing AB with some convenient constant (say 10) and A'B with the input x we have ky/x so we can divide as well as multiply. At this stage I am fairly confident (36%) we can execute a program (with extreme tedium but no violation of the rules) to trisect an angle unless there is something buried in Euclidean geometry to say 0.333.. <> 1/3.

Trisecting a line is different from trisecting an angle. Yes it's true you can bisect and bisect an angle to 1/4 angle, then on an adjacent part, find 1/4 of that, etc. and approach from underneath 1/3. \(\lim_{n\to\infty} \sum_{k=1}^{n} \frac{1}{4^k} = \frac{1}{3}\). But since you aren't allowed to have an infinite number of steps in any algorithm or geometric construction, this is not a way to trisect a general angle. You can get 1/4, 5/16, 21/64, 85/256, 341/1024, ... and so forth, but 1/3 is not in the realm of achievability by any finite construction with compass and straightedge.