Graphical Proof of Pythagorean Theorem

Define parameters for sides of right triangle.

> a := 5;

> b :=12;

a := 5

b := 12

>

Define relevant points in plot.

> point( O, [ 0, 0] ):

> point( A, [ a, 0] ):

> point( B, [a+b, 0] ):

> point( C, [a+b, a] ):

> point( D, [a+b,a+b] ):

> point( E, [ b,a+b] ):

> point( F, [ 0,a+b] ):

> point( G, [ 0, b] ):

> point( H, [a+b, b] ):

> point( J, [ a,a+b] ):

> point( K, [ a, b] ):

>

Define four congruent triangles.

> triangle( T1, [O,A,G] ):

> triangle( T2, [B,C,A] ):

> triangle( T3, [D,E,C] ):

> triangle( T4, [F,G,E] ):

>

Define translations of the four triangles.

> TT1 := T1:

> dsegment( CD, C, D ):

> translation( TT2, T2, CD ):

> dsegment( CA, C, A ):

> translation( TT3, T3, CA ):

> dsegment( ED, E, D ):

> translation( TT4, T4, ED ):

>

Define squares with sides B and A

> square( S1, [A,B,H,K] ):

> square( S2, [G,K,J,F] ):

>

Create plot of original triangle.

> pT1 := display( [ draw( T1(color=BLUE), filled=true ),

> textplot( [a/2,-1/2,"A"] ),

> textplot( [-1/2,b/2,"B"] ),

> textplot( [a/2+1/2,b/2+1/2,"C"] ) ],

> view=[-1..a+1,-1..b+1], axes=NONE ):

> pT1;

[Maple Plot]

>

Create plot of four triangles surrounding skewed square with side C inside square with side ( A+B ).

> pT4 := display( [ draw( [T1(color=BLUE),T2(color=GREEN),T3(color=RED),T4(color=PINK)], filled=true ),

> textplot( [a/2,-1/2,"A"] ),

> textplot( [a+b/2,-1/2,"B"] ),

> textplot( [a+b+1/2,a/2,"A"] ),

> textplot( [a+b+1/2,a+b/2,"B"] ),

> textplot( [b+a/2,a+b+1/2,"A"] ),

> textplot( [b/2,a+b+1/2,"B"] ),

> textplot( [-1/2,b+a/2,"A"] ),

> textplot( [-1/2,b/2,"B"] ),

> textplot( [a/2,b/2,"C"], align={ABOVE,RIGHT} ),

> textplot( [a+b/2,a/2,"C"], align={ABOVE,LEFT} ),

> textplot( [b+a/2,a+b/2,"C"], align={BELOW,LEFT} ),

> textplot( [b/2,b+a/2,"C"], align={BELOW,RIGHT} ) ],

> view=[-1..a+b+1,-1..a+b+1], axes=NONE ):

> pT4;

[Maple Plot]

>

Create plot of square with side ( A+B ) subdivided into two squares and two rectangles (formed by translates of original four triangles).

> pS2 := display( [ draw( [TT1(color=BLUE),TT2(color=GREEN),TT3(color=RED),TT4(color=PINK),

> S1(color=MAGENTA),S2(color=CYAN)], filled=true ),

> textplot( [a/2,-1/2,"A"] ),

> textplot( [a+b/2,-1/2,"B"] ),

> textplot( [a+b+1/2,b/2,"B"] ),

> textplot( [a+b+1/2,b+a/2,"A"] ),

> textplot( [a+b/2,a+b+1/2,"B"] ),

> textplot( [a/2,a+b+1/2,"A"] ),

> textplot( [-1/2,b+a/2,"A"] ),

> textplot( [-1/2,b/2,"B"] ) ],

> view=[-1..a+b+1,-1..a+b+1], axes=NONE ):

> pS2;

[Maple Plot]

The proof is completed when it is observed that the large square with side ( A+B ) has an area that can be written either as C^2 +(area of four congruent triangles) or A^2+B^2 +(area of four congruent triangles). Hence, C^2 = A^2+B^2 .

>

Create PostScript plots of each of the plots created in this proof.

> interface( plotdevice=postscript, plotoutput="plotT1.ps" );

> pT1;

> interface( plotdevice=postscript, plotoutput="plotT4.ps" );

> pT4;

> interface( plotdevice=postscript, plotoutput="plotS2.ps" );

> pS2;

> interface( plotdevice=default );

>