GoGeometry Action 24! Dynamic Two-Squares Theorem Exploration
Loading the math board and drawing, please wait…
① This interactive GeoGebra example dynamically illustrates further phenomena of the 'Two-Squares Theorem', allowing users to drag and modify the construction to observe relationships between segments, angles, and areas formed by two squares. ② Core mathematical concepts include geometric transformations (rotation, reflection, translation), parallelogram properties, midpoints, perpendicular lines, and auxiliary circles/arcs, with a playful connection to LCM and GCD. ③ Construction highlights: using GeoGebra commands such as Ray, Segment, Circle, Intersect, Point, OrthogonalLine, Line, Polygon, Rotate, Dilate, Midpoint, CircleArc, CircleSector, Vector, Translate, Angle, and Mirror, the applet builds multiple points, lines, polygons, and circular arcs (e.g., A, B, C, D, poly1, circles, and auxiliary lines) with sliders or draggable elements for dynamic exploration. ④ Suitable for middle/high school geometry classes, math competition training, or self-directed geometric discovery, this resource helps visualize theorem proofs and transformation-based reasoning, and is ideal for teachers creating interactive lessons.
GeoGebra Commands & Parameters
Ray(A, B_2) → m_2Segment(A, B_2) → gCircle(B_2, g) → q_2Intersect(q_2, m_2, 2) → J_1Segment(B_2, J_1) → n_2Point(n_2) → K_1Segment(B_2, K_1) → r_2OrthogonalLine(K_1, r_2) → s_2Circle(K_1, r_2) → t_2Intersect(t_2, s_2, 2) → L_1Line(K_1, L_1) → h_3Polygon(A, B_2, 4) → poly1, a, b, c, d, C, DSegment(B_2, C) → hOrthogonalLine(L_1, h) → f_3Intersect(f_3, h) → M_1Line(K_1, M_1) → i_2Rotate(A, If[1 < e ≤ 2, ((-(e - 1)) * π / 2), -1.5707963267948966], B_2) → A'_1Rotate(A'_1, If[2 < e ≤ 3, ((-(e - 2)) * π / 2), -1.5707963267948966], C) → RDilate(A, If[0 < e ≤ 1, 1 - e, 0], B_2) → A'Rotate(A', If[1 < e ≤ 2, ((-(e - 1)) * π / 2), -1.5707963267948966], B_2) → A''Rotate(A'', If[2 < e ≤ 3, ((-(e - 2)) * π / 2), -1.5707963267948966], C) → A'''Segment(R, A''') → f''Intersect(i_2, f'') → V_1Dilate(M_1, If[16 < e ≤ 17, 17 - e, 0], V_1) → Z_1Segment(M_1, Z_1) → e_2Line(C, e_2) → f_4Dilate(A, If[17 < e ≤ 18, 18 - e, 0], M_1) → A'_4Midpoint(A, C) → VCircleArc(V, C, D) → g_2Point(g_2) → BSegment(C, B) → j_1Segment(A, B) → nIntersect(n, f'') → ZSegment(B, Z) → l_1Segment(A, A') → fSegment(A'_1, A'') → f'Segment(C, D) → iCircle(B_2, (0.2 * r_2)) → pSegment(D, A) → jCircle(C, Radius[p]) → kCircle(A, (0.1 * j)) → qCircle(D, (0.1 * j)) → rSegment(A, C) → lSegment(D, B_2) → mIntersect(r, j, 1) → FIntersect(r, m, 1) → GIntersect(r, i, 1) → HIntersect(k, i, 1) → IIntersect(k, l, 1) → JIntersect(k, h, 1) → KIntersect(p, h, 1) → LIntersect(p, m, 1) → MIntersect(p, g, 1) → NIntersect(q, g, 1) → OIntersect(q, l, 1) → PIntersect(q, j, 1) → QCircleSector(B_2, L, N) → sRotate(R, If[3 < e ≤ 4, ((-(e - 3)) * π / 2), -1.5707963267948966], D) → R'Rotate(A''', If[3 < e ≤ 4, ((-(e - 3)) * π / 2), -1.5707963267948966], D) → SSegment(R', S) → f'''Dilate(B_2, If[4 < e ≤ 5, 5 - e, 0], C) → B'Vector(B_2, B') → uTranslate(s, u) → s'Rotate(s', If[5 < e ≤ 6, ((e - 5) * π / 2), 1.5707963267948966], C) → s''Dilate(C, If[6 < e ≤ 7, 7 - e, 0], D) → C'Vector(C, C') → vTranslate(s'', v) → s'''Rotate(s''', If[7 < e ≤ 8, ((e - 7) * π / 2), 1.5707963267948966], D) → tDilate(D, If[8 < e ≤ 9, 9 - e, 0], A) → D'Vector(D, D') → wTranslate(t, w) → t'Rotate(t', If[9 < e ≤ 10, ((e - 9) * π / 2), 1.5707963267948966], A) → t''Dilate(B_2, If[18 < e ≤ 19, 19 - e, 0], C) → B'_1Dilate(B_2, If[18 < e ≤ 19, 19 - e, 0], A) → B'_2Dilate(B_2, If[18 < e ≤ 19, 19 - e, 0], D) → B'_3Vector(B_2, B'_1) → v_1Vector(B_2, B'_3) → w_1Vector(B_2, B'_2) → i_1Circle(A, n - j_1) → h_2Dilate(B, If[10 < e ≤ 11, 11 - e, 0], C) → W'Dilate(B_2, If[13 < e ≤ 14, 14 - e, 0], B) → B'_4Vector(B_2, B'_4) → u_1Translate(s, u_1) → s'_1Line(B, f') → a_1Point(a_1) → UAngle(U, B, C) → αRotate(B, If[14 < e ≤ 15, ((-(e - 14)) * π / 2), ((-π)) / 2], B) → W'_2Rotate(W', If[14 < e ≤ 15, ((-(e - 14)) * π / 2), ((-π)) / 2], B) → W''Line(A, B_2) → h_1Angle(B, A, D) → βDilate(D, If[19 < e ≤ 20, 20 - e, 0], B) → D'_1Mirror(C, D) → C'_1Rotate(C, ((-π)) / 3, B_2) → C'_2Segment(B_2, C'_2) → f_1Segment(C, C'_2) → g_1Intersect(k, g_1, 1) → EIntersect(k, h) → T,CircleSector(C, T, E) → d_1Rotate(D, 15°, C) → D'_2Angle(D, C, D'_2) → γRay(C, D'_2) → k_1Rotate(C, (-(15°)), D) → C'_3Angle(C'_3, D, C) → δRay(D, C'_3) → m_1Rotate(B_2, If[10 < e ≤ 11, (((-π)) / 3 * (e - 10)), ((-π)) / 3], B_2) → A_1Rotate(C, If[10 < e ≤ 11, (((-π)) / 3 * (e - 10)), ((-π)) / 3], B_2) → C'_4Rotate(B_2, If[11 < e ≤ 12, (π / 3 * (e - 11)), π / 3], C) → B_1Rotate(C, If[11 < e ≤ 12, (π / 3 * (e - 11)), π / 3], C) → C'_5Rotate(E, If[12 < e ≤ 13, (((-π)) / 6 * (e - 12)), ((-π)) / 6], C) → E'Rotate(T, 15°, C) → T'Angle(T, C, T') → εRay(C, T') → q_1Dilate(C, If[21 < e ≤ 22, 22 - e, 0], D) → C'_8Vector(C, C'_8) → u_2Rotate(B_2, If[26.75 < e ≤ 27.75, (π / 2 * (e - 26.75)), π / 2], B_2) → H_1Rotate(C'_2, If[26.75 < e ≤ 27.75, (π / 2 * (e - 26.75)), π / 2], B_2) → I_1Rotate(C, If[26.75 < e ≤ 27.75, (π / 2 * (e - 26.75)), π / 2], B_2) → C'_{10}Dilate(B_2, If[10 < e ≤ 11, 11 - e, 0], K_1) → C_1Segment(B_2, C_1) → n_1Rotate(B_2, If[11 < e ≤ 12, ((-(e - 11)) * π / 2), ((-π)) / 2], K_1) → D_1Rotate(C_1, If[11 < e ≤ 12, ((-(e - 11)) * π / 2), ((-π)) / 2], K_1) → E_1Segment(D_1, E_1) → p_1Rotate(D_1, If[12 < e ≤ 13, ((-(e - 12)) * π / 2), ((-π)) / 2], L_1) → F_1Rotate(E_1, If[12 < e ≤ 13, ((-(e - 12)) * π / 2), ((-π)) / 2], L_1) → N_1Segment(F_1, N_1) → r_1Rotate(F_1, If[13 < e ≤ 14, ((-(e - 13)) * π / 2), ((-π)) / 2], M_1) → O_1Rotate(N_1, If[13 < e ≤ 14, ((-(e - 13)) * π / 2), ((-π)) / 2], M_1) → P_1Segment(O_1, P_1) → s_1Polygon(B_2, K_1, L_1, M_1) → poly6, b_3, k_2, l_3, m_3Dilate(B_2, If[14 < e ≤ 15, 15 - e, 0], K_1) → Q_1Vector(B_2, Q_1) → c_1Translate(s, c_1) → s'_2Segment(C, K_1) → e_1Line(A, M_1) → t_1Intersect(t_1, e_1) → R_1Segment(A, R_1) → f_2Dilate(C, If[15 < e ≤ 16, 16 - e, 0], K_1) → C'_6Dilate(A, If[16 < e ≤ 17, 17 - e, 0], M_1) → A'_3Dilate(M_1, If[17 < e ≤ 18, 18 - e, 0], R_1) → S_1Line(R_1, p_1) → g_3Point(g_3) → U_1Angle(U_1, R_1, K_1) → ζPolygon(A, B_2, C, D) → poly7, a_4, b_4, c_4, d_4Dilate(K_1, If[15 < e ≤ 16, 16 - e, 0], M_1) → W_1Segment(K_1, W_1) → p_2Line(A, K_1) → k_3Dilate(A, If[20 < e ≤ 21, 21 - e, 0], V_1) → A'_5Segment(A, A'_5) → s_3Ray(M_1, V_1) → j_3Circle(V_1, 1) → e_3Intersect(e_3, j_3, 2) → T_1Ray(V_1, T_1) → n_3Circle(V_1, (0.2 * r_2)) → p_3Intersect(p_3, n_3, 1) → A_2Intersect(p_3, f'', 2) → C_2Intersect(f_4, h_3) → H_2Dilate(C, If[17 < e ≤ 18, 18 - e, 0], H_2) → C'_7Segment(C, C'_7) → q_3Angle(A_2, V_1, C_2) → ηRotate(C_2, If[17 < e ≤ 18, ((-(e - 17)) * π / 4), ((-π)) / 4], V_1) → D_2CircleSector(V_1, D_2, C_2) → r_3Dilate(V_1, If[18 < e ≤ 19, 19 - e, 0], C) → E_2Vector(V_1, E_2) → v_2Translate(r_3, v_2) → t_3Rotate(t_3, If[19 < e ≤ 20, (((-(e - 19)) * 5) * π / 4), (-5 * π / 4)], C) → e_4Dilate(V_1, If[21 < e ≤ 22, 22 - e, 0], H_2) → F_2Segment(V_1, F_2) → g_4Rotate(A, If[22 < e ≤ 23, ((e - 22) * π / 2), π / 2], V_1) → A'_2Rotate(A'_5, If[22 < e ≤ 23, ((e - 22) * π / 2), π / 2], V_1) → WSegment(A'_2, W) → b_1Line(V_1, s_1) → j_2Dilate(B_2, If[23 < e ≤ 24, 24 - e, 0], V_1) → G_1Vector(B_2, G_1) → w_2Translate(s, w_2) → s'_3Intersect(t, f'', 1) → G_2Angle(G_2, V_1, H_2) → θRotate(s'_3, If[23 < e ≤ 24, ((e - 23) * θ), θ], G_1) → c_2Dilate(A, If[24 < e ≤ 25, 25 - e, 0], H_2) → A'_6Segment(A, A'_6) → l_2Dilate(V_1, If[25 < e ≤ 26, 26 - e, 0], A) → I_2Vector(V_1, I_2) → a_2Translate(r_3, a_2) → d_2Line(A, V_1) → b_2Line(V_1, l_2) → a_3Point(n_3) → J_2Point(a_3) → K_2Angle(K_2, V_1, J_2) → κRotate(d_2, If[26 < e ≤ 27, ((-(e - 26)) * κ), (-κ)], A) → d_3Dilate(L_1, If[17 < e ≤ 18, 18 - e, 0], H_2) → L_2Segment(L_1, L_2) → i_3Segment(K_1, H_2) → c_3
AI Drawing Prompt Reference
Draw two dynamic square figures to illustrate their geometric relationships. Include transformations like rotation, reflection, and translation, along with parallelogram properties, midpoints, perpendicular lines, and auxiliary circles/arcs. Use sliders or draggable elements to dynamically observe the relationships between segments, angles, and areas, connecting to LCM and GCD. The figure should contain multiple points, lines, polygons, and circular arcs for exploring theorem proofs and transformation-based reasoning.
The prompt above was compiled from the original drawing commands and is for reference only.