Pythagorean Theorem Shear Proof by katerina Tryfo
Loading the math board and drawing, please wait…
This example demonstrates the Pythagorean Theorem through a shearing method, visually illustrating the relationship between the sides of a right triangle. Core mathematical concepts include the Pythagorean Theorem, coordinate geometry, and vector operations. Construction highlights the use of GeoGebra commands and objects such as Intersect, Point, Semicircle, Midpoint, Circle, Rotate, Line, Vector, Length, If, Polygon, and Angle. Suitable for high school mathematics instruction and students seeking deeper exploration of geometric proofs.
GeoGebra Commands & Parameters
Intersect(xAxis, yAxis) → APoint(xAxis) → BSemicircle(A, B) → hMidpoint(A, B) → OCircle(O, B) → oPoint(h) → CRotate(C, 90°, A) → DRotate(A, 270°, C) → ELine(D, E) → mVector(D, E) → v_bLength(v_b) → k_bRotate(C, 270°, B) → FRotate(B, 90°, C) → GLine(F, G) → nIntersect(m, n) → HLine(H, yAxis) → hcVector(E, H) → u_aLength(u_a) → ku_bVector(G, H) → u_bLength(u_b) → ku_aVector(F, G) → v_aLength(v_a) → k_aRotate(B, 270°, A) → IVector(A, I) → v_cLength(v_c) → k_cCircle(H, (ku_a * ku_b / k_c)) → dIntersect(d, hc) → K, LVector(H, L) → v_hRotate(A, 90°, B) → JIf(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'Polygon(B, C, G, F) → P, b_1, c, g, fIf(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'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'Vector(G', Ca') → uIf(a < ka_1, B, If[a < ka_2, B, Point[B, Vector[((a - ka_2) / (1 - ka_2) * v_c)]]]) → B'Vector(F', B') → vPolygon(B', Ca', G', F') → Q, b', c', g', f'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'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'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'If(b < kb_1, A, If[b < kb_2, A, Point[A, Vector[((b - kb_2) / (1 - kb_2) * v_c)]]]) → A'Polygon(A, C, E, D) → R, a_1, c_1, e, d_1Polygon(A', Cb', E', D') → S, a', cb', e', d'Polygon(A, B, J, I) → T, a_2, b_2, j, iAngle(A, C, B) → αMidpoint(C, B) → MMidpoint(A, C) → NMidpoint(a_2) → U