Pythagorean Theorem: A Visual Proof with Dynamic Geometry
Loading the math board and drawing, please wait…
① This GeoGebra example demonstrates a visual proof of the Pythagorean theorem, showing that in a right triangle, the sum of the areas of the squares on the two legs equals the area of the square on the hypotenuse. ② Core mathematical concepts include the Pythagorean theorem, right triangles, square areas, rotation and translation transformations, as well as auxiliary elements like circumcircles and centroids. ③ Construction highlights: using GeoGebra commands such as Point, Ray, Circle, Segment, Intersect, Polygon, Rotate, Vector, and Translate, the applet builds multiple points, segments, circles, and polygons (e.g., R, A_1, B, f, G, c_2, D, E, etc.), then rotates and translates square pieces to visually rearrange them into equal areas. ④ Suitable for middle and high school mathematics classes (grades 8–12) for exploring the Pythagorean theorem, geometric transformations, and area-based proofs; it serves as an interactive teaching tool to deepen understanding of the theorem's geometric meaning.
GeoGebra Commands & Parameters
Point(xAxis) → A_1Point(yAxis) → BRay(A_1, B) → fPoint(f) → GCircle(A_1, G) → c_2Segment(A_1, D) → gSegment(G, E) → hSegment(E, D) → iPoint(h) → QSegment(G, Q) → jCircle(E, j) → dCircle(D, j) → eCircle(A_1, j) → kIntersect(d, i, 1) → H_1Intersect(e, g, 1) → I_1Intersect(k, f, 1) → J_1Polygon(Q, J_1, G) → t1, c, a, bPolygon(Q, H_1, E) → t2, e_1, f_2, h_1Polygon(H_1, I_1, D) → t3, d_1, h_2, i_1Polygon(J_1, I_1, A_1) → t4, a_1, j_2, i_2Rotate(Q, (-R), Q) → F'Rotate(H_1, (-R), Q) → H'Rotate(E, (-R), Q) → HPolygon(F', H', H) → t2', c_3, f', h'Rotate(H_1, R, I_1) → H'_1Rotate(I_1, R, I_1) → I'Rotate(D, R, I_1) → I_2Polygon(H'_1, I', I_2) → t3', d', h'_1, i'Point(Circle[G_1, j]) → KSegment(G_1, K) → lPoint(l) → TVector(G_1, T) → uTranslate(H'_1, u) → MTranslate(I', u) → I''Translate(I_2, u) → IPolygon(M, I'', I) → t3'', d'', m, i''Translate(J_1, u) → J'Translate(I_1, u) → I'_1Translate(A_1, u) → JPolygon(J', I'_1, J) → t4', a', j', i'_1Segment(G, A_1) → n