Proof of Pythagoras Theorem by Shearing

Proof of Pythagoras Theorem by Shearing
Loading the math board and drawing, please wait…
2020-05-17 16:34
This example demonstrates the Pythagorean theorem using the shearing method. It involves key mathematical concepts such as geometric construction, vectors, and circles. Using GeoGebra commands like Intersect, Point, Semicircle, etc., a dynamic geometric model is constructed to illustrate the relationship between the sides of a right triangle. This example is suitable for students in middle school and above who are learning geometric proofs and dynamic geometry.

GeoGebra Commands & Parameters

  1. Intersect(xAxis, yAxis) → A
  2. Point(xAxis) → B
  3. Semicircle(A, B) → h
  4. Midpoint(A, B) → O
  5. Circle(O, B) → o
  6. Point(h) → C
  7. Rotate(C, 90*°, A) → D
  8. Rotate(A, 270*°, C) → E
  9. Line(D, E) → m
  10. Vector(D, E) → v_b
  11. Length(v_b) → k_b
  12. Rotate(C, 270*°, B) → F
  13. Rotate(B, 90*°, C) → G
  14. Line(F, G) → n
  15. Intersect(m, n) → H
  16. Line(H, yAxis) → hc
  17. Vector(E, H) → u_a
  18. Length(u_a) → ku_b
  19. Vector(G, H) → u_b
  20. Length(u_b) → ku_a
  21. Vector(F, G) → v_a
  22. Length(v_a) → k_a
  23. Rotate(B, 270*°, A) → I
  24. Vector(A, I) → v_c
  25. Length(v_c) → k_c
  26. Circle(H, (ku_a * ku_b / k_c)) → d
  27. Intersect(d, hc) → K, L
  28. Vector(H, L) → v_h
  29. Rotate(A, 90*°, B) → J
  30. If(a < ka_1, Point[F, Vector[(a / ka_1 * u_b)]], If[a < ka_2, Point[F, u_b], Point[F, Vector[u_b + ((a - ka_2) / (1 - ka_2) * v_c)]]]) → F'
  31. Polygon(B, C, G, F) → P, b_1, c, g, f
  32. If(a < ka_1, Point[G, Vector[(a / ka_1 * u_b)]], If[a < ka_2, Point[H, Vector[((a - ka_1) / (ka_2 - ka_1) * v_h)]], Point[L, Vector[((a - ka_2) / (1 - ka_2) * v_c)]]]) → G'
  33. If(a < ka_1, C, If[a < ka_2, Point[C, Vector[((a - ka_1) / (ka_2 - ka_1) * v_h)]], Point[C, Vector[v_h + ((a - ka_2) / (1 - ka_2) * v_c)]]]) → Ca'
  34. Vector(G', Ca') → u
  35. If(a < ka_1, B, If[a < ka_2, B, Point[B, Vector[((a - ka_2) / (1 - ka_2) * v_c)]]]) → B'
  36. Vector(F', B') → v
  37. Polygon(B', Ca', G', F') → Q, b', c', g', f'
  38. If(b < kb_1, Point[E, Vector[(b / kb_1 * u_a)]], If[b < kb_2, Point[H, Vector[((b - kb_1) / (kb_2 - kb_1) * v_h)]], Point[L, Vector[((b - kb_2) / (1 - kb_2) * v_c)]]]) → E'
  39. If(b < kb_1, Point[D, Vector[(b / kb_1 * u_a)]], If[b < kb_2, Point[D, u_a], Point[D, Vector[u_a + ((b - kb_2) / (1 - kb_2) * v_c)]]]) → D'
  40. If(b < kb_1, C, If[b < kb_2, Point[C, Vector[((b - kb_1) / (kb_2 - kb_1) * v_h)]], Point[C, Vector[v_h + ((b - kb_2) / (1 - kb_2) * v_c)]]]) → Cb'
  41. If(b < kb_1, A, If[b < kb_2, A, Point[A, Vector[((b - kb_2) / (1 - kb_2) * v_c)]]]) → A'
  42. Polygon(A, C, E, D) → R, a_1, c_1, e, d_1
  43. Polygon(A', Cb', E', D') → S, a', cb', e', d'
  44. Polygon(A, B, J, I) → T, a_2, b_2, j, i
  45. Angle(A, C, B) → α
  46. Midpoint(C, B) → M
  47. Midpoint(A, C) → N
  48. Midpoint(a_2) → U

AI Drawing Prompt Reference

Draw a right triangle with the hypotenuse as the diameter of a semicircle. Pick a point on the semicircle as the right-angle vertex. Rotate the endpoints of the hypotenuse around this vertex by 90 and 270 degrees to form two squares. Connect the rotated points with auxiliary lines, then use vector translations and a slider parameter to dynamically show how the two smaller squares shear and rearrange into the larger square on the hypotenuse. The final figure includes three squares, auxiliary lines, a slider, and the area relationship illustrating the Pythagorean theorem.
The prompt above was compiled from the original drawing commands and is for reference only.