Proof Without Words: Pythagorean Theorem by Steve Phelps (2)
Loading the math board and drawing, please wait…
This example dynamically demonstrates the relationship between a semicircle and a right triangle to visually illustrate the geometric meaning of the Pythagorean Theorem. Core math concepts include the Pythagorean Theorem, circle, polygon, midpoint, mirror, line, centroid, intersect, rotate, and angle. GeoGebra commands and objects like Point, Semicircle, Polygon, Midpoint, Mirror, Line, Centroid, Intersect, Rotate, Angle, If are used in the construction. Suitable for middle school students and math enthusiasts to understand geometric proofs of the Pythagorean Theorem.
GeoGebra Commands & Parameters
Point(yAxis) → ASemicircle(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, IMidpoint(j) → JMidpoint(m) → KMidpoint(l) → LMidpoint(k) → MMirror(A, j) → A'Line(J, L) → sLine(A', B) → tCentroid(poly2) → NIntersect(s, t) → ORotate(O, 90°, N) → O'Rotate(O', 90°, N) → O''Rotate(O'', 90°, N) → O'''Polygon(N, O, B, M) → q1, n_1, o_1, b, m_1Polygon(N, O', F, L) → q2, n_2, o', f_1, l_1Polygon(N, O'', G, K) → q3, n_3, o'', g_1, k_1Polygon(N, O''', C, J) → q4, n_4, o''', c_1, j_1Angle(C, B, A) → aIf(0 < o ≤ 1, Rotate[Polygon[Translate[N, Vector[B, Dilate[B, 1 - o, I]]], Translate[O, Vector[B, Dilate[B, 1 - o, I]]], Translate[B, Vector[B, Dilate[B, 1 - o, I]]], Translate[M, Vector[B, Dilate[B, 1 - o, I]]]], (((o - 0) * 2) * a), Dilate[B, 1 - o, I]], Rotate[Polygon[Translate[N, I - B], Translate[O, I - B], Translate[B, I - B], Translate[M, I - B]], (2 * a), I]) → q5If(2 < o ≤ 3, Rotate[Polygon[Translate[N, Vector[F, Dilate[F, 3 - o, B]]], Translate[O', Vector[F, Dilate[F, 3 - o, B]]], Translate[F, Vector[F, Dilate[F, 3 - o, B]]], Translate[L, Vector[F, Dilate[F, 3 - o, B]]]], (((o - 2) * 2) * a), Dilate[F, 3 - o, B]], Rotate[Polygon[Translate[N, B - F], Translate[O', B - F], Translate[F, B - F], Translate[L, B - F]], (2 * a), B]) → q6If(4 < o ≤ 5, Rotate[Polygon[Translate[N, Vector[G, Dilate[G, 5 - o, A]]], Translate[O'', Vector[G, Dilate[G, 5 - o, A]]], Translate[G, Vector[G, Dilate[G, 5 - o, A]]], Translate[K, Vector[G, Dilate[G, 5 - o, A]]]], (((o - 4) * 2) * a), Dilate[G, 5 - o, A]], Rotate[Polygon[Translate[N, A - G], Translate[O'', A - G], Translate[G, A - G], Translate[K, A - G]], (2 * a), A]) → q7If(6 < o ≤ 7, Rotate[Polygon[Translate[N, Vector[C, Dilate[C, 7 - o, H]]], Translate[O''', Vector[C, Dilate[C, 7 - o, H]]], Translate[C, Vector[C, Dilate[C, 7 - o, H]]], Translate[J, Vector[C, Dilate[C, 7 - o, H]]]], (((o - 6) * 2) * a), Dilate[C, 7 - o, H]], Rotate[Polygon[Translate[N, H - C], Translate[O''', H - C], Translate[C, H - C], Translate[J, H - C]], (2 * a), H]) → q8Polygon(O, J, B) → t1, b_1, o_2, j_2Polygon(O', M, F) → t2, f_2, d, m_2Polygon(O'', L, G) → t3, g_2, e, l_2Polygon(O''', K, C) → t4, c_2, h_1, k_2Line(I, B) → i_1Intersect(i_1, l) → PAngle(P, B, O) → aaIf(8 < o ≤ 9, Rotate[Polygon[Translate[O, Vector[B, Dilate[B, 9 - o, I]]], Translate[J, Vector[B, Dilate[B, 9 - o, I]]], Translate[B, Vector[B, Dilate[B, 9 - o, I]]]], ((-(o - 8)) * aa), Dilate[B, 9 - o, I]], Rotate[Polygon[Translate[O, I - B], Translate[J, I - B], Translate[B, I - B]], (-aa), I]) → t5If(10 < o ≤ 11, Rotate[Polygon[Translate[O', Vector[F, Dilate[F, 11 - o, B]]], Translate[M, Vector[F, Dilate[F, 11 - o, B]]], Translate[F, Vector[F, Dilate[F, 11 - o, B]]]], ((-(o - 10)) * aa), Dilate[F, 11 - o, B]], Rotate[Polygon[Translate[O', B - F], Translate[M, B - F], Translate[F, B - F]], (-aa), B]) → t6If(12 < o ≤ 13, Rotate[Polygon[Translate[O'', Vector[G, Dilate[G, 13 - o, A]]], Translate[L, Vector[G, Dilate[G, 13 - o, A]]], Translate[G, Vector[G, Dilate[G, 13 - o, A]]]], ((-(o - 12)) * aa), Dilate[G, 13 - o, A]], Rotate[Polygon[Translate[O'', A - G], Translate[L, A - G], Translate[G, A - G]], (-aa), A]) → t7If(14 < o ≤ 15, Rotate[Polygon[Translate[O''', Vector[C, Dilate[C, 15 - o, H]]], Translate[K, Vector[C, Dilate[C, 15 - o, H]]], Translate[C, Vector[C, Dilate[C, 15 - o, H]]]], ((-(o - 14)) * aa), Dilate[C, 15 - o, H]], Rotate[Polygon[Translate[O''', H - C], Translate[K, H - C], Translate[C, H - C]], (-aa), H]) → t8Centroid(poly3) → QCentroid(poly1) → RPolygon(A, E, D, C) → q9, a_1, e_1, d_1, c_3If(16 < o ≤ 17, Rotate[Polygon[Translate[A, Vector[R, Dilate[R, 17 - o, Q]]], Translate[E, Vector[R, Dilate[R, 17 - o, Q]]], Translate[D, Vector[R, Dilate[R, 17 - o, Q]]], Translate[C, Vector[R, Dilate[R, 17 - o, Q]]]], (((o - 16) * 2) * a), Dilate[R, 17 - o, Q]], Rotate[Polygon[Translate[A, Q - R], Translate[E, Q - R], Translate[D, Q - R], Translate[C, Q - R]], (2 * a), Q]) → q10
AI Drawing Prompt Reference
Draw a semicircle with one endpoint on the y-axis and another point as the diameter. Place a point on the semicircle, then construct three squares using this point and the diameter endpoints. Connect midpoints of the square sides to form auxiliary lines. Rotate and translate the triangles inside the semicircle so that four small squares rotate around a central point, dynamically illustrating the Pythagorean theorem. The figure includes the semicircle, three squares, several rotated polygons, and auxiliary lines, showing a symmetric geometric transformation.
The prompt above was compiled from the original drawing commands and is for reference only.