Octagon Loops Exploration
Loading the math board and drawing, please wait…
This GeoGebra applet investigates patterns in tiling polygons. By constructing and rotating polygons, students can discover the patterns in octagon loops. Key mathematical concepts include polygons, vectors, and rotation. The applet uses commands like Polygon, Segment, Point, and Rotate. Suitable for middle school and above students for geometric construction and exploration activities.
GeoGebra Commands & Parameters
Polygon(A, B, 8) → poly1, a, D, E, F, G, H, b, c, d, e, f, g, h, CSegment(B, C) → iSegment(C, D) → jSegment(D, E) → kSegment(E, F) → lSegment(F, G) → mSegment(G, H) → nSegment(H, A) → pPoint(Circle[I, a]) → JRotate(J + (b, 0), Angle[C - B] + Angle[J - I] - Angle[B - A], J) → KRotate(K + (c, 0), Angle[D - C] + Angle[K - J] - Angle[C - B], K) → LRotate(L + (d, 0), Angle[E - D] + Angle[L - K] - Angle[D - C], L) → MRotate(M + (e, 0), Angle[F - E] + Angle[M - L] - Angle[E - D], M) → NRotate(N + (f, 0), Angle[G - F] + Angle[N - M] - Angle[F - E], N) → ORotate(O + (g, 0), Angle[H - G] + Angle[O - N] - Angle[G - F], O) → PPolygon(I, J, K, L, M, N, O, P) → poly2, i_1, j_1, k_1, l_1, m_1, n_1, o, p_1Point(Circle[Q, a]) → RRotate(R + (b, 0), Angle[C - B] + Angle[R - Q] - Angle[B - A], R) → SRotate(S + (c, 0), Angle[D - C] + Angle[S - R] - Angle[C - B], S) → TRotate(T + (d, 0), Angle[E - D] + Angle[T - S] - Angle[D - C], T) → URotate(U + (e, 0), Angle[F - E] + Angle[U - T] - Angle[E - D], U) → VRotate(V + (f, 0), Angle[G - F] + Angle[V - U] - Angle[F - E], V) → WRotate(W + (g, 0), Angle[H - G] + Angle[W - V] - Angle[G - F], W) → ZPolygon(Q, R, S, T, U, V, W, Z) → poly3, q, r, s, t, u, v, w, zPoint(Circle[A_1, a]) → B_1Rotate(B_1 + (b, 0), Angle[C - B] + Angle[B_1 - A_1] - Angle[B - A], B_1) → C_1Rotate(C_1 + (c, 0), Angle[D - C] + Angle[C_1 - B_1] - Angle[C - B], C_1) → D_1Rotate(D_1 + (d, 0), Angle[E - D] + Angle[D_1 - C_1] - Angle[D - C], D_1) → E_1Rotate(E_1 + (e, 0), Angle[F - E] + Angle[E_1 - D_1] - Angle[E - D], E_1) → F_1Rotate(F_1 + (f, 0), Angle[G - F] + Angle[F_1 - E_1] - Angle[F - E], F_1) → G_1Rotate(G_1 + (g, 0), Angle[H - G] + Angle[G_1 - F_1] - Angle[G - F], G_1) → H_1Polygon(A_1, B_1, C_1, D_1, E_1, F_1, G_1, H_1) → poly4, a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1Point(Circle[I_1, a]) → J_1Rotate(J_1 + (b, 0), Angle[C - B] + Angle[J_1 - I_1] - Angle[B - A], J_1) → K_1Rotate(K_1 + (c, 0), Angle[D - C] + Angle[K_1 - J_1] - Angle[C - B], K_1) → L_1Rotate(L_1 + (d, 0), Angle[E - D] + Angle[L_1 - K_1] - Angle[D - C], L_1) → M_1Rotate(M_1 + (e, 0), Angle[F - E] + Angle[M_1 - L_1] - Angle[E - D], M_1) → N_1Rotate(N_1 + (f, 0), Angle[G - F] + Angle[N_1 - M_1] - Angle[F - E], N_1) → O_1Rotate(O_1 + (g, 0), Angle[H - G] + Angle[O_1 - N_1] - Angle[G - F], O_1) → P_1Polygon(I_1, J_1, K_1, L_1, M_1, N_1, O_1, P_1) → poly5, i_2, j_2, k_2, l_2, m_2, n_2, o_1, p_2Point(Circle[Q_1, a]) → R_1Rotate(R_1 + (b, 0), Angle[C - B] + Angle[R_1 - Q_1] - Angle[B - A], R_1) → S_1Rotate(S_1 + (c, 0), Angle[D - C] + Angle[S_1 - R_1] - Angle[C - B], S_1) → T_1Rotate(T_1 + (d, 0), Angle[E - D] + Angle[T_1 - S_1] - Angle[D - C], T_1) → U_1Rotate(U_1 + (e, 0), Angle[F - E] + Angle[U_1 - T_1] - Angle[E - D], U_1) → V_1Rotate(V_1 + (f, 0), Angle[G - F] + Angle[V_1 - U_1] - Angle[F - E], V_1) → W_1Rotate(W_1 + (g, 0), Angle[H - G] + Angle[W_1 - V_1] - Angle[G - F], W_1) → Z_1Polygon(Q_1, R_1, S_1, T_1, U_1, V_1, W_1, Z_1) → poly6, q_1, r_1, s_1, t_1, u_1, v_1, w_1, z_1Point(Circle[A_2, a]) → B_2Rotate(B_2 + (b, 0), Angle[C - B] + Angle[B_2 - A_2] - Angle[B - A], B_2) → C_2Rotate(C_2 + (c, 0), Angle[D - C] + Angle[C_2 - B_2] - Angle[C - B], C_2) → D_2Rotate(D_2 + (d, 0), Angle[E - D] + Angle[D_2 - C_2] - Angle[D - C], D_2) → E_2Rotate(E_2 + (e, 0), Angle[F - E] + Angle[E_2 - D_2] - Angle[E - D], E_2) → F_2Rotate(F_2 + (f, 0), Angle[G - F] + Angle[F_2 - E_2] - Angle[F - E], F_2) → G_2Rotate(G_2 + (g, 0), Angle[H - G] + Angle[G_2 - F_2] - Angle[G - F], G_2) → H_2Polygon(A_2, B_2, C_2, D_2, E_2, F_2, G_2, H_2) → poly7, a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2Point(Circle[I_2, a]) → J_2Rotate(J_2 + (b, 0), Angle[C - B] + Angle[J_2 - I_2] - Angle[B - A], J_2) → K_2Rotate(K_2 + (c, 0), Angle[D - C] + Angle[K_2 - J_2] - Angle[C - B], K_2) → L_2Rotate(L_2 + (d, 0), Angle[E - D] + Angle[L_2 - K_2] - Angle[D - C], L_2) → M_2Rotate(M_2 + (e, 0), Angle[F - E] + Angle[M_2 - L_2] - Angle[E - D], M_2) → N_2Rotate(N_2 + (f, 0), Angle[G - F] + Angle[N_2 - M_2] - Angle[F - E], N_2) → O_2Rotate(O_2 + (g, 0), Angle[H - G] + Angle[O_2 - N_2] - Angle[G - F], O_2) → P_2Polygon(I_2, J_2, K_2, L_2, M_2, N_2, O_2, P_2) → poly8, i_3, j_3, k_3, l_3, m_3, n_3, o_2, p_3Point(Circle[Q_2, a]) → R_2Rotate(R_2 + (b, 0), Angle[C - B] + Angle[R_2 - Q_2] - Angle[B - A], R_2) → S_2Rotate(S_2 + (c, 0), Angle[D - C] + Angle[S_2 - R_2] - Angle[C - B], S_2) → T_2Rotate(T_2 + (d, 0), Angle[E - D] + Angle[T_2 - S_2] - Angle[D - C], T_2) → U_2Rotate(U_2 + (e, 0), Angle[F - E] + Angle[U_2 - T_2] - Angle[E - D], U_2) → V_2Rotate(V_2 + (f, 0), Angle[G - F] + Angle[V_2 - U_2] - Angle[F - E], V_2) → W_2Rotate(W_2 + (g, 0), Angle[H - G] + Angle[W_2 - V_2] - Angle[G - F], W_2) → Z_2Polygon(Q_2, R_2, S_2, T_2, U_2, V_2, W_2, Z_2) → poly9, q_2, r_2, s_2, t_2, u_2, v_2, w_2, z_2Point(Circle[A_3, a]) → B_3Rotate(B_3 + (b, 0), Angle[C - B] + Angle[B_3 - A_3] - Angle[B - A], B_3) → C_3Rotate(C_3 + (c, 0), Angle[D - C] + Angle[C_3 - B_3] - Angle[C - B], C_3) → D_3Rotate(D_3 + (d, 0), Angle[E - D] + Angle[D_3 - C_3] - Angle[D - C], D_3) → E_3Rotate(E_3 + (e, 0), Angle[F - E] + Angle[E_3 - D_3] - Angle[E - D], E_3) → F_3Rotate(F_3 + (f, 0), Angle[G - F] + Angle[F_3 - E_3] - Angle[F - E], F_3) → G_3Rotate(G_3 + (g, 0), Angle[H - G] + Angle[G_3 - F_3] - Angle[G - F], G_3) → H_3Polygon(A_3, B_3, C_3, D_3, E_3, F_3, G_3, H_3) → poly10, a_3, b_3, c_3, d_3, e_3, f_3, g_3, h_3Point(Circle[I_3, a]) → J_3Rotate(J_3 + (b, 0), Angle[C - B] + Angle[J_3 - I_3] - Angle[B - A], J_3) → K_3Rotate(K_3 + (c, 0), Angle[D - C] + Angle[K_3 - J_3] - Angle[C - B], K_3) → L_3Rotate(L_3 + (d, 0), Angle[E - D] + Angle[L_3 - K_3] - Angle[D - C], L_3) → M_3Rotate(M_3 + (e, 0), Angle[F - E] + Angle[M_3 - L_3] - Angle[E - D], M_3) → N_3Rotate(N_3 + (f, 0), Angle[G - F] + Angle[N_3 - M_3] - Angle[F - E], N_3) → O_3Rotate(O_3 + (g, 0), Angle[H - G] + Angle[O_3 - N_3] - Angle[G - F], O_3) → P_3Polygon(I_3, J_3, K_3, L_3, M_3, N_3, O_3, P_3) → poly11, i_4, j_4, k_4, l_4, m_4, n_4, o_3, p_4Point(Circle[Q_3, a]) → R_3Rotate(R_3 + (b, 0), Angle[C - B] + Angle[R_3 - Q_3] - Angle[B - A], R_3) → S_3Rotate(S_3 + (c, 0), Angle[D - C] + Angle[S_3 - R_3] - Angle[C - B], S_3) → T_3Rotate(T_3 + (d, 0), Angle[E - D] + Angle[T_3 - S_3] - Angle[D - C], T_3) → U_3Rotate(U_3 + (e, 0), Angle[F - E] + Angle[U_3 - T_3] - Angle[E - D], U_3) → V_3Rotate(V_3 + (f, 0), Angle[G - F] + Angle[V_3 - U_3] - Angle[F - E], V_3) → W_3Rotate(W_3 + (g, 0), Angle[H - G] + Angle[W_3 - V_3] - Angle[G - F], W_3) → Z_3Polygon(Q_3, R_3, S_3, T_3, U_3, V_3, W_3, Z_3) → poly12, q_3, r_3, s_3, t_3, u_3, v_3, w_3, z_3Point(Circle[A_4, a]) → B_4Rotate(B_4 + (b, 0), Angle[C - B] + Angle[B_4 - A_4] - Angle[B - A], B_4) → C_4Rotate(C_4 + (c, 0), Angle[D - C] + Angle[C_4 - B_4] - Angle[C - B], C_4) → D_4Rotate(D_4 + (d, 0), Angle[E - D] + Angle[D_4 - C_4] - Angle[D - C], D_4) → E_4Rotate(E_4 + (e, 0), Angle[F - E] + Angle[E_4 - D_4] - Angle[E - D], E_4) → F_4Rotate(F_4 + (f, 0), Angle[G - F] + Angle[F_4 - E_4] - Angle[F - E], F_4) → G_4Rotate(G_4 + (g, 0), Angle[H - G] + Angle[G_4 - F_4] - Angle[G - F], G_4) → H_4Polygon(A_4, B_4, C_4, D_4, E_4, F_4, G_4, H_4) → poly13, a_4, b_4, c_4, d_4, e_4, f_4, g_4, h_4Point(Circle[I_4, a]) → J_4Rotate(J_4 + (b, 0), Angle[C - B] + Angle[J_4 - I_4] - Angle[B - A], J_4) → K_4Rotate(K_4 + (c, 0), Angle[D - C] + Angle[K_4 - J_4] - Angle[C - B], K_4) → L_4Rotate(L_4 + (d, 0), Angle[E - D] + Angle[L_4 - K_4] - Angle[D - C], L_4) → M_4Rotate(M_4 + (e, 0), Angle[F - E] + Angle[M_4 - L_4] - Angle[E - D], M_4) → N_4Rotate(N_4 + (f, 0), Angle[G - F] + Angle[N_4 - M_4] - Angle[F - E], N_4) → O_4Rotate(O_4 + (g, 0), Angle[H - G] + Angle[O_4 - N_4] - Angle[G - F], O_4) → P_4Polygon(I_4, J_4, K_4, L_4, M_4, N_4, O_4, P_4) → poly14, i_5, j_5, k_5, l_5, m_5, n_5, o_4, p_5Point(Circle[Q_4, a]) → R_4Rotate(R_4 + (b, 0), Angle[C - B] + Angle[R_4 - Q_4] - Angle[B - A], R_4) → S_4Rotate(S_4 + (c, 0), Angle[D - C] + Angle[S_4 - R_4] - Angle[C - B], S_4) → T_4Rotate(T_4 + (d, 0), Angle[E - D] + Angle[T_4 - S_4] - Angle[D - C], T_4) → U_4Rotate(U_4 + (e, 0), Angle[F - E] + Angle[U_4 - T_4] - Angle[E - D], U_4) → V_4Rotate(V_4 + (f, 0), Angle[G - F] + Angle[V_4 - U_4] - Angle[F - E], V_4) → W_4Rotate(W_4 + (g, 0), Angle[H - G] + Angle[W_4 - V_4] - Angle[G - F], W_4) → Z_4Polygon(Q_4, R_4, S_4, T_4, U_4, V_4, W_4, Z_4) → poly15, q_4, r_4, s_4, t_4, u_4, v_4, w_4, z_4Point(Circle[A_5, q]) → B_5Rotate(B_5 + (r, 0), Angle[S - R] + Angle[B_5 - A_5] - Angle[R - Q], B_5) → C_5Rotate(C_5 + (s, 0), Angle[T - S] + Angle[C_5 - B_5] - Angle[S - R], C_5) → D_5Rotate(D_5 + (t, 0), Angle[U - T] + Angle[D_5 - C_5] - Angle[T - S], D_5) → E_5Rotate(E_5 + (u, 0), Angle[V - U] + Angle[E_5 - D_5] - Angle[U - T], E_5) → F_5Rotate(F_5 + (v, 0), Angle[W - V] + Angle[F_5 - E_5] - Angle[V - U], F_5) → G_5Rotate(G_5 + (w, 0), Angle[Z - W] + Angle[G_5 - F_5] - Angle[W - V], G_5) → H_5Polygon(A_5, B_5, C_5, D_5, E_5, F_5, G_5, H_5) → poly16, a_5, b_5, c_5, d_5, e_5, f_5, g_5, h_5Point(Circle[I_5, q]) → J_5Rotate(J_5 + (r, 0), Angle[S - R] + Angle[J_5 - I_5] - Angle[R - Q], J_5) → K_5Rotate(K_5 + (s, 0), Angle[T - S] + Angle[K_5 - J_5] - Angle[S - R], K_5) → L_5Rotate(L_5 + (t, 0), Angle[U - T] + Angle[L_5 - K_5] - Angle[T - S], L_5) → M_5Rotate(M_5 + (u, 0), Angle[V - U] + Angle[M_5 - L_5] - Angle[U - T], M_5) → N_5Rotate(N_5 + (v, 0), Angle[W - V] + Angle[N_5 - M_5] - Angle[V - U], N_5) → O_5Rotate(O_5 + (w, 0), Angle[Z - W] + Angle[O_5 - N_5] - Angle[W - V], O_5) → P_5Polygon(I_5, J_5, K_5, L_5, M_5, N_5, O_5, P_5) → poly17, i_6, j_6, k_6, l_6, m_6, n_6, o_5, p_6Point(Circle[Q_5, q]) → R_5Rotate(R_5 + (r, 0), Angle[S - R] + Angle[R_5 - Q_5] - Angle[R - Q], R_5) → S_5Rotate(S_5 + (s, 0), Angle[T - S] + Angle[S_5 - R_5] - Angle[S - R], S_5) → T_5Rotate(T_5 + (t, 0), Angle[U - T] + Angle[T_5 - S_5] - Angle[T - S], T_5) → U_5Rotate(U_5 + (u, 0), Angle[V - U] + Angle[U_5 - T_5] - Angle[U - T], U_5) → V_5Rotate(V_5 + (v, 0), Angle[W - V] + Angle[V_5 - U_5] - Angle[V - U], V_5) → W_5Rotate(W_5 + (w, 0), Angle[Z - W] + Angle[W_5 - V_5] - Angle[W - V], W_5) → Z_5Polygon(Q_5, R_5, S_5, T_5, U_5, V_5, W_5, Z_5) → poly18, q_5, r_5, s_5, t_5, u_5, v_5, w_5, z_5Point(Circle[A_6, q]) → B_6Rotate(B_6 + (r, 0), Angle[S - R] + Angle[B_6 - A_6] - Angle[R - Q], B_6) → C_6Rotate(C_6 + (s, 0), Angle[T - S] + Angle[C_6 - B_6] - Angle[S - R], C_6) → D_6Rotate(D_6 + (t, 0), Angle[U - T] + Angle[D_6 - C_6] - Angle[T - S], D_6) → E_6Rotate(E_6 + (u, 0), Angle[V - U] + Angle[E_6 - D_6] - Angle[U - T], E_6) → F_6Rotate(F_6 + (v, 0), Angle[W - V] + Angle[F_6 - E_6] - Angle[V - U], F_6) → G_6Rotate(G_6 + (w, 0), Angle[Z - W] + Angle[G_6 - F_6] - Angle[W - V], G_6) → H_6Polygon(A_6, B_6, C_6, D_6, E_6, F_6, G_6, H_6) → poly19, a_6, b_6, c_6, d_6, e_6, f_6, g_6, h_6Point(Circle[I_6, q]) → J_6Rotate(J_6 + (r, 0), Angle[S - R] + Angle[J_6 - I_6] - Angle[R - Q], J_6) → K_6Rotate(K_6 + (s, 0), Angle[T - S] + Angle[K_6 - J_6] - Angle[S - R], K_6) → L_6Rotate(L_6 + (t, 0), Angle[U - T] + Angle[L_6 - K_6] - Angle[T - S], L_6) → M_6Rotate(M_6 + (u, 0), Angle[V - U] + Angle[M_6 - L_6] - Angle[U - T], M_6) → N_6Rotate(N_6 + (v, 0), Angle[W - V] + Angle[N_6 - M_6] - Angle[V - U], N_6) → O_6Rotate(O_6 + (w, 0), Angle[Z - W] + Angle[O_6 - N_6] - Angle[W - V], O_6) → P_6Polygon(I_6, J_6, K_6, L_6, M_6, N_6, O_6, P_6) → poly20, i_7, j_7, k_7, l_7, m_7, n_7, o_6, p_7Point(Circle[Q_6, q]) → R_6Rotate(R_6 + (r, 0), Angle[S - R] + Angle[R_6 - Q_6] - Angle[R - Q], R_6) → S_6Rotate(S_6 + (s, 0), Angle[T - S] + Angle[S_6 - R_6] - Angle[S - R], S_6) → T_6Rotate(T_6 + (t, 0), Angle[U - T] + Angle[T_6 - S_6] - Angle[T - S], T_6) → U_6Rotate(U_6 + (u, 0), Angle[V - U] + Angle[U_6 - T_6] - Angle[U - T], U_6) → V_6Rotate(V_6 + (v, 0), Angle[W - V] + Angle[V_6 - U_6] - Angle[V - U], V_6) → W_6Rotate(W_6 + (w, 0), Angle[Z - W] + Angle[W_6 - V_6] - Angle[W - V], W_6) → Z_6Polygon(Q_6, R_6, S_6, T_6, U_6, V_6, W_6, Z_6) → poly21, q_6, r_6, s_6, t_6, u_6, v_6, w_6, z_6Point(Circle[A_7, q]) → B_7Rotate(B_7 + (r, 0), Angle[S - R] + Angle[B_7 - A_7] - Angle[R - Q], B_7) → C_7Rotate(C_7 + (s, 0), Angle[T - S] + Angle[C_7 - B_7] - Angle[S - R], C_7) → D_7Rotate(D_7 + (t, 0), Angle[U - T] + Angle[D_7 - C_7] - Angle[T - S], D_7) → E_7Rotate(E_7 + (u, 0), Angle[V - U] + Angle[E_7 - D_7] - Angle[U - T], E_7) → F_7Rotate(F_7 + (v, 0), Angle[W - V] + Angle[F_7 - E_7] - Angle[V - U], F_7) → G_7Rotate(G_7 + (w, 0), Angle[Z - W] + Angle[G_7 - F_7] - Angle[W - V], G_7) → H_7Polygon(A_7, B_7, C_7, D_7, E_7, F_7, G_7, H_7) → poly22, a_7, b_7, c_7, d_7, e_7, f_7, g_7, h_7Point(Circle[I_7, q]) → J_7Rotate(J_7 + (r, 0), Angle[S - R] + Angle[J_7 - I_7] - Angle[R - Q], J_7) → K_7Rotate(K_7 + (s, 0), Angle[T - S] + Angle[K_7 - J_7] - Angle[S - R], K_7) → L_7Rotate(L_7 + (t, 0), Angle[U - T] + Angle[L_7 - K_7] - Angle[T - S], L_7) → M_7Rotate(M_7 + (u, 0), Angle[V - U] + Angle[M_7 - L_7] - Angle[U - T], M_7) → N_7Rotate(N_7 + (v, 0), Angle[W - V] + Angle[N_7 - M_7] - Angle[V - U], N_7) → O_7Rotate(O_7 + (w, 0), Angle[Z - W] + Angle[O_7 - N_7] - Angle[W - V], O_7) → P_7Polygon(I_7, J_7, K_7, L_7, M_7, N_7, O_7, P_7) → poly23, i_8, j_8, k_8, l_8, m_8, n_8, o_7, p_8
AI Drawing Prompt Reference
Draw an octagon, then rotate a new octagon around each vertex of the original octagon, and repeat this process twice to form a series of nested octagons. First, create an octagon, then rotate a new octagon around each vertex of the original octagon, and repeat this process to create a second, third, and fourth octagon.
The prompt above was compiled from the original drawing commands and is for reference only.