Repeated Line Symmetries: Building a Chain via Mirror Reflections
Loading the math board and drawing, please wait…
This example demonstrates how to repeatedly apply line reflection (mirror) transformations to generate a sequence of images of points, lines, circles, and polygons, revealing a consistent chain of symmetries. The key mathematical ideas include reflection symmetry (axis/line symmetry), invariance under rigid transformations (distances/angles preserved), and construction geometry based on intersection relationships. Construction-wise, GeoGebra uses core commands such as Mirror to create multiple reflected copies of existing objects, while Intersect computes the new points formed from intersections of lines and circles (and line-line intersections). Starting from base geometric elements—Points, Lines, Circles, and initial Polygons (e.g., poly1/poly2)—the construction iteratively produces mirrored variants (e.g., poly1', poly1'', etc.) and assembles them into the final repeated-symmetry configuration. Suitable for advanced secondary students and early university learners, especially for geometry-construction lessons and competition-style transformation exercises.
GeoGebra Commands & Parameters
Intersect(xAxis, yAxis) → APoint(yAxis) → BCircle(A, B) → cLine(A, C) → aLine(A, D) → bPolygon(E, F, G) → poly1, g, e, fMirror(E, a) → E'Mirror(F, a) → F'Mirror(G, a) → G'Polygon(E', F', G') → poly1', g', e', f'Mirror(E', b) → E''Mirror(F', b) → F''Mirror(G', b) → G''Polygon(E'', F'', G'') → poly1'', g'', e'', f''Mirror(E'', a) → E'''Mirror(F'', a) → F'''Mirror(G'', a) → G'''Polygon(E''', F''', G''') → poly1''', g''', e''', f'''Mirror(E''', b) → HMirror(F''', b) → IMirror(G''', b) → JPolygon(H, I, J) → poly2, j, h, iMirror(H, a) → H'Mirror(I, a) → I'Mirror(J, a) → J'Polygon(H', I', J') → poly2', j', h', i'Mirror(H', b) → H''Mirror(I', b) → I''Mirror(J', b) → J''Polygon(H'', I'', J'') → poly2'', j'', h'', i''Mirror(H'', a) → H'''Mirror(I'', a) → I'''Mirror(J'', a) → J'''Polygon(H''', I''', J''') → poly2''', j''', h''', i'''Mirror(E, b) → E'_1Mirror(F, b) → F'_1Mirror(G, b) → G'_1Polygon(E'_1, F'_1, G'_1) → poly1'_1, g'_1, e'_1, f'_1Mirror(H''', b) → KMirror(I''', b) → LMirror(J''', b) → MPolygon(K, L, M) → poly3, m, k, lMirror(E'_1, a) → NMirror(F'_1, a) → OMirror(G'_1, a) → PPolygon(N, O, P) → poly4, p, n, oMirror(K, a) → K'Mirror(L, a) → L'Mirror(M, a) → M'Polygon(K', L', M') → poly3', m', k', l'Mirror(K', b) → K''Mirror(L', b) → L''Mirror(M', b) → M''Polygon(K'', L'', M'') → poly3'', m'', k'', l''Mirror(N, b) → N'Mirror(O, b) → O'Mirror(P, b) → P'Polygon(N', O', P') → poly4', p', n', o'Mirror(K'', a) → K'''Mirror(L'', a) → L'''Mirror(M'', a) → M'''Polygon(K''', L''', M''') → poly3''', m''', k''', l'''Mirror(N', a) → N''Mirror(O', a) → O''Mirror(P', a) → P''Polygon(N'', O'', P'') → poly4'', p'', n'', o''Mirror(K''', b) → QMirror(L''', b) → RMirror(M''', b) → SPolygon(Q, R, S) → poly5, s, q, rMirror(N'', b) → N'''Mirror(O'', b) → O'''Mirror(P'', b) → P'''Polygon(N''', O''', P''') → poly4''', p''', n''', o'''Mirror(Q, a) → Q'Mirror(R, a) → R'Mirror(S, a) → S'Polygon(Q', R', S') → poly5', s', q', r'Mirror(N''', a) → TMirror(O''', a) → UMirror(P''', a) → VPolygon(T, U, V) → poly6, v, t, uMirror(T, b) → T'Mirror(U, b) → U'Mirror(V, b) → V'Polygon(T', U', V') → poly6', v', t', u'Mirror(Q', b) → Q''Mirror(R', b) → R''Mirror(S', b) → S''Polygon(Q'', R'', S'') → poly5'', s'', q'', r''Mirror(T', a) → T''Mirror(U', a) → U''Mirror(V', a) → V''Polygon(T'', U'', V'') → poly6'', v'', t'', u''Mirror(Q'', a) → Q'''Mirror(R'', a) → R'''Mirror(S'', a) → S'''Polygon(Q''', R''', S''') → poly5''', s''', q''', r'''Mirror(T'', b) → T'''Mirror(U'', b) → U'''Mirror(V'', b) → V'''Polygon(T''', U''', V''') → poly6''', v''', t''', u'''Mirror(T''', a) → WMirror(U''', a) → ZMirror(V''', a) → A_1Polygon(W, Z, A_1) → poly7, a_1, w, zMirror(Q''', b) → B_1Mirror(R''', b) → C_1Mirror(S''', b) → D_1Polygon(B_1, C_1, D_1) → poly8, d_1, b_1, c_1Mirror(B_1, a) → E_1Mirror(C_1, a) → F_1Mirror(D_1, a) → G_1Polygon(E_1, F_1, G_1) → poly8', g_1, e_1, f_1Mirror(E_1, b) → H_1Mirror(F_1, b) → I_1Mirror(G_1, b) → J_1Polygon(H_1, I_1, J_1) → poly8'', j_1, h_1, i_1Mirror(H_1, a) → K_1Mirror(I_1, a) → L_1Mirror(J_1, a) → M_1Polygon(K_1, L_1, M_1) → poly8''', m_1, k_1, l_1Mirror(K_1, b) → N_1Mirror(L_1, b) → O_1Mirror(M_1, b) → P_1Polygon(N_1, O_1, P_1) → poly9, p_1, n_1, o_1Mirror(N_1, a) → Q_1Mirror(O_1, a) → R_1Mirror(P_1, a) → S_1Polygon(Q_1, R_1, S_1) → poly9', s_1, q_1, r_1Mirror(Q_1, b) → T_1Mirror(R_1, b) → U_1Mirror(S_1, b) → V_1Polygon(T_1, U_1, V_1) → poly9'', v_1, t_1, u_1Mirror(W, b) → W'Mirror(Z, b) → Z'Mirror(A_1, b) → W_1Polygon(W', Z', W_1) → poly7', w_1, w', z'Mirror(T_1, a) → Z_1Mirror(U_1, a) → A_2Mirror(V_1, a) → B_2Polygon(Z_1, A_2, B_2) → poly9''', b_2, z_1, a_2Mirror(W', a) → W''Mirror(Z', a) → Z''Mirror(W_1, a) → C_2Polygon(W'', Z'', C_2) → poly7'', c_2, w'', z''Mirror(W'', b) → W'''Mirror(Z'', b) → Z'''Mirror(C_2, b) → D_2Polygon(W''', Z''', D_2) → poly7''', d_2, w''', z'''Mirror(Z_1, b) → E_2Mirror(A_2, b) → F_2Mirror(B_2, b) → G_2Polygon(E_2, F_2, G_2) → poly10, g_2, e_2, f_2Mirror(W''', a) → H_2Mirror(Z''', a) → I_2Mirror(D_2, a) → J_2Polygon(H_2, I_2, J_2) → poly11, j_2, h_2, i_2Mirror(E_2, a) → K_2Mirror(F_2, a) → L_2Mirror(G_2, a) → M_2Polygon(K_2, L_2, M_2) → poly10', m_2, k_2, l_2Mirror(K_2, b) → N_2Mirror(L_2, b) → O_2Mirror(M_2, b) → P_2Polygon(N_2, O_2, P_2) → poly10'', p_2, n_2, o_2Mirror(N_2, a) → Q_2Mirror(O_2, a) → R_2Mirror(P_2, a) → S_2Polygon(Q_2, R_2, S_2) → poly10''', s_2, q_2, r_2Mirror(Q_2, b) → T_2Mirror(R_2, b) → U_2Mirror(S_2, b) → V_2Polygon(T_2, U_2, V_2) → poly12, v_2, t_2, u_2Mirror(T_2, a) → W_2Mirror(U_2, a) → Z_2Mirror(V_2, a) → A_3Polygon(W_2, Z_2, A_3) → poly12', a_3, w_2, z_2Mirror(W_2, b) → B_3Mirror(Z_2, b) → C_3Mirror(A_3, b) → D_3Polygon(B_3, C_3, D_3) → poly12'', d_3, b_3, c_3Mirror(B_3, a) → E_3Mirror(C_3, a) → F_3Mirror(D_3, a) → G_3Polygon(E_3, F_3, G_3) → poly12''', g_3, e_3, f_3Mirror(E_3, b) → H_3Mirror(F_3, b) → I_3Mirror(G_3, b) → J_3Polygon(H_3, I_3, J_3) → poly13, j_3, h_3, i_3Mirror(H_3, a) → K_3Mirror(I_3, a) → L_3Mirror(J_3, a) → M_3Polygon(K_3, L_3, M_3) → poly13', m_3, k_3, l_3Mirror(K_3, b) → N_3Mirror(L_3, b) → O_3Mirror(M_3, b) → P_3Polygon(N_3, O_3, P_3) → poly13'', p_3, n_3, o_3Mirror(N_3, a) → Q_3Mirror(O_3, a) → R_3Mirror(P_3, a) → S_3Polygon(Q_3, R_3, S_3) → poly13''', s_3, q_3, r_3Mirror(Q_3, b) → T_3Mirror(R_3, b) → U_3Mirror(S_3, b) → V_3Polygon(T_3, U_3, V_3) → poly14, v_3, t_3, u_3Mirror(T_3, a) → W_3Mirror(U_3, a) → Z_3Mirror(V_3, a) → A_4Polygon(W_3, Z_3, A_4) → poly14', a_4, w_3, z_3Mirror(W_3, b) → B_4Mirror(Z_3, b) → C_4Mirror(A_4, b) → D_4Polygon(B_4, C_4, D_4) → poly14'', d_4, b_4, c_4Mirror(B_4, a) → E_4Mirror(C_4, a) → F_4Mirror(D_4, a) → G_4Polygon(E_4, F_4, G_4) → poly14''', g_4, e_4, f_4Mirror(E_4, b) → H_4Mirror(F_4, b) → I_4Mirror(G_4, b) → J_4Polygon(H_4, I_4, J_4) → poly15, j_4, h_4, i_4Mirror(H_4, a) → K_4Mirror(I_4, a) → L_4Mirror(J_4, a) → M_4Polygon(K_4, L_4, M_4) → poly15', m_4, k_4, l_4Mirror(K_4, b) → N_4Mirror(L_4, b) → O_4Mirror(M_4, b) → P_4Polygon(N_4, O_4, P_4) → poly15'', p_4, n_4, o_4Mirror(N_4, a) → Q_4Mirror(O_4, a) → R_4Mirror(P_4, a) → S_4Polygon(Q_4, R_4, S_4) → poly15''', s_4, q_4, r_4Mirror(Q_4, b) → T_4Mirror(R_4, b) → U_4Mirror(S_4, b) → V_4Polygon(T_4, U_4, V_4) → poly16, v_4, t_4, u_4Mirror(T_4, a) → W_4Mirror(U_4, a) → Z_4Mirror(V_4, a) → A_5Polygon(W_4, Z_4, A_5) → poly16', a_5, w_4, z_4Mirror(W_4, b) → B_5Mirror(Z_4, b) → C_5Mirror(A_5, b) → D_5Polygon(B_5, C_5, D_5) → poly16'', d_5, b_5, c_5Mirror(B_5, a) → E_5Mirror(C_5, a) → F_5Mirror(D_5, a) → G_5Polygon(E_5, F_5, G_5) → poly16''', g_5, e_5, f_5Mirror(E_5, b) → H_5Mirror(F_5, b) → I_5Mirror(G_5, b) → J_5Polygon(H_5, I_5, J_5) → poly17, j_5, h_5, i_5Mirror(H_5, a) → K_5Mirror(I_5, a) → L_5Mirror(J_5, a) → M_5Polygon(K_5, L_5, M_5) → poly17', m_5, k_5, l_5Mirror(K_5, b) → N_5Mirror(L_5, b) → O_5Mirror(M_5, b) → P_5Polygon(N_5, O_5, P_5) → poly17'', p_5, n_5, o_5Mirror(N_5, a) → Q_5Mirror(O_5, a) → R_5Mirror(P_5, a) → S_5Polygon(Q_5, R_5, S_5) → poly17''', s_5, q_5, r_5Mirror(Q_5, b) → T_5Mirror(R_5, b) → U_5Mirror(S_5, b) → V_5Polygon(T_5, U_5, V_5) → poly18, v_5, t_5, u_5Mirror(T_5, a) → W_5Mirror(U_5, a) → Z_5Mirror(V_5, a) → A_6Polygon(W_5, Z_5, A_6) → poly18', a_6, w_5, z_5Mirror(W_5, b) → B_6Mirror(Z_5, b) → C_6Mirror(A_6, b) → D_6Polygon(B_6, C_6, D_6) → poly18'', d_6, b_6, c_6Mirror(B_6, a) → E_6Mirror(C_6, a) → F_6Mirror(D_6, a) → G_6Polygon(E_6, F_6, G_6) → poly18''', g_6, e_6, f_6
AI Drawing Prompt Reference
Start with a circle centered at the origin, with a point on the vertical axis, and draw two intersecting lines through the center as symmetry axes. Construct an initial triangle, then repeatedly reflect it across the first axis, then the second, alternating, connecting the reflected vertices each time to form new triangles, creating a chain of congruent triangles. Also reflect the original triangle across the second axis, then the first, forming another set, and continue alternating reflections and connections, resulting in a full pattern of multiple triangles symmetrically arranged around the two axes, all congruent and showing repeated line symmetry.
The prompt above was compiled from the original drawing commands and is for reference only.