Proof Without Words: Pentagon and Pythagorean Theorem

Proof Without Words: Pentagon and Pythagorean Theorem
Loading the math board and drawing, please wait…
2019-06-01 08:43
This GeoGebra example demonstrates a 'proof without words' for the Pythagorean theorem embedded in a pentagon construction. It visually connects the theorem with equilateral triangles, geometric mean, and hints at continuity and fractal geometry. The construction uses commands such as Point, Semicircle, Polygon, Centroid, Midpoint, Mirror, Line, Intersect, Rotate, Translate, Angle, Dilate, and If, creating multiple polygons (poly1, poly2, poly3), semicircles, mirrored and rotated elements, with a slider n for dynamic variation. The result is a self-explanatory diagram that verifies the theorem without textual explanation. Suitable for middle school and above, it serves as an intuitive teaching tool for geometric proofs, visual reasoning, and exploring mathematical beauty.

GeoGebra Commands & Parameters

  1. Point(yAxis) → A
  2. Point(yAxis) → B
  3. Semicircle(A, B) → c
  4. Point(c) → C
  5. Polygon(A, C, 5) → poly1, f, g, h, i, j, D, E, F
  6. Polygon(C, B, 5) → poly2, n, p, q, r, s, J, K, L
  7. Polygon(B, A, 5) → poly3, k, l, m, t, a, G, H, I
  8. Centroid(poly2) → V
  9. Midpoint(n) → M
  10. Midpoint(s) → N
  11. Midpoint(r) → O
  12. Midpoint(q) → P
  13. Midpoint(p) → Q
  14. Mirror(A, n) → A'
  15. Line(B, A') → b
  16. Line(V, M) → d
  17. Intersect(b, d) → R
  18. Polygon(V, R, B, Q) → q1, v, r_1, b_1, q_1
  19. Rotate(R, (2 * π / 5), V) → R'
  20. Rotate(R', (2 * π / 5), V) → R''
  21. Rotate(R'', (2 * π / 5), V) → R'''
  22. Rotate(R''', (2 * π / 5), V) → S
  23. Polygon(V, R', J, P) → q2, v_1, r', j_1, p_1
  24. Polygon(V, R'', K, O) → q3, v_2, r'', k_1, o_1
  25. Polygon(V, R''', L, N) → q4, v_3, r''', l_1, n_1
  26. Polygon(V, S, C, M) → q5, v_4, s_1, c_1, m_1
  27. Translate(R, Vector[B, H]) → R'_1
  28. Angle(R'_1, H, G) → aa
  29. Dilate(B, 1 - o, H) → B'
  30. If(0 < o ≤ 1, Rotate[Polygon[Translate[V, B' - B], Translate[R, B' - B], Translate[B, B' - B], Translate[Q, B' - B]], ((o - 0) * aa), B'], Rotate[Polygon[Translate[V, H - B], Translate[R, H - B], Translate[B, H - B], Translate[Q, H - B]], aa, H]) → q6
  31. If(2 < o ≤ 3, Rotate[Polygon[Translate[V, Vector[J, Dilate[J, 3 - o, I]]], Translate[R', Vector[J, Dilate[J, 3 - o, I]]], Translate[J, Vector[J, Dilate[J, 3 - o, I]]], Translate[P, Vector[J, Dilate[J, 3 - o, I]]]], ((o - 2) * aa), Dilate[J, 3 - o, I]], Rotate[Polygon[Translate[V, I - J], Translate[R', I - J], Translate[J, I - J], Translate[P, I - J]], aa, I]) → q7
  32. If(4 < o ≤ 5, Rotate[Polygon[Translate[V, Vector[K, Dilate[K, 5 - o, B]]], Translate[R'', Vector[K, Dilate[K, 5 - o, B]]], Translate[K, Vector[K, Dilate[K, 5 - o, B]]], Translate[O, Vector[K, Dilate[K, 5 - o, B]]]], ((o - 4) * aa), Dilate[K, 5 - o, B]], Rotate[Polygon[Translate[V, B - K], Translate[R'', B - K], Translate[K, B - K], Translate[O, B - K]], aa, B]) → q8
  33. If(4 < o ≤ 5, Rotate[Polygon[Translate[V, Vector[K, Dilate[K, 5 - o, B]]], Translate[R'', Vector[K, Dilate[K, 5 - o, B]]], Translate[K, Vector[K, Dilate[K, 5 - o, B]]], Translate[O, Vector[K, Dilate[K, 5 - o, B]]]], ((o - 4) * aa), Dilate[K, 5 - o, B]], Rotate[Polygon[Translate[V, B - K], Translate[R'', B - K], Translate[K, B - K], Translate[O, B - K]], aa, B]) → q9
  34. If(6 < o ≤ 7, Rotate[Polygon[Translate[V, Vector[L, Dilate[L, 7 - o, A]]], Translate[R''', Vector[L, Dilate[L, 7 - o, A]]], Translate[L, Vector[L, Dilate[L, 7 - o, A]]], Translate[N, Vector[L, Dilate[L, 7 - o, A]]]], ((o - 6) * aa), Dilate[L, 7 - o, A]], Rotate[Polygon[Translate[V, A - L], Translate[R''', A - L], Translate[L, A - L], Translate[N, A - L]], aa, A]) → q10
  35. If(8 < o ≤ 9, Rotate[Polygon[Translate[V, Vector[C, Dilate[C, 9 - o, G]]], Translate[S, Vector[C, Dilate[C, 9 - o, G]]], Translate[C, Vector[C, Dilate[C, 9 - o, G]]], Translate[M, Vector[C, Dilate[C, 9 - o, G]]]], ((o - 8) * aa), Dilate[C, 9 - o, G]], Rotate[Polygon[Translate[V, G - C], Translate[S, G - C], Translate[C, G - C], Translate[M, G - C]], aa, G]) → q11
  36. Polygon(B, R, M) → t1, m_2, b_2, r_2
  37. Polygon(Q, J, R') → t2, e, q_2, j_2
  38. Polygon(P, K, R'') → t3, f_1, p_2, k_2
  39. Polygon(R''', O, L) → t4, l_2, g_1, o_2
  40. Polygon(S, N, C) → t5, c_2, s_2, n_2
  41. Rotate(Translate[M, G - C], aa, G) → T
  42. Angle(H, G, T) → bb
  43. Line(I, B) → h_1
  44. Line(B, R) → i_1
  45. Angle(h_1, i_1) → cc
  46. If(10 < o ≤ 11, Rotate[Polygon[Translate[B, Vector[B, Dilate[B, 11 - o, I]]], Translate[R, Vector[B, Dilate[B, 11 - o, I]]], Translate[M, Vector[B, Dilate[B, 11 - o, I]]]], ((-(o - 10)) * cc), Dilate[B, 11 - o, I]], Rotate[Polygon[Translate[B, I - B], Translate[R, I - B], Translate[M, I - B]], (-cc), I]) → t7
  47. If(12 < o ≤ 13, Rotate[Polygon[Translate[Q, Vector[J, Dilate[J, 13 - o, B]]], Translate[J, Vector[J, Dilate[J, 13 - o, B]]], Translate[R', Vector[J, Dilate[J, 13 - o, B]]]], ((-(o - 12)) * cc), Dilate[J, 13 - o, B]], Rotate[Polygon[Translate[Q, B - J], Translate[J, B - J], Translate[R', B - J]], (-cc), B]) → t8
  48. If(14 < o ≤ 15, Rotate[Polygon[Translate[P, Vector[K, Dilate[K, 15 - o, A]]], Translate[K, Vector[K, Dilate[K, 15 - o, A]]], Translate[R'', Vector[K, Dilate[K, 15 - o, A]]]], ((-(o - 14)) * cc), Dilate[K, 15 - o, A]], Rotate[Polygon[Translate[P, A - K], Translate[K, A - K], Translate[R'', A - K]], (-cc), A]) → t9
  49. If(16 < o ≤ 17, Rotate[Polygon[Translate[R''', Vector[L, Dilate[L, 17 - o, G]]], Translate[O, Vector[L, Dilate[L, 17 - o, G]]], Translate[L, Vector[L, Dilate[L, 17 - o, G]]]], ((-(o - 16)) * cc), Dilate[L, 17 - o, G]], Rotate[Polygon[Translate[R''', G - L], Translate[O, G - L], Translate[L, G - L]], (-cc), G]) → t10
  50. If(18 < o ≤ 19, Rotate[Polygon[Translate[S, Vector[C, Dilate[C, 19 - o, H]]], Translate[N, Vector[C, Dilate[C, 19 - o, H]]], Translate[C, Vector[C, Dilate[C, 19 - o, H]]]], ((-(o - 18)) * cc), Dilate[C, 19 - o, H]], Rotate[Polygon[Translate[S, H - C], Translate[N, H - C], Translate[C, H - C]], (-cc), H]) → t11
  51. Centroid(poly3) → U
  52. Centroid(poly1) → W
  53. Polygon(A, F, E, D, C) → poly4, a_1, f_2, e_1, d_1, c_3
  54. If(20 < o ≤ 21, Rotate[Polygon[Translate[A, Vector[W, Dilate[W, 21 - o, U]]], Translate[F, Vector[W, Dilate[W, 21 - o, U]]], Translate[E, Vector[W, Dilate[W, 21 - o, U]]], Translate[D, Vector[W, Dilate[W, 21 - o, U]]], Translate[C, Vector[W, Dilate[W, 21 - o, U]]]], ((-(o - 20)) * cc), Dilate[W, 21 - o, U]], Rotate[Polygon[Translate[A, U - W], Translate[F, U - W], Translate[E, U - W], Translate[D, U - W], Translate[C, U - W]], (-cc), U]) → poly5
  55. Angle(A, C, B) → α