A Farandole for Christmas Decoration

A Farandole for Christmas Decoration
Loading the math board and drawing, please wait…
2020-12-14 16:48
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

  1. Circle(Départ, b) → e
  2. Line(Départ, xAxis) → d
  3. Line(Départ, yAxis) → b_1
  4. Intersect(e, b_1) → B_{2}, C
  5. Line(B_{2}, d) → g
  6. Circle(Départ, a) → c
  7. Intersect(c, d) → D, E
  8. Mirror(Départ, E) → A'
  9. Line(E, b_1) → f
  10. Intersect(g, f) → F
  11. Line(F, E) → i
  12. Vector(E, F) → u_2
  13. CircleArc(F, Départ, A') → h
  14. Point(h) → Move
  15. Translate(Move, u_2) → G'
  16. Segment(G', Move) → aa_1
  17. Polygon(G', F, E, Move) → poly1, g', f_1, e_1, g_1
  18. PointIn(poly1) → J
  19. Mirror(J, aa_1) → J'
  20. PointIn(poly1) → K
  21. Mirror(K, aa_1) → K'
  22. PointIn(poly1) → L
  23. Mirror(L, aa_1) → L'
  24. PointIn(poly1) → M
  25. Mirror(M, aa_1) → M'
  26. PointIn(poly1) → N
  27. Mirror(N, aa_1) → N'
  28. PointIn(poly1) → O
  29. Mirror(O, aa_1) → O'
  30. PointIn(poly1) → P
  31. Mirror(P, aa_1) → P'
  32. PointIn(poly1) → Q
  33. Mirror(Q, aa_1) → Q'
  34. PointIn(poly1) → R_{1}
  35. Mirror(R_{1}, aa_1) → R'
  36. PointIn(poly1) → S_{1}
  37. Mirror(S_{1}, aa_1) → S'
  38. PointIn(poly1) → U
  39. PointIn(poly1) → S
  40. PointIn(poly1) → R_{2}
  41. PointIn(poly1) → T
  42. PointIn(poly1) → W
  43. Midpoint(G', Move) → I
  44. Intersect(g_1, d) → H
  45. Mirror(E, H) → E'
  46. Translate(E', u_2) → E''
  47. Polygon(E'', E', Move, G') → poly2, e'', e', g_2, g'_1
  48. Angle(Départ, E, Move) → α
  49. Vector(Départ, E) → u
  50. Line(G', Move) → i_2
  51. Intersect(i_2, d) → I_2
  52. Vector(E, I_2) → v
  53. Vector(E, E') → w
  54. Sequence(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) → liste2
  55. Sequence(Polygon[Translate[G', Vector[(s * w)]], Translate[F, Vector[(s * w)]], Translate[E, Vector[(s * w)]], Translate[Move, Vector[(s * w)]]], s, 0, Nombre) → liste7
  56. Polygon(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, s
  57. 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)]]], s, 0, Nombre) → liste1
  58. Sequence(Segment[Translate[Move, Vector[(s * w)]], Translate[G', Vector[(s * w)]]], s, 0, Nombre) → liste4
  59. Segment(F, E) → aa
  60. Sequence(Segment[Translate[E'', Vector[(s * w)]], Translate[E', Vector[(s * w)]]], s, 0, Nombre) → liste5
  61. Mirror(G', f_1) → G''
  62. Mirror(F, f_1) → F'
  63. Mirror(E, f_1) → E'_1
  64. Mirror(G', f_1) → G''_1
  65. Mirror(F, f_1) → F'_1
  66. Mirror(E, f_1) → E'_2
  67. Mirror(G', i) → G''_2
  68. Mirror(F, i) → F'_2
  69. Mirror(E, i) → E'_3
  70. Mirror(Move, i) → G'_1
  71. Polygon(G''_2, F'_2, E'_3, G'_1) → poly1', g''_2, f'_2, e'_3, g'_2
  72. Mirror(J, i) → J'_1
  73. Mirror(K, i) → K'_1
  74. Mirror(M, i) → M'_1
  75. Mirror(O, i) → O'_1
  76. Mirror(P, i) → P'_1
  77. Mirror(R_{1}, i) → R'_1
  78. Mirror(Q, i) → Q'_1
  79. Mirror(N, i) → N'_1
  80. Mirror(L, i) → L'_1
  81. Ellipse(C_1, D_1, E_1) → c_1
  82. Circle(F_1, G_1) → d_1
  83. Circle(H_1, I_1) → h_1
  84. Mirror(J, i) → J'_{2}
  85. Mirror(K, i) → K'_{2}
  86. Mirror(M, i) → M'_{2}
  87. Mirror(O, i) → O'_{2}
  88. Mirror(P, i) → P'_{2}
  89. Mirror(S_{1}, i) → J_1
  90. Mirror(R_{1}, i) → K_1
  91. Mirror(Q, i) → Q'_{2}
  92. Mirror(N, i) → N'_{2}
  93. Mirror(L, i) → L'_{2}
  94. Mirror(R_{2}, i) → R'_{2}
  95. Mirror(S, i) → S'_{1}
  96. Mirror(T, i) → T'
  97. Mirror(U, i) → U'
  98. Mirror(W, i) → W'
  99. 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}
  100. 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) → l1
  101. Sequence(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.