Discovering Pythagoras' Theorem by Area
Loading the math board and drawing, please wait…
This example demonstrates Pythagoras' theorem by finding the areas of slanted squares on a grid. Core math concepts include Pythagorean theorem, area calculation, geometric transformations, and ratios. Construction highlights the use of GeoGebra commands and objects like Sequence, Union, Point, If, Translate, OrthogonalLine, Segment, Midpoint, Intersect, Ray, Circle, PointIn, Polygon, Defined, Mirror, Textfield, Vector, and Angle. Suitable for middle school and above to understand visual proofs and geometric applications of the theorem.
GeoGebra Commands & Parameters
Sequence((i, 0), i, 0, 20) → L0Sequence((i, 1), i, 0, 20) → L1Sequence((i, 2), i, 0, 20) → L2Sequence((i, 3), i, 0, 20) → L3Sequence((i, 4), i, 0, 20) → L4Sequence((i, 5), i, 0, 20) → L5Sequence((i, 6), i, 0, 20) → L6Sequence((i, 7), i, 0, 20) → L7Sequence((i, 8), i, 0, 20) → L8Sequence((i, 9), i, 0, 20) → L9Sequence((i, 10), i, 0, 20) → L10Sequence((i, 11), i, 0, 20) → L11Sequence((i, 12), i, 0, 20) → L12Sequence((i, 13), i, 0, 20) → L13Sequence((i, 14), i, 0, 20) → L14Sequence((i, 15), i, 0, 20) → L15Sequence((i, 16), i, 0, 20) → L16Sequence((i, 17), i, 0, 20) → L17Sequence((i, 18), i, 0, 20) → L18Sequence((i, 19), i, 0, 20) → L19Sequence((i, 20), i, 0, 20) → L20Union(L1, Union[L2, Union[L3, Union[L4, Union[L5, Union[L6, Union[L7, Union[L8, Union[L9, Union[L10, Union[L11, Union[L12, Union[L13, Union[L14, Union[L15, Union[L16, Union[L17, Union[L18, Union[L19, Union[L20, L0]]]]]]]]]]]]]]]]]]]) → L'Point(L') → B'Point(L') → A'If(a' * b' ≥ 0, a, b) → x1If(a' * b' ≥ 0, b, a) → y1Translate(Midpoint[A, B], Vector[(0, 0), (0, 1)]) → JOrthogonalLine(J, yAxis) → cSegment(B, A) → dMidpoint(A, B) → IOrthogonalLine(I, d) → eIntersect(c, e) → KRay(I, K) → fCircle(I, A) → gIntersect(g, f, 1) → OPointIn(Polygon[E, (x(E), y(E) + x1), (x(E) - y1, y(E) + x1), (x(E) - y1, y(E))]) → PPolygon(P, (x(P), y(P) + y1), (x(P) - x1, y(P))) → poly2, j, p, kTranslate(poly2, z') → poly2_1PointIn(Polygon[F, (x(F) - x1, y(F)), (x(F) - x1, y(F) - y1), (x(F), y(F) - y1)]) → QPolygon(Q, (x(Q) - y1, y(Q)), (x(Q), y(Q) - x1)) → poly1, h, q, iTranslate(poly1, z') → poly1_1Defined(IntersectRegion[poly1_1, poly2_1]) → overlapPQPointIn(Polygon[G, (x(G), y(G) - x1), (x(G) + y1, y(G) - x1), (x(G) + y1, y(G))]) → RPolygon(R, (x(R), y(R) - y1), (x(R) + x1, y(R))) → poly3, l, r_1, mTranslate(poly3, z') → poly3_1Defined(IntersectRegion[poly3_1, poly1_1]) → overlapQRDefined(IntersectRegion[poly3_1, poly2_1]) → overlapPRPointIn(Polygon[H, (x(H) + x1, y(H)), (x(H) + x1, y(H) + y1), (x(H), y(H) + y1)]) → SPolygon(S, (x(S) + y1, y(S)), (x(S), y(S) + x1)) → poly4, n, s, rTranslate(poly4, z') → poly4_1Defined(IntersectRegion[poly4_1, poly3_1]) → overlapRSDefined(IntersectRegion[poly4_1, poly1_1]) → overlapQSDefined(IntersectRegion[poly4_1, poly2_1]) → overlapPSMirror((x(A), y(A)), O) → CMirror((x(B), y(B)), O) → DPolygon(E, F, G, H) → poly5, e_1, f_1, g_1, h_1Polygon(A, B, C, D) → poly6, t, a_1, b_1, c_1Segment((x(R), y(R)), (x(R), y(R) + x1)) → d1Segment((x(Q), y(Q)), (x(Q) + x1, y(Q))) → d2Segment((x(P), y(P)), (x(P), y(P) - x1)) → d3Segment((x(S), y(S)), (x(S) - x1, y(S))) → d4Segment((x(Q), y(Q)), (x(Q) - a - b, y(Q))) → d5Segment((x(S), y(S)), (x(S) + a + b, y(S))) → d6Segment((x(R), y(R)), (x(R), y(R) - a - b)) → d7Segment((x(P), y(P)), (x(P), y(P) + a + b)) → d8Sequence(Segment[(i, y(E)), (i, y(F))], i, x(H), x(E)) → list1Sequence(Segment[(x(H), j), (x(E), j)], j, y(E), y(F)) → list2Textfield(Ar) → inputBox1Midpoint(A, E) → LMidpoint(B, E) → MMidpoint(A, H) → NMidpoint(B, H) → TMidpoint(A', B') → I'Circle(I', A') → g'Segment(B', A') → d'OrthogonalLine(I', d') → e'Translate(Midpoint[A', B'], Vector[(0, 0), (0, 1)]) → J'OrthogonalLine(J', yAxis) → c'Intersect(c', e') → K'Ray(I', K') → f'Intersect(g', f', 1) → O'Sequence(Segment[(i, y(E')), (i, y(F'))], i, x(H'), x(E')) → list3Sequence(Segment[(x(H'), j), (x(E'), j)], j, y(E'), y(F')) → list4Mirror((x(A'), y(A')), O') → C'Mirror((x(B'), y(B')), O') → D'Polygon(E', (x(E'), y(E') + y1), (x(E') - x1, y(E'))) → poly1', d_1, e'_1, i_1Polygon(F', (x(F') - y1, y(F')), (x(F'), y(F') - x1)) → poly2', j_1, f'_1, k_1Polygon(G', (x(G'), y(G') - y1), (x(G') + x1, y(G'))) → poly3', l_1, g'_1, m_1Polygon(H', (x(H') + y1, y(H')), (x(H'), y(H') + x1)) → poly4', n_1, h', p_1Polygon(A', B', C', D') → poly6', a'_1, b'_1, c'_1, d'_1Vector(A', E') → uVector(E', A') → vVector(B', E') → wVector(E', B') → zMidpoint(e'_1) → C_1Midpoint(f'_1) → D_1Midpoint(g'_1) → E_1Midpoint(h') → F_1Midpoint(p) → G_1Midpoint(q) → H_1Midpoint(r_1) → I_1Midpoint(s) → J_1Segment(E, F) → q_1Segment(F, G) → s_1Segment(G, H) → t_1Segment(H, E) → a_2Angle((x(E') - x1, y(E')), E', (x(E'), y(E') + y1)) → αAngle((x(P) - x1, y(P)), P, (x(P), y(P) + y1)) → α'Angle((x(F') - y1, y(F')), F', (x(F'), y(F') - x1)) → βAngle((x(Q) - y1, y(Q)), Q, (x(Q), y(Q) - x1)) → β'Angle((x(G'), y(G') - y1), G', (x(G') + x1, y(G'))) → γAngle((x(R), y(R) - y1), R, (x(R) + x1, y(R))) → γ'Angle((x(S), y(S) + x1), S, (x(S) + y1, y(S))) → δ'Angle((x(H'), y(H') + x1), H', (x(H') + y1, y(H'))) → δIf(show1 ∨ show9 ∨ show6, Midpoint[F, (x(F) - a, y(F) - a)], If[show10 ∨ show4 ∨ show8, Midpoint[G, (x(G) + a, y(G) - a)], If[show3 ∨ show5 ∨ show11, Midpoint[H, (x(H) + a, y(H) + a)], If[show2 ∨ show12 ∨ show7, Midpoint[E, (x(E) - a, y(E) + a)]]]]) → K_1If(show5 ∨ show12 ∨ show1, Midpoint[G, (x(G) + b, y(G) - b)], If[show2 ∨ show11 ∨ show8, Midpoint[F, (x(F) - b, y(F) - b)], If[show3 ∨ show10 ∨ show6, Midpoint[E, (x(E) - b, y(E) + b)], If[show9 ∨ show4 ∨ show7, Midpoint[H, (x(H) + b, y(H) + b)]]]]) → K_2Midpoint(E', G') → L_1Midpoint(E, G) → M_1
AI Drawing Prompt Reference
Draw a grid with 20 horizontal and 20 vertical lines intersecting at points to form a 20x20 square. Inside this square, create four tilted squares in each corner and calculate their areas. Use geometric transformations and auxiliary lines to demonstrate that the sum of the areas of these tilted squares equals the combined areas of two larger squares inside the main square, thereby proving the Pythagorean theorem.
The prompt above was compiled from the original drawing commands and is for reference only.