Sum of Three Squares Equals a Square

Sum of Three Squares Equals a Square
Loading the math board and drawing, please wait…
2019-08-18 19:02
This example demonstrates the geometric phenomenon where the sum of three squares equals one square. It involves core mathematical concepts such as the Pythagorean Theorem, squares, integers, symmetry, division, median value, and right triangles. The construction utilizes GeoGebra commands/objects like Intersect, Point, Polygon, Midpoint, OrthogonalLine, Circle, CircumcircleArc, Plane, Translate, Segment, OrthogonalPlane, Vector, Rotate, and Angle. It is suitable for high school mathematics education, helping students understand and apply the Pythagorean Theorem and related geometric constructions.

GeoGebra Commands & Parameters

  1. Intersect(zAxis, yAxis) → A
  2. Point(zAxis) → B
  3. Point(yAxis) → C
  4. Polygon(A, B, C) → t1, c, a, b
  5. Midpoint(b) → D
  6. OrthogonalLine(D, xOyPlane) → f
  7. Circle(f, A) → d
  8. Point(d) → E
  9. CircumcircleArc(A, E, C) → e
  10. Point(e) → F
  11. Polygon(A, F, C) → t2, c_1, a_1, f_1
  12. Polygon(A, F, 4, xOyPlane) → poly1, g, h, i, j, G, H
  13. Polygon(F, C, 4, xOyPlane) → poly2, k, l, m, n, I, J
  14. Plane(zAxis, yAxis) → p
  15. Polygon(A, B, 4, p) → poly3, q, r, s, t, K, L
  16. Polygon(B, C, 4, p) → poly4, g_1, h_1, i_1, j_1, M, N
  17. Polygon(C, A, 4, xOyPlane) → poly5, k_1, l_1, m_1, n_1, O, P
  18. Midpoint(H, F) → Q
  19. Midpoint(F, I) → R
  20. Midpoint(A, P) → S
  21. OrthogonalLine(R, p) → p_1
  22. Intersect(p_1, k) → T
  23. OrthogonalLine(R, xOyPlane) → q_1
  24. Plane(q_1, p_1) → r_1
  25. OrthogonalLine(R, r_1) → s_1
  26. Intersect(n, s_1) → U
  27. Intersect(p_1, m) → V
  28. Intersect(l, s_1) → W
  29. Translate(poly1, Vector[Q, If[0 < u ≤ 1, Dilate[Q, 1 - u, S], S]]) → poly1'
  30. Polygon(T, C, W, R) → q1, t_1, c_2, w, r_2
  31. Polygon(W, I, V, R) → q2, w_1, i_2, v, r_3
  32. Polygon(R, V, J, U) → q3, r_4, v_1, j_2, u_1
  33. Polygon(R, U, F, T) → q4, r_5, u_2, f_2, t_2
  34. Translate(q1, Vector[R, If[2 < u ≤ 3, Dilate[R, 3 - u, A], A]]) → q1'
  35. Translate(q2, Vector[R, If[4 < u ≤ 5, Dilate[R, 5 - u, O], O]]) → q2'
  36. Translate(q3, Vector[R, If[6 < u ≤ 7, Dilate[R, 7 - u, P], P]]) → q3'
  37. Translate(q4, Vector[R, If[8 < u ≤ 9, Dilate[R, 9 - u, C], C]]) → q4'
  38. Midpoint(B, L) → Z
  39. Midpoint(M, B) → A_1
  40. Translate(poly3, Vector[Z, If[10 < u ≤ 11, Dilate[Z, 11 - u, A_1], A_1]]) → poly3'
  41. Circle(f_1, B) → d_1
  42. Intersect(xOyPlane, d_1) → B_1, C_1
  43. Segment(C, C_1) → b_1
  44. OrthogonalPlane(S, b_1) → p_2
  45. OrthogonalLine(S, p_2) → e_1
  46. OrthogonalLine(S, xOyPlane) → g_2
  47. Plane(g_2, e_1) → q_2
  48. OrthogonalLine(S, q_2) → h_2
  49. Vector(R, O) → v_2
  50. Vector(R, P) → w_2
  51. Vector(R, C) → a_2
  52. Vector(R, A) → b_2
  53. Intersect(h_2, poly5) → D_1, E_1
  54. Intersect(e_1, poly5) → F_1, G_1
  55. Polygon(S, G_1, A, D_1) → q5, s_2, k_2, a_3, l_2
  56. Polygon(S, D_1, C, F_1) → q6, s_3, m_2, c_3, n_2
  57. Polygon(S, F_1, P, E_1) → q7, s_4, d_2, p_3, e_2
  58. Polygon(S, E_1, O, G_1) → q8, s_5, f_3, o, g_3
  59. Rotate(S, ((-π)) / 2, yAxis) → S'
  60. Translate(F, a_2) → F'
  61. Translate(C, b_2) → C'
  62. Translate(I, v_2) → I'
  63. Translate(J, w_2) → J'
  64. Midpoint(O, A) → H_1
  65. Midpoint(A, C) → I_1
  66. Midpoint(C, P) → J_1
  67. Midpoint(P, O) → K_1
  68. Segment(C', F') → h_3
  69. Segment(F', J') → i_3
  70. Segment(J', I') → j_3
  71. Segment(I', C') → k_3
  72. Intersect(h_3, g_3) → L_1
  73. Intersect(s_3, i_3) → M_1
  74. Intersect(j_3, s_4) → N_1
  75. Intersect(k_3, s_5) → O_1
  76. Polygon(S, L_1, F', M_1) → q9, s_6, l_3, f', m_3
  77. Polygon(L_1, G_1, A, I_1) → q10, n_3, q_3, a_4, t_3
  78. Polygon(M_1, F', I_1, D_1) → q11, b_3, d_3, e_3, f_4
  79. Translate(If[12 < u ≤ 13, Rotate[q9, ((-(u - 12)) * π / 2), yAxis], Rotate[q9, ((-π)) / 2, yAxis]], Vector[S', If[12 < u ≤ 13, Dilate[S', 13 - u, C], C]]) → q13
  80. Translate(If[12 < u ≤ 13, Rotate[q10, ((-(u - 12)) * π / 2), yAxis], Rotate[q10, ((-π)) / 2, yAxis]], Vector[S', If[12 < u ≤ 13, Dilate[S', 13 - u, C], C]]) → q14
  81. Translate(If[12 < u ≤ 13, Rotate[q11, ((-(u - 12)) * π / 2), yAxis], Rotate[q11, ((-π)) / 2, yAxis]], Vector[S', If[12 < u ≤ 13, Dilate[S', 13 - u, C], C]]) → q15
  82. Polygon(N_1, S, M_1, J') → q12, g_4, s_7, h_4, j'
  83. Polygon(M_1, D_1, C, J_1) → q16, i_4, j_4, c_4, k_4
  84. Polygon(F_1, N_1, J', J_1) → q17, l_4, m_4, n_4, p_4
  85. Translate(If[14 < u ≤ 15, Rotate[q12, ((-(u - 14)) * π / 2), yAxis], Rotate[q12, ((-π)) / 2, yAxis]], Vector[S', If[14 < u ≤ 15, Dilate[S', 15 - u, B], B]]) → q18
  86. Translate(If[14 < u ≤ 15, Rotate[q16, ((-(u - 14)) * π / 2), yAxis], Rotate[q16, ((-π)) / 2, yAxis]], Vector[S', If[14 < u ≤ 15, Dilate[S', 15 - u, B], B]]) → q19
  87. Translate(If[14 < u ≤ 15, Rotate[q17, ((-(u - 14)) * π / 2), yAxis], Rotate[q17, ((-π)) / 2, yAxis]], Vector[S', If[14 < u ≤ 15, Dilate[S', 15 - u, B], B]]) → q20
  88. Polygon(I', O_1, S, N_1) → q21, i', o_1, s_8, q_4
  89. Polygon(K_1, N_1, F_1, P) → q22, t_4, b_4, d_4, p_5
  90. Polygon(I', K_1, E_1, O_1) → q23, e_4, f_5, g_5, h_5
  91. Translate(If[16 < u ≤ 17, Rotate[q21, ((-(u - 16)) * π / 2), yAxis], Rotate[q21, (-π) / 2, yAxis]], Vector[S', If[16 < u ≤ 17, Dilate[S', 17 - u, N], N]]) → q24
  92. Translate(If[16 < u ≤ 17, Rotate[q22, ((-(u - 16)) * π / 2), yAxis], Rotate[q22, (-π) / 2, yAxis]], Vector[S', If[16 < u ≤ 17, Dilate[S', 17 - u, N], N]]) → q25
  93. Translate(If[16 < u ≤ 17, Rotate[q23, ((-(u - 16)) * π / 2), yAxis], Rotate[q23, (-π) / 2, yAxis]], Vector[S', If[16 < u ≤ 17, Dilate[S', 17 - u, N], N]]) → q26
  94. Polygon(O_1, C', L_1, S) → q27, i_5, c', j_5, s_9
  95. Polygon(O_1, E_1, O, H_1) → q28, k_5, l_5, o_2, m_5
  96. Polygon(C', H_1, G_1, L_1) → q29, n_5, q_5, t_5, a_5
  97. Translate(If[18 < u ≤ 19, Rotate[q27, ((-(u - 18)) * π / 2), yAxis], Rotate[q27, (-π) / 2, yAxis]], Vector[S', If[18 < u ≤ 19, Dilate[S', 19 - u, M], M]]) → q30
  98. Translate(If[18 < u ≤ 19, Rotate[q28, ((-(u - 18)) * π / 2), yAxis], Rotate[q28, (-π) / 2, yAxis]], Vector[S', If[18 < u ≤ 19, Dilate[S', 19 - u, M], M]]) → q31
  99. Translate(If[18 < u ≤ 19, Rotate[q29, ((-(u - 18)) * π / 2), yAxis], Rotate[q29, (-π) / 2, yAxis]], Vector[S', If[18 < u ≤ 19, Dilate[S', 19 - u, M], M]]) → q32
  100. Angle(B, A, C) → α
  101. Angle(A, F, C) → β