Perigal Pythagoras with Dilations and Vectors

Perigal Pythagoras with Dilations and Vectors
Loading the math board and drawing, please wait…
2016-11-30 03:35
①This example dynamically demonstrates Perigal's dissection proof of the Pythagorean theorem, using dilations and vector translations to rearrange the two smaller squares into the larger square. ②Core mathematical concepts include the Pythagorean theorem, dilation transformation, vector translation, area conservation, and geometric dissection. ③Construction highlights: using GeoGebra commands such as Segment, Midpoint, Semicircle, OrthogonalLine, Intersect, CircleArc, Point, Polygon, Line, Dilate, Vector, and Translate to build a right triangle with squares on each side and then move the pieces via dilation and vector operations. ④Suitable for middle and high school students learning about the Pythagorean theorem, geometric transformations, and dynamic mathematics, as well as for classroom demonstrations by teachers.

GeoGebra Commands & Parameters

  1. Segment(A, B) → f
  2. Midpoint(f) → C
  3. Semicircle(A, B) → c
  4. OrthogonalLine(C, f) → g
  5. Intersect(c, g, 1) → D
  6. CircleArc(C, D, A) → d
  7. Point(d) → E
  8. Segment(A, E) → h
  9. Segment(E, B) → i
  10. Polygon(A, E, 4) → poly1, j, k, l, m, F, G
  11. Polygon(E, B, 4) → poly2, n, p, q, r, H, I
  12. Polygon(B, A, 4) → poly3, s, t, a, b, J, K
  13. Segment(A, G) → e
  14. Segment(G, F) → f_1
  15. Segment(F, E) → g_1
  16. Segment(E, I) → h_1
  17. Segment(I, H) → i_1
  18. Segment(H, B) → j_1
  19. Segment(A, J) → k_1
  20. Segment(J, K) → l_1
  21. Segment(K, B) → m_1
  22. Segment(I, B) → n_1
  23. Midpoint(n_1) → L
  24. Line(L, k_1) → p_1
  25. Line(L, f) → q_1
  26. Intersect(q_1, h_1) → M
  27. Intersect(p_1, i_1) → N
  28. Intersect(q_1, j_1) → O
  29. Intersect(i, p_1) → P
  30. Segment(F, A) → r_1
  31. Segment(A, K) → s_1
  32. Midpoint(r_1) → Q
  33. Midpoint(s_1) → R
  34. Dilate(A, o, L) → A'
  35. Dilate(B, o, L) → B'
  36. Dilate(J, o, L) → J'
  37. Dilate(K, o, L) → K'
  38. Dilate(R, o, Q) → R'
  39. Vector(L, A') → u
  40. Vector(L, B') → v
  41. Vector(L, J') → w
  42. Vector(L, K') → u_1
  43. Vector(Q, R') → v_1
  44. Polygon(M, L, N, I) → poly4, m_2, l_2, n_2, i_2
  45. Translate(M, w_1) → M'
  46. Translate(L, w_1) → L'
  47. Translate(N, w_1) → N'
  48. Translate(I, w_1) → I'
  49. Polygon(M', L', N', I') → poly4', m', l', n', i'
  50. Translate(M', u_1) → M''
  51. Translate(L', u_1) → L''
  52. Translate(N', u_1) → N''
  53. Translate(I', u_1) → I''
  54. Polygon(M'', L'', N'', I'') → poly4'', m'', l'', n'', i''
  55. Polygon(L, N, H, O) → poly5, l_3, n_3, h_2, o_1
  56. Translate(L, w) → L'_1
  57. Translate(N, w) → N'_1
  58. Translate(H, w) → H'
  59. Translate(O, w) → O'
  60. Polygon(L'_1, N'_1, H', O') → poly5', l'_1, n'_1, h', o'
  61. Polygon(E, M, L, P) → poly6, e_1, m_3, l_4, p_2
  62. Translate(E, v) → E'
  63. Translate(M, v) → M'_1
  64. Translate(L, v) → L'_2
  65. Translate(P, v) → P'
  66. Polygon(E', M'_1, L'_2, P') → poly6', e', m'_1, l'_2, p'
  67. Polygon(P, L, O, B) → poly7, p_3, l_5, o_2, b_1
  68. Translate(P, u) → P'_1
  69. Translate(L, u) → L'_3
  70. Translate(O, u) → O'_1
  71. Translate(B, u) → B'_1
  72. Polygon(P'_1, L'_3, O'_1, B'_1) → poly7', p'_1, l'_3, o'_1, b'_1
  73. Polygon(G, F, E, A) → poly8, g_2, f_2, e_2, a_1
  74. Translate(G, v_1) → G'
  75. Translate(F, v_1) → F'
  76. Translate(E, v_1) → E'_1
  77. Translate(A, v_1) → A'_1
  78. Polygon(G', F', E'_1, A'_1) → poly8', g', f', e'_1, a'_1