Stomachion of Archimedes

A.I. McLeod

The stomachion of Archimedes is an ancient and very challenging puzzle often cut out of wood.  When the pieces are scrambled it is very difficult to put it back together without the diagram.  The puzzle may also be constructed out of  cardboard.  The diagram below could be used as a template.  Just resize it to some convenient size and print it out!

The Mathematica Challenge

Construct the above diagram using Mathematica.  Every line in the diagram is precisely determined, part of your challenge is to figure out how!

Solution

\(stomachion[] := 
      Module[{}, g1 = Line[{{0, 0}, {2, 0}, {2, 1}, {0, 1}, {0, 0}}]; 
		
        g2 = Line[{{0, 1}, {2, 0}}]; 
		g3 = Line[{{0, 0}, {1, 1}}]; 	

        		g4 = Line[{{1, 1}, {2, 0}}]; 
		
        g5 = Line[{{1, 0}, {1.5, 0.5}}]; 
		
        g6 = Line[{{0.5, 0}, {0.5, 0.5}}]; 
		
        g7 = Line[{{2, 0.5}, {1.5, 0.5}}]; 
		
        g8 = Line[{{0, 0}, {1/3, 5/6}}]; 
		
        g9 = Line[{{0.5, 0}, {1/3, 1/3}}]; 
		
        g10 = Line[{{3/2, 1/2}, {2, 2/3}}]; 
		
        g11 = Line[{{1, 0}, {1, 1}}]; 
		
        Show[Graphics[{g1, g2, g3, g4, g5, g6, g7, g8, g9, g10, g11}], 
          AspectRatio -> Automatic]]\)

Some Derivations

line segment g8

First we find the point on the equilateral triangle where the line x = -2 y  + 2 intersects y = x.  This is {2/3, 2/3}.  Next we find the midpoint on the line segment joining {2/3, 2/3} and {0, 1} . This yields {1/3,  5/6}.  The required line segment joins {0, 0} and {1/3,  5/6}.

line segment g9

slope1 = -2;  intercept1 = 1;

slope2 = 1; intercept2 = 0;

x =. ; y =. ;

Solve[{y ==  x, y == -2 x + 1}, {x, y}]

line segment g10

slope1 = (1/2)/(3/2)

x =. ; y =. ;

Solve[{x == 2, y == (1/3) x}, {x, y}]

Reference

Ipsen, D.C. (1988), Archimedes: Greatest Scientist of the Ancient World, Enslow: N.J.