Graphical Proof of Pythagorean Theorem
Define parameters for sides of right triangle.
> 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 and
> 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;
>
Create plot of four triangles surrounding skewed square with side inside square with side ( ).
> 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;
>
Create plot of square with side ( ) 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;
The proof is completed when it is observed that the large square with side ( ) has an area that can be written either as +(area of four congruent triangles) or +(area of four congruent triangles). Hence, .
>
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 );
>