Geometric Proof of Pythagorean Theorem by Steve Phelps

Geometric Proof of Pythagorean Theorem by Steve Phelps
Loading the math board and drawing, please wait…
2019-06-08 07:57
This example demonstrates the Pythagorean Theorem through dynamic geometry, illustrating that the square of the hypotenuse equals the sum of the squares of the other two sides. Key concepts include area, geometry, Pythagorean theorem, square, set theory, linear regression, secant line, and variance. Constructed using GeoGebra commands like Point, Semicircle, Polygon, Centroid, OrthogonalLine, Intersect, Rotate, and If. Suitable for high school mathematics education or exploration by math enthusiasts.

GeoGebra Commands & Parameters

  1. Point(xAxis) → A
  2. Point(xAxis) → B
  3. Semicircle(A, B) → c
  4. Point(c) → C
  5. Polygon(A, C, 4) → poly1, f, g, h, i, D, E
  6. Polygon(C, B, 4) → poly2, j, k, l, m, F, G
  7. Polygon(B, A, 4) → poly3, n, p, q, r, H, I
  8. Centroid(poly2) → J
  9. Centroid(poly3) → K
  10. Centroid(poly1) → L
  11. OrthogonalLine(J, n) → s
  12. OrthogonalLine(J, s) → t
  13. OrthogonalLine(J, m) → a
  14. OrthogonalLine(J, a) → b
  15. Intersect(s, j) → M
  16. OrthogonalLine(M, a) → d
  17. Intersect(a, d) → N
  18. Intersect(t, k) → O
  19. Polygon(M, N, J, O, B) → p1, m_1, n_1, j_1, o_1, b_1
  20. Rotate(M, π / 2, J) → M'
  21. Rotate(N, π / 2, J) → N'
  22. Rotate(J, π / 2, J) → J'
  23. Rotate(O, π / 2, J) → O'
  24. Rotate(B, π / 2, J) → B'
  25. Polygon(M', N', J', O', B') → p2, m', n', j', o', b'
  26. Rotate(M, π, J) → M'_1
  27. Rotate(N, π, J) → N'_1
  28. Rotate(J, π, J) → J'_1
  29. Rotate(O, π, J) → O'_1
  30. Rotate(B, π, J) → B'_1
  31. Polygon(M'_1, N'_1, J'_1, O'_1, B'_1) → p3, m'_1, n'_1, j'_1, o'_1, b'_1
  32. Rotate(M, ((-π)) / 2, J) → M'_2
  33. Rotate(N, ((-π)) / 2, J) → N'_2
  34. Rotate(J, ((-π)) / 2, J) → J'_2
  35. Rotate(O, ((-π)) / 2, J) → O'_2
  36. Rotate(B, ((-π)) / 2, J) → B'_2
  37. Polygon(M'_2, N'_2, J'_2, O'_2, B'_2) → p4, m'_2, n'_2, j'_2, o'_2, b'_2
  38. If(0 < o ≤ 1, Polygon[Translate[M, Vector[J, Dilate[J, 1 - o, A]]], Translate[N, Vector[J, Dilate[J, 1 - o, A]]], Translate[J, Vector[J, Dilate[J, 1 - o, A]]], Translate[O, Vector[J, Dilate[J, 1 - o, A]]], Translate[B, Vector[J, Dilate[J, 1 - o, A]]]], Polygon[Translate[M, A - J], Translate[N, A - J], Translate[J, A - J], Translate[O, A - J], Translate[B, A - J]]) → poly4
  39. If(2 < o ≤ 3, Polygon[Translate[M', Vector[J, Dilate[J, 3 - o, H]]], Translate[N', Vector[J, Dilate[J, 3 - o, H]]], Translate[J', Vector[J, Dilate[J, 3 - o, H]]], Translate[O', Vector[J, Dilate[J, 3 - o, H]]], Translate[B', Vector[J, Dilate[J, 3 - o, H]]]], Polygon[Translate[M', H - J], Translate[N', H - J], Translate[J', H - J], Translate[O', H - J], Translate[B', H - J]]) → poly5
  40. If(4 < o ≤ 5, Polygon[Translate[M'_1, Vector[J, Dilate[J, 5 - o, I]]], Translate[N'_1, Vector[J, Dilate[J, 5 - o, I]]], Translate[J'_1, Vector[J, Dilate[J, 5 - o, I]]], Translate[O'_1, Vector[J, Dilate[J, 5 - o, I]]], Translate[B'_1, Vector[J, Dilate[J, 5 - o, I]]]], Polygon[Translate[M'_1, I - J], Translate[N'_1, I - J], Translate[J'_1, I - J], Translate[O'_1, I - J], Translate[B'_1, I - J]]) → poly6
  41. If(6 < o ≤ 7, Polygon[Translate[M'_2, Vector[J, Dilate[J, 7 - o, B]]], Translate[N'_2, Vector[J, Dilate[J, 7 - o, B]]], Translate[J'_2, Vector[J, Dilate[J, 7 - o, B]]], Translate[O'_2, Vector[J, Dilate[J, 7 - o, B]]], Translate[B'_2, Vector[J, Dilate[J, 7 - o, B]]]], Polygon[Translate[M'_2, B - J], Translate[N'_2, B - J], Translate[J'_2, B - J], Translate[O'_2, B - J], Translate[B'_2, B - J]]) → poly7
  42. Polygon(M, N, J) → t1, j_2, m_2, n_2
  43. Polygon(O'_1, N'_2, J) → t2, j_3, e, f_1
  44. Polygon(O', N'_1, J) → t3, j_4, g_1, h_1
  45. Polygon(O, N', J) → t4, j_5, o_2, i_1
  46. If(8 < o ≤ 9, Polygon[Translate[M, Vector[J, Dilate[J, 9 - o, A]]], Translate[N, Vector[J, Dilate[J, 9 - o, A]]], Translate[J, Vector[J, Dilate[J, 9 - o, A]]]], Polygon[Translate[M, A - J], Translate[N, A - J], Translate[J, A - J]]) → t5
  47. If(10 < o ≤ 11, Polygon[Translate[O'_1, Vector[J, Dilate[J, 11 - o, B]]], Translate[N'_2, Vector[J, Dilate[J, 11 - o, B]]], Translate[J, Vector[J, Dilate[J, 11 - o, B]]]], Polygon[Translate[O'_1, B - J], Translate[N'_2, B - J], Translate[J, B - J]]) → t6
  48. If(12 < o ≤ 13, Polygon[Translate[O', Vector[J, Dilate[J, 13 - o, I]]], Translate[N'_1, Vector[J, Dilate[J, 13 - o, I]]], Translate[J, Vector[J, Dilate[J, 13 - o, I]]]], Polygon[Translate[O', I - J], Translate[N'_1, I - J], Translate[J, I - J]]) → t7
  49. If(14 < o ≤ 15, Polygon[Translate[O, Vector[J, Dilate[J, 15 - o, H]]], Translate[N', Vector[J, Dilate[J, 15 - o, H]]], Translate[J, Vector[J, Dilate[J, 15 - o, H]]]], Polygon[Translate[O, H - J], Translate[N', H - J], Translate[J, H - J]]) → t8
  50. Polygon(A, E, D, C) → q1, a_1, e_1, d_1, c_1
  51. If(16 < o ≤ 17, Polygon[Translate[A, Vector[L, Dilate[L, 17 - o, K]]], Translate[E, Vector[L, Dilate[L, 17 - o, K]]], Translate[D, Vector[L, Dilate[L, 17 - o, K]]], Translate[C, Vector[L, Dilate[L, 17 - o, K]]]], Polygon[Translate[A, K - L], Translate[E, K - L], Translate[D, K - L], Translate[C, K - L]]) → q2
  52. Angle(B, C, A) → α

AI Drawing Prompt Reference

Draw a right triangle with two points on the horizontal axis as the right angle vertices. Construct a semicircle with the diameter along the horizontal axis. Build three squares on the two legs and the hypotenuse of the triangle. Demonstrate dynamically the relationship between the areas of the three squares to prove the Pythagorean theorem.
The prompt above was compiled from the original drawing commands and is for reference only.