Ellipse Mosaics: Conic Construction via Geometric Transformations

Ellipse Mosaics: Conic Construction via Geometric Transformations
Loading the math board and drawing, please wait…
2023-11-22 10:44
This example demonstrates how ellipse-based mosaics can be generated to create coherent, repeating patterns. The key mathematical ideas are conic sections—specifically constructing ellipses—together with geometric transformations such as mirroring (Mirror) and dilation (Dilate). The construction relies on building a polygonal framework, using lines and segments to define boundaries, and then computing intersection points and midpoints to place control elements precisely. In GeoGebra, the base layout is created with Polygon, Segment, and Line, while Intersect and Midpoint determine the critical geometric locations. Mirror produces symmetric counterparts of the generating configuration, and Dilate scales elements to form the next mosaic tile. Finally, Conic is used to create the ellipse from the specified parameters/conditions, and Element organizes the resulting objects; the included control elements (e.g., a button) support interactive exploration of the parameters. Suitable for secondary to early university students studying geometry construction, analytic geometry, and transformation-based visualization.

GeoGebra Commands & Parameters

  1. Zip(Zip[(i + (0.7 * RandomUniform[0, w]), j + (0.7 * RandomUniform[0, h])), i, Lm], j, Lm) → PointsN
  2. Polygon(A, B, C, D) → q1, a, b, c, d
  3. Segment(B, D) → f
  4. Line(A, B) → g
  5. Line(B, C) → i
  6. Line(D, A) → j
  7. Intersect(h, g) → E
  8. Intersect(i, j) → F
  9. Segment(C, A) → k
  10. Intersect(f, k) → K
  11. Line(E, K) → m
  12. Line(F, K) → n
  13. Intersect(h, n) → G
  14. Intersect(j, m) → H
  15. Intersect(i, m) → I
  16. Intersect(g, n) → J
  17. Segment(G, H) → l
  18. Segment(G, I) → p
  19. Midpoint(l) → L
  20. Midpoint(p) → M
  21. Line(D, L) → q
  22. Line(C, M) → r
  23. Intersect(q, r) → N
  24. Mirror(G, N) → G'
  25. Conic(I, G, H, G', J) → e
  26. Dilate(e, 0.85, Center[e]) → e'
  27. Zip(Zip[Polygon[Element[PointsN, i, j], Element[PointsN, i, j + 1], Element[PointsN, i + 1, j + 1], Element[PointsN, i + 1, j]], i, Lm], j, Lm) → PolyN
  28. Zip(Zip[EllipseQ[Element[PointsN, i, j], Element[PointsN, i, j + 1], Element[PointsN, i + 1, j + 1], Element[PointsN, i + 1, j]], i, Ln], j, Ln) → EllQ
  29. Element(EllQ, 1, 1) → S1_1
  30. Element(EllQ, 2, 1) → S2_1
  31. Element(EllQ, 3, 1) → S3_1
  32. Element(EllQ, 4, 1) → S4_1
  33. Element(EllQ, 5, 1) → S5_1
  34. Element(EllQ, 6, 1) → S6_1
  35. Element(EllQ, 7, 1) → S7_1
  36. Element(EllQ, 8, 1) → S8_1
  37. Element(EllQ, 9, 1) → S9_1
  38. Element(EllQ, 1, 2) → S1_2
  39. Element(EllQ, 2, 2) → S2_2
  40. Element(EllQ, 3, 2) → S3_2
  41. Element(EllQ, 4, 2) → S4_2
  42. Element(EllQ, 5, 2) → S5_2
  43. Element(EllQ, 6, 2) → S6_2
  44. Element(EllQ, 7, 2) → S7_2
  45. Element(EllQ, 8, 2) → S8_2
  46. Element(EllQ, 9, 2) → S9_2
  47. Element(EllQ, 1, 3) → S1_3
  48. Element(EllQ, 2, 3) → S2_3
  49. Element(EllQ, 3, 3) → S3_3
  50. Element(EllQ, 4, 3) → S4_3
  51. Element(EllQ, 5, 3) → S5_3
  52. Element(EllQ, 6, 3) → S6_3
  53. Element(EllQ, 7, 3) → S7_3
  54. Element(EllQ, 8, 3) → S8_3
  55. Element(EllQ, 9, 3) → S9_3
  56. Element(EllQ, 1, 4) → S1_4
  57. Element(EllQ, 2, 4) → S2_4
  58. Element(EllQ, 3, 4) → S3_4
  59. Element(EllQ, 4, 4) → S4_4
  60. Element(EllQ, 5, 4) → S5_4
  61. Element(EllQ, 6, 4) → S6_4
  62. Element(EllQ, 7, 4) → S7_4
  63. Element(EllQ, 8, 4) → S8_4
  64. Element(EllQ, 9, 4) → S9_4
  65. Element(EllQ, 1, 5) → S1_5
  66. Element(EllQ, 2, 5) → S2_5
  67. Element(EllQ, 3, 5) → S3_5
  68. Element(EllQ, 4, 5) → S4_5
  69. Element(EllQ, 5, 5) → S5_5
  70. Element(EllQ, 6, 5) → S6_5
  71. Element(EllQ, 7, 5) → S7_5
  72. Element(EllQ, 8, 5) → S8_5
  73. Element(EllQ, 9, 5) → S9_5
  74. Element(EllQ, 1, 6) → S1_6
  75. Element(EllQ, 2, 6) → S2_6
  76. Element(EllQ, 3, 6) → S3_6
  77. Element(EllQ, 4, 6) → S4_6
  78. Element(EllQ, 5, 6) → S5_6
  79. Element(EllQ, 6, 6) → S6_6
  80. Element(EllQ, 7, 6) → S7_6
  81. Element(EllQ, 8, 6) → S8_6
  82. Element(EllQ, 9, 6) → S9_6
  83. Element(EllQ, 1, 7) → S1_7
  84. Element(EllQ, 2, 7) → S2_7
  85. Element(EllQ, 3, 7) → S3_7
  86. Element(EllQ, 4, 7) → S4_7
  87. Element(EllQ, 5, 7) → S5_7
  88. Element(EllQ, 6, 7) → S6_7
  89. Element(EllQ, 7, 7) → S7_7
  90. Element(EllQ, 8, 7) → S8_7
  91. Element(EllQ, 9, 7) → S9_7
  92. Element(EllQ, 1, 8) → S1_8
  93. Element(EllQ, 2, 8) → S2_8
  94. Element(EllQ, 3, 8) → S3_8
  95. Element(EllQ, 4, 8) → S4_8
  96. Element(EllQ, 5, 8) → S5_8
  97. Element(EllQ, 6, 8) → S6_8
  98. Element(EllQ, 7, 8) → S7_8
  99. Element(EllQ, 8, 8) → S8_8
  100. Element(EllQ, 9, 8) → S9_8
  101. Element(EllQ, 1, 9) → S1_9
  102. Element(EllQ, 2, 9) → S2_9
  103. Element(EllQ, 3, 9) → S3_9
  104. Element(EllQ, 4, 9) → S4_9
  105. Element(EllQ, 5, 9) → S5_9
  106. Element(EllQ, 6, 9) → S6_9
  107. Element(EllQ, 7, 9) → S7_9
  108. Element(EllQ, 8, 9) → S8_9
  109. Element(EllQ, 9, 9) → S9_9
  110. Zip(Zip[Centroid[Element[PolyN, i, j]], i, Lm], j, Lm) → CN

AI Drawing Prompt Reference

Draw an ellipse mosaic pattern with repetition and symmetry. The construction order: first draw a polygon framework to determine key points; then use geometric transformations like mirroring and scaling to generate ellipses; finally arrange the ellipses into a repeating mosaic. Key objects include ellipses, points, line segments, and intersection points, with ellipses determined by specific points and the mosaic achieved through mirroring and scaling.
The prompt above was compiled from the original drawing commands and is for reference only.