Pythagorean Theorem Shear Proof by xlenchik
Loading the math board and drawing, please wait…
This example demonstrates the proof of Pythagoras' Theorem using shearing, visually illustrating the relationship between the sides of a right triangle. Core mathematical concepts include Pythagorean Theorem, coordinate geometry, and vector operations. Construction highlights the use of GeoGebra commands like Intersect, Point, Semicircle, Midpoint, Circle, Rotate, Line, Vector, Length, If, Polygon, and Angle. Suitable for high school mathematics instruction or student 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