Geometric Proof of Pythagorean Theorem by Steve Phelps
Loading the math board and drawing, please wait…
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
Point(xAxis) → APoint(xAxis) → BSemicircle(A, B) → cPoint(c) → CPolygon(A, C, 4) → poly1, f, g, h, i, D, EPolygon(C, B, 4) → poly2, j, k, l, m, F, GPolygon(B, A, 4) → poly3, n, p, q, r, H, ICentroid(poly2) → JCentroid(poly3) → KCentroid(poly1) → LOrthogonalLine(J, n) → sOrthogonalLine(J, s) → tOrthogonalLine(J, m) → aOrthogonalLine(J, a) → bIntersect(s, j) → MOrthogonalLine(M, a) → dIntersect(a, d) → NIntersect(t, k) → OPolygon(M, N, J, O, B) → p1, m_1, n_1, j_1, o_1, b_1Rotate(M, π / 2, J) → M'Rotate(N, π / 2, J) → N'Rotate(J, π / 2, J) → J'Rotate(O, π / 2, J) → O'Rotate(B, π / 2, J) → B'Polygon(M', N', J', O', B') → p2, m', n', j', o', b'Rotate(M, π, J) → M'_1Rotate(N, π, J) → N'_1Rotate(J, π, J) → J'_1Rotate(O, π, J) → O'_1Rotate(B, π, J) → B'_1Polygon(M'_1, N'_1, J'_1, O'_1, B'_1) → p3, m'_1, n'_1, j'_1, o'_1, b'_1Rotate(M, ((-π)) / 2, J) → M'_2Rotate(N, ((-π)) / 2, J) → N'_2Rotate(J, ((-π)) / 2, J) → J'_2Rotate(O, ((-π)) / 2, J) → O'_2Rotate(B, ((-π)) / 2, J) → B'_2Polygon(M'_2, N'_2, J'_2, O'_2, B'_2) → p4, m'_2, n'_2, j'_2, o'_2, b'_2If(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]]) → poly4If(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]]) → poly5If(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]]) → poly6If(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]]) → poly7Polygon(M, N, J) → t1, j_2, m_2, n_2Polygon(O'_1, N'_2, J) → t2, j_3, e, f_1Polygon(O', N'_1, J) → t3, j_4, g_1, h_1Polygon(O, N', J) → t4, j_5, o_2, i_1If(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]]) → t5If(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]]) → t6If(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]]) → t7If(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]]) → t8Polygon(A, E, D, C) → q1, a_1, e_1, d_1, c_1If(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]]) → q2Angle(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.