Discovering Pythagoras' Theorem via Slanted Square Areas on Grid
Loading the math board and drawing, please wait…
This example demonstrates the discovery of Pythagoras' theorem by calculating the areas of slanted squares on a grid. It involves core math concepts like area, geometry, Pythagorean theorem, squares, polynomial functions, line segments, random variables, perimeter, and numbers. The construction utilizes GeoGebra commands such as 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, it provides an intuitive understanding 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 multiple parallel lines on a grid and select points from these lines to form several squares. Calculate the areas of these squares to demonstrate the Pythagorean theorem. Start by drawing a right-angled triangle and constructing squares on each of its sides. Calculate the area of each square. Then, translate the triangle along the grid lines and observe the relationship between the translated squares and the original ones, ultimately demonstrating the validity of the Pythagorean theorem through the graphics.
The prompt above was compiled from the original drawing commands and is for reference only.