A Farandole for Christmas Decoration
Loading the math board and drawing, please wait…
This example demonstrates a farandole pattern for Christmas decoration. It showcases the concepts of symmetry and translation. Using GeoGebra commands such as Circle, Line, Intersect, Mirror, Vector, CircleArc, Point, Translate, Segment, and Polygon, a dynamic geometric pattern is constructed with a series of circles and triangles. Suitable for middle school and above students to learn geometric transformations and symmetry.
GeoGebra Commands & Parameters
Circle(Départ, b) → eLine(Départ, xAxis) → dLine(Départ, yAxis) → b_1Intersect(e, b_1) → B_{2}, CLine(B_{2}, d) → gCircle(Départ, a) → cIntersect(c, d) → D, EMirror(Départ, E) → A'Line(E, b_1) → fIntersect(g, f) → FLine(F, E) → iVector(E, F) → u_2CircleArc(F, Départ, A') → hPoint(h) → MoveTranslate(Move, u_2) → G'Segment(G', Move) → aa_1Polygon(G', F, E, Move) → poly1, g', f_1, e_1, g_1PointIn(poly1) → JMirror(J, aa_1) → J'PointIn(poly1) → KMirror(K, aa_1) → K'PointIn(poly1) → LMirror(L, aa_1) → L'PointIn(poly1) → MMirror(M, aa_1) → M'PointIn(poly1) → NMirror(N, aa_1) → N'PointIn(poly1) → OMirror(O, aa_1) → O'PointIn(poly1) → PMirror(P, aa_1) → P'PointIn(poly1) → QMirror(Q, aa_1) → Q'PointIn(poly1) → R_{1}Mirror(R_{1}, aa_1) → R'PointIn(poly1) → S_{1}Mirror(S_{1}, aa_1) → S'PointIn(poly1) → UPointIn(poly1) → SPointIn(poly1) → R_{2}PointIn(poly1) → TPointIn(poly1) → WMidpoint(G', Move) → IIntersect(g_1, d) → HMirror(E, H) → E'Translate(E', u_2) → E''Polygon(E'', E', Move, G') → poly2, e'', e', g_2, g'_1Angle(Départ, E, Move) → αVector(Départ, E) → uLine(G', Move) → i_2Intersect(i_2, d) → I_2Vector(E, I_2) → vVector(E, E') → wSequence(Polygon[Translate[E'', Vector[(s * w)]], Translate[E', Vector[(s * w)]], Translate[Move, Vector[(s * w)]], Translate[G', Vector[(s * w)]]], s, 0, Nombre, 1) → liste2Sequence(Polygon[Translate[G', Vector[(s * w)]], Translate[F, Vector[(s * w)]], Translate[E, Vector[(s * w)]], Translate[Move, Vector[(s * w)]]], s, 0, Nombre) → liste7Polygon(J, K, R_{2}, S, T, U, W, M, O, P, S_{1}, R_{1}, Q, N, L) → poly3, j, i_1, j_1, k_1, l_1, m_1, n_1, k, l, m, n, p, q, r, sSequence(Polygon[Translate[J, Vector[(s * w)]], Translate[K, Vector[(s * w)]], Translate[M, Vector[(s * w)]], Translate[O, Vector[(s * w)]], Translate[P, Vector[(s * w)]], Translate[S_{1}, Vector[(s * w)]], Translate[R_{1}, Vector[(s * w)]], Translate[Q, Vector[(s * w)]], Translate[N, Vector[(s * w)]], Translate[L, Vector[(s * w)]]], s, 0, Nombre) → liste1Sequence(Segment[Translate[Move, Vector[(s * w)]], Translate[G', Vector[(s * w)]]], s, 0, Nombre) → liste4Segment(F, E) → aaSequence(Segment[Translate[E'', Vector[(s * w)]], Translate[E', Vector[(s * w)]]], s, 0, Nombre) → liste5Mirror(G', f_1) → G''Mirror(F, f_1) → F'Mirror(E, f_1) → E'_1Mirror(G', f_1) → G''_1Mirror(F, f_1) → F'_1Mirror(E, f_1) → E'_2Mirror(G', i) → G''_2Mirror(F, i) → F'_2Mirror(E, i) → E'_3Mirror(Move, i) → G'_1Polygon(G''_2, F'_2, E'_3, G'_1) → poly1', g''_2, f'_2, e'_3, g'_2Mirror(J, i) → J'_1Mirror(K, i) → K'_1Mirror(M, i) → M'_1Mirror(O, i) → O'_1Mirror(P, i) → P'_1Mirror(R_{1}, i) → R'_1Mirror(Q, i) → Q'_1Mirror(N, i) → N'_1Mirror(L, i) → L'_1Ellipse(C_1, D_1, E_1) → c_1Circle(F_1, G_1) → d_1Circle(H_1, I_1) → h_1Mirror(J, i) → J'_{2}Mirror(K, i) → K'_{2}Mirror(M, i) → M'_{2}Mirror(O, i) → O'_{2}Mirror(P, i) → P'_{2}Mirror(S_{1}, i) → J_1Mirror(R_{1}, i) → K_1Mirror(Q, i) → Q'_{2}Mirror(N, i) → N'_{2}Mirror(L, i) → L'_{2}Mirror(R_{2}, i) → R'_{2}Mirror(S, i) → S'_{1}Mirror(T, i) → T'Mirror(U, i) → U'Mirror(W, i) → W'Polygon(J'_{2}, K'_{2}, R'_{2}, S'_{1}, T', U', W', M'_{2}, O'_{2}, P'_{2}, J_1, K_1, Q'_{2}, N'_{2}, L'_{2}) → poly3', j'_{2}, l'_{2}, r'_{2}, s'_{1}, t', u', w', k'_{2}, m'_{2}, o'_{2}, p'_{2}, p_1, q_1, q'_{2}, n'_{2}Sequence(Polygon[Translate[J, Vector[(s * w)]], Translate[K, Vector[(s * w)]], Translate[M, Vector[(s * w)]], Translate[O, Vector[(s * w)]], Translate[P, Vector[(s * w)]], Translate[S_{1}, Vector[(s * w)]], Translate[R_{1}, Vector[(s * w)]], Translate[Q, Vector[(s * w)]], Translate[N, Vector[(s * w)]], Translate[L, Vector[(s * w)]], Translate[R_{2}, Vector[(s * w)]], Translate[S, Vector[(s * w)]], Translate[T, Vector[(s * w)]], Translate[U, Vector[(s * w)]], Translate[W, Vector[(s * w)]]], s, 0, Nombre) → l1Sequence(Polygon[Translate[J'_{2}, Vector[(s * w)]], Translate[K'_{2}, Vector[(s * w)]], Translate[M'_{2}, Vector[(s * w)]], Translate[O'_{2}, Vector[(s * w)]], Translate[P'_{2}, Vector[(s * w)]], Translate[J_1, Vector[(s * w)]], Translate[K_1, Vector[(s * w)]], Translate[Q'_{2}, Vector[(s * w)]], Translate[N'_{2}, Vector[(s * w)]], Translate[L'_{2}, Vector[(s * w)]], Translate[R'_{2}, Vector[(s * w)]], Translate[S'_{1}, Vector[(s * w)]], Translate[T', Vector[(s * w)]], Translate[U', Vector[(s * w)]], Translate[W', Vector[(s * w)]]], s, 0, Nombre) → l2
AI Drawing Prompt Reference
On a plane, set an origin as the starting point on a coordinate grid with one horizontal and one vertical axis. Draw two circles centered at the starting point: one circle intersects the vertical axis to define key intersection points, and the other intersects the horizontal axis to define another pair of intersection points. Use those points with the axes to form corresponding lines and a reference angle. Reflect one key point across the starting point to obtain its mirrored point. Construct the translation using the vector from the mirrored point back to the original configuration, then translate the reflected point by this vector to get a shifted copy. Connect the shifted points with segments to build repeated triangles/polygons, forming a symmetric “farandole” Christmas decoration strip. Populate the chain by taking points along the polygonal region and reflecting them across the central segment, creating a continuous repeating pattern, and mark the angle between the two rays from the starting point.
The prompt above was compiled from the original drawing commands and is for reference only.