Eudoxus of Cnidus (408 BC - 355 BC)
was a student of
Archytas.
He solved the problem by projecting the intersection of the cone and torus onto
xy plane. The solution is the point where such a curve crosses the circle ABC.
Curved line between H and M is the line of intersection between cone and torus.
Arc BMC is the surface of cylinder intersecting cone (BM) and torus (MC).
********** Archytas_projection_on_xy.dwg *********
********** Eudoxus_desc.dwg *********
In the drawing, AB = b and AC = b Since BF is perpendicular to AC, BF2 = AF x FC. Then AB2 = AF2 + BF2 = AF2 + AF x FC = AF (AF + FC) = AF x AC or AF = AB2/ AC = b2 / a Then if angle GAF = q, AG = AF /cos(q) = AF sec q = AH And AL = AH sec(q) = AG sec(q) = AF sec2q If we express the location L in polar coordinate, using r as radius and angle q, r = (b2/a) sec2q (1) Now back to the surface equations for Cone and Torus. the right cone : x2 + y2 + z2 = (a/b)2x2 (2) the torus : x2 + y2 + z2 = a {x2 + y2}1/2 (3) Equating the right hand sides of (2) and (3), we obtain, x2 = (b2/a) {x2 + y2}1/2 Multiplying both sides by {x2 + y2}1/2, and using the relations r = {x2 + y2}1/2 sec(q) = {x2 + y2}1/2 / x Final result is r = (b2/a) sec2q which is exactly the same as (1). Therefore the curve given by (1) is the projection of the intersection between cone and torus onto plane ABC. It is also interesting to note that (AC/AB) times the length of AS (= AT ) is equal to the length of AP in Archytas's solution. AM2 = AS2 + MS2 = AS2 + AS x SC = AS (AS + SC) = AS x AC So AC x AS = AM2 = AB x AP Therefore AP = (AC/AB) x AS When AB = 1, and AC = 2, AP = 2xAS = AT |
********************* Eudoxus_curve.dwg *********************
You can see the process in animation .
To create this drawing and animation:
Load Eudoxus.lsp (load "Eudoxus")
Then from command line, type draw_Eudoxus_curve
To see how to draw the curve, try test_1 & test_2.
***************** Eudoxus_Delian_result.dwg ******************
You can see the process in animation .
To create this drawing and animation:
Load Eudoxus.lsp (load "Eudoxus")
Then from command line, type Eudoxus_Delian
All questions/suggestions should be sent to Takaya Iwamoto
Last Updated Nov 22, 2006
Copyright 2006 Takaya Iwamoto All rights reserved.
.