Dynamic Quadrilateral Problem
Loading the math board and drawing, please wait…
This is a dynamic and modifiable quadrilateral problem example proposed by Antonio Gutierrez on Twitter. The example illustrates the geometric relationships among four squares. Key mathematical concepts include rotation, sine function, and rhombus. It is constructed using GeoGebra commands such as Ray, Distance, Circle, Intersect, etc. Suitable for middle school and above students to learn about geometric transformations and related concepts.
GeoGebra Commands & Parameters
Ray(C, B) → d_4Distance(C, B) → o_2Circle(C, (0.24 * o_2)) → c_4Intersect(c_4, d_4, 1) → U_2Line(C, A) → mSegment(C, A) → i_2Line(D, C) → lLine(D, B) → a_4Line(A, B) → jSegment(B, D) → a_1Segment(C, B) → fMidpoint(f) → ESegment(C, E) → gPoint(Segment[C, U_2]) → FOrthogonalLine(F, m) → pIntersect(m, p) → JLine(J, l) → s_1Segment(J, F) → e_1Intersect(e_1, i_2) → WLine(W, F) → m_4Rotate(F, (-(45°)), A) → F'Line(A, F') → iIntersect(i, f) → GDilate(B, If[6 < o ≤ 7, 7 - o, 0], G) → B'Vector(B, B') → v_1Translate(G, v_1) → G'_3OrthogonalLine(G, j) → qIntersect(j, q) → IOrthogonalLine(I, j) → p_1Intersect(p_1, s_1) → QSegment(Q, G) → p_2Intersect(m_4, p_2) → P_1Vector(C, F) → w_1Translate(J, w_1) → J'_1Translate(F, w_1) → F'_3Segment(J'_1, F'_3) → n_3Intersect(s_3, n_3) → SIntersect(q_4, a_4) → C_1Intersect(t_3, a_3) → TIntersect(p_4, p_2) → F_1Circle(C_1, Max[Distance[T, F_1], Distance[F_1, P_1]]) → h_4Intersect(p_4, l_5) → W_1Intersect(a_1, p_4) → G_1Intersect(h_4, p_4, 2) → K_1Line(F, A) → hAngle(F', A, F) → αLine(B, D) → kOrthogonalLine(F, l) → nOrthogonalLine(G, k) → rIntersect(k, r) → HIntersect(n, l) → KSegment(F, A) → sSegment(A, G) → tSegment(F, G) → bCircle(G, b / sqrt(2)) → cIntersect(c, r, 2) → MSegment(G, H) → g_1Polygon(J, F, K, C) → q1, j_2, f_1, k_1, c_1Polygon(I, B, H, G) → q2, i_1, b_1, h_1, g_2Segment(F, M) → m_1Segment(M, G) → n_1Vector(B, G) → uPolygon(M, G, Q, F) → q3, m_2, g_3, q_1, f_2Line(A, G) → eSemicircle(F, G) → d_1Circle(F, C) → r_1Intersect(d_1, r_1, 1) → LSegment(L, G) → l_1Segment(G, B) → t_1Segment(A, B) → dSegment(D, C) → h_2Polygon(J, A, I, G, M, F) → poly1, j_1, a_2, i_3, g_4, m_3, f_3Polygon(K, F, Q, G, H, D) → poly2, k_2, f_4, q_2, g_5, h_3, d_2Segment(F, K) → l_2Segment(F, Q) → n_2Segment(F, M) → r_2Segment(M, G) → s_2Segment(G, I) → t_2Segment(F, L) → b_2Segment(L, G) → c_2Min(b_2, c_2) → vCircle(D, (0.25 * v)) → e_2Intersect(e_2, h_2, 1) → ORotate(K, (-(45°)), C) → K'Circle(C, (0.3 * v)) → c_3Intersect(c_3, h_2) → P,Dilate(C, If[0 < o ≤ 1, 1 - o, 0], F) → C'Segment(C, C') → j_3Rotate(P, If[0 < o ≤ 1, ((-o) * π / 4), ((-π)) / 4], C) → P'CircleSector(C, P', P) → d_3Rotate(d_3, If[2 < o ≤ 3, ((-(o - 2)) * π / 4), ((-π)) / 4], C) → e_3Line(C, s) → k_3Intersect(c_3, k_3, 1) → RAngle(F, C, R) → βDilate(C, If[4 < o ≤ 5, 5 - o, 0], A) → C'_1Vector(C, C'_1) → wTranslate(e_3, w) → p_3Rotate(p_3, If[4 < o ≤ 5, ((o - 4) * β), β], C'_1) → q_3Angle(L, F, C) → εDilate(G, If[8 < o ≤ 9, 9 - o, 0], B) → G'Rotate(C, If[9 < o ≤ 10, ((-(o - 9)) * ε), (-ε)], F) → C'_2Angle(B, G, L) → ζRotate(G, If[10 < o ≤ 11, ((o - 10) * ζ), ζ], G) → G'_1Rotate(G', If[10 < o ≤ 11, ((o - 10) * ζ), ζ], G) → G''Rotate(O, If[11 < o ≤ 12, ((o - 11) * π / 2), π / 2], D) → O'Dilate(D, If[13 < o ≤ 14, 14 - o, 0], L) → D'Vector(D, D') → u_1Line(C, B) → j_4Intersect(t_2, d) → VRotate(J, If[5 < o ≤ 6, ((o - 5) * π), π], F) → J'Rotate(F, If[5 < o ≤ 6, ((o - 5) * π), π], F) → F'_1Rotate(K, If[5 < o ≤ 6, ((o - 5) * π), π], F) → K'_1Rotate(C, If[5 < o ≤ 6, ((o - 5) * π), π], F) → C'_3Polygon(J', F'_1, K'_1, C'_3) → q1', j', f'_1, k'_1, c'_3Circle(F, Distance[C, W]) → r_3Translate(I, v_1) → I'Translate(B, v_1) → B'_1Translate(H, v_1) → H'Translate(G, v_1) → G'_2Polygon(I', B'_1, H', G'_2) → q2', i', b'_1, h', g'_2Intersect(h_2, k_2) → NTranslate(K, w_1) → K'_2Translate(F, w_1) → F'_2Segment(K'_2, F'_2) → l_3Dilate(G'_3, If[7 < o ≤ 8, 8 - o, 0], T) → UDilate(G'_3, If[7 < o ≤ 8, 8 - o, 0], S) → ZSegment(G'_3, U) → b_3Segment(G'_3, Z) → i_4Dilate(F'_3, If[7 < o ≤ 8, 8 - o, 0], S) → A_1Dilate(F'_3, If[7 < o ≤ 8, 8 - o, 0], T) → B_1Segment(F'_2, B_1) → k_4Segment(F'_2, A_1) → l_4Polygon(S, F'_2, T, G'_3) → q4, s_4, f'_2, t_4, g'_3Polygon(J'_1, S, G'_3, T, K'_2, F) → poly3, j'_1, s_5, g'_1, t_5, k'_2, f_5Line(N, F) → n_4Circle(F, Distance[C, N]) → e_4Intersect(h_4, a_4) → V_1, I_1Dilate(W_1, If[9 < o ≤ 10, 10 - o, 0], V_1) → S'Vector(W_1, S') → u_2Translate(S, u_2) → S'_1Translate(F'_2, u_2) → D_1Translate(T, u_2) → T'Translate(G'_3, u_2) → E_1Polygon(S'_1, D_1, T', E_1) → q4', s'_1, d_5, t', e_5Translate(F'_3, u_2) → J_1Translate(T, u_2) → T'_1Translate(S, u_2) → S'_2Circle(V_1, Max[Distance[T, F_1], Distance[F_1, P_1]]) → c_5Intersect(c_5, b_4, 2) → M_1Dilate(T'_1, If[11 < o ≤ 12, 12 - o, 0], M_1) → N_1Vector(T'_1, N_1) → w_2Translate(J_1, w_2) → O_1Polygon(V_1, N_1, O_1, S'_2) → q5, v_2, n_5, o_1, s'_2Line(S'_2, O_1) → h_5OrthogonalLine(V_1, h_5) → i_5Intersect(h_5, i_5) → L_1Midpoint(V_1, L_1) → Q_1OrthogonalLine(M_1, h_5) → j_5Intersect(j_5, h_5) → R_1Dilate(S'_2, If[13 < o ≤ 14, 14 - o, 0], L_1) → S_1Vector(S'_2, S_1) → u_3Translate(O_1, u_3) → T_1Polygon(T_1, M_1, V_1, S_1) → q6, t_6, m_5, v_3, s_6Midpoint(R_1, M_1) → U_1Polygon(L_1, R_1, U_1, Q_1) → q7, l_6, r_5, u_4, q_5Polygon(Q_1, U_1, M_1, V_1) → q8, q_6, u_5, m_6, v_4Dilate(Q_1, If[16 < o ≤ 17, 17 - o, 0], S) → H_1Vector(Q_1, H_1) → w_3Translate(L_1, w_3) → Z_1Translate(R_1, w_3) → A_2Translate(U_1, w_3) → B_2Translate(Q_1, w_3) → C_2Polygon(Z_1, A_2, B_2, C_2) → q7', z_1, a_5, b_5, c_6Line(Z_1, r_2) → k_5Point(k_5) → D_2Angle(D_2, Z_1, A_2) → γRotate(Z_1, If[16 < o ≤ 17, ((-(o - 16)) * γ), (-γ)], C_2) → E_2Rotate(A_2, If[16 < o ≤ 17, ((-(o - 16)) * γ), (-γ)], C_2) → F_2Rotate(B_2, If[16 < o ≤ 17, ((-(o - 16)) * γ), (-γ)], C_2) → G_2Rotate(C_2, If[16 < o ≤ 17, ((-(o - 16)) * γ), (-γ)], C_2) → H_2Polygon(E_2, F_2, G_2, H_2) → q7'', e_6, f_6, g_6, h_6Dilate(Q_1, If[15 < o ≤ 16, 16 - o, 0], U_1) → I_2Segment(Q_1, I_2) → p_5Dilate(V_1, If[17 < o ≤ 18, 18 - o, 0], F_1) → J_2Vector(V_1, J_2) → w_4Translate(Q_1, w_4) → K_2Translate(U_1, w_4) → L_2Translate(M_1, w_4) → M_2Translate(V_1, w_4) → N_2Polygon(K_2, L_2, M_2, N_2) → q8', k_6, l_7, m_7, n_6Line(M_2, J_2) → i_6Line(J_2, K_2) → j_6Point(j_6) → O_2Point(p_6) → P_2Angle(P_2, K_2, O_2) → δRotate(K_2, If[17 < o ≤ 18, ((-(o - 17)) * δ), (-δ)], J_2) → Q_2Rotate(L_2, If[17 < o ≤ 18, ((-(o - 17)) * δ), (-δ)], J_2) → R_2Rotate(M_2, If[17 < o ≤ 18, ((-(o - 17)) * δ), (-δ)], J_2) → S_2Rotate(N_2, If[17 < o ≤ 18, ((-(o - 17)) * δ), (-δ)], J_2) → T_2Polygon(Q_2, R_2, S_2, T_2) → q8'', q_7, r_6, s_7, t_7