Regular Polygons Construction and Transformation

Regular Polygons Construction and Transformation
Loading the math board and drawing, please wait…
2017-01-02 04:05
①This GeoGebra example dynamically demonstrates the construction of regular polygons and their transformations including translation, rotation, and scaling. ②Core mathematical concepts include the definition of regular polygons (equal sides and equal angles), the relationship between center and radius, rotational symmetry, and geometric transformations such as vector translation and homothety (dilation). ③Construction details: The Sequence command generates vertex sequences, Distance computes side lengths, Center determines the center, Rotate applies rotation, Polygon constructs the polygon, Vector and Translate perform translations, Dilate scales, Intersect finds intersection points, Segment connects segments, and Vertex extracts vertices; objects include Sides, β, list1, h, c, A, B_1, list2, b, list4, list5, A', list3, list6, poly1, d, e, a', u, list7, f, g, ah, C, D, i, D', v, list1', c', list2', poly2, E, F, w, poly3, poly3', G, j, poly4. ④Suitable for middle and high school geometry classes to explore properties of regular polygons and dynamic transformations, as well as extensions like interior angle sums and symmetry axes.

GeoGebra Commands & Parameters

  1. Sequence((cos(((k * π) * β / 180)), sin(((k * π) * β / 180))), k, 0, Sides, 1) → list1
  2. Distance(Element[list1, 1], Element[list1, 2]) → h
  3. Center(c) → A
  4. Sequence(Polygon[Element[list1, k], A, Element[list1, k + 1]], k, 1, Sides, 1) → list2
  5. Sequence(Vertex[Element[list2, k], 3], k, 2, Sides, 1) → list4
  6. Sequence(Vertex[Element[list2, k], 3], k, 1, Sides - 1) → list5
  7. Rotate(A, (((-b) * 360) * ° / Sides), B_1) → A'
  8. Sequence(Rotate[Element[list1, k], ((((-(k - 1)) * b) * 360) * ° / Sides), Element[list1, k - 1]], k, 2, Sides, 1) → list3
  9. Sequence(Rotate[Element[list3, k], ((((-(k - 1)) * b) * 360) * ° / Sides), Element[list3, k - 1]], k, 2, Sides - 1, 1) → list6
  10. Polygon(Element[list1, 1], A', Element[list3, 1]) → poly1, d, e, a'
  11. Vector(Element[list1, 2], Element[list3, 1]) → u
  12. Sequence(Vector[Element[list1, k], Element[list3, k - 1]], k, 2, Sides, 1) → list7
  13. Segment((0, -1), (6.283185307179586, -1)) → f
  14. Intersect(c, d, 1) → D
  15. Segment(D, C) → i
  16. Dilate(D, If[0 < g ≤ 1, 1 - g, 0], C) → D'
  17. Vector(D, D') → v
  18. Translate(list1, v) → list1'
  19. Translate(c, v) → c'
  20. Translate(list2, v) → list2'
  21. Rotate(Element[list2', 1], (((-g) * 360 / Sides))°, Element[list1', 1]) → poly2
  22. Vertex(Element[list2', 2], 1) → E
  23. Vertex(poly2, 3) → F
  24. Vector(Vertex[Element[list2', 2], 1], Vertex[poly2, 3]) → w
  25. Translate(Element[list2', 2], w) → poly3
  26. Rotate(poly3, ((((-g) * 2) * 360 / Sides))°, F) → poly3'
  27. Vertex(poly3', 3) → G
  28. Vector(Vertex[Element[list2', 3], 1], Vertex[poly3', 3]) → j
  29. Translate(Element[list2', 3], j) → poly4
  30. Rotate(poly4, ((((-g) * 3) * 360 / Sides))°, G) → poly4'
  31. Vertex(poly4', 3) → H
  32. Vector(Element[list1', 4], H) → k
  33. Translate(Element[list2', 4], k) → poly5
  34. Rotate(poly5, ((((-g) * 4) * 360 / Sides))°, H) → poly5'
  35. Vertex(poly5', 3) → I
  36. Vector(Element[list1', 5], I) → l
  37. Translate(Element[list2', 5], l) → poly6
  38. Rotate(poly6, ((((-g) * 5) * 360 / Sides))°, I) → poly6'
  39. Vertex(poly6', 3) → J
  40. Vector(Element[list1', 6], J) → m
  41. Translate(Element[list2', 6], m) → poly7
  42. Rotate(poly7, ((((-g) * 6) * 360 / Sides))°, J) → poly7'
  43. Rotate(poly7, ((((-g) * 6) * 360 / Sides))°, J) → poly7'_1
  44. Vertex(poly7'_1, 3) → K
  45. Vector(Element[list1', 7], K) → n
  46. Translate(Element[list2', 7], n) → poly8
  47. Rotate(poly8, ((((-g) * 7) * 360 / Sides))°, K) → poly8'
  48. Vertex(poly8', 3) → L
  49. Vector(Element[list1', 8], L) → p
  50. Translate(Element[list2', 8], p) → poly9
  51. Rotate(poly9, ((((-g) * 8) * 360 / Sides))°, L) → poly9'
  52. Vertex(poly9', 3) → M
  53. Vector(Element[list1', 9], M) → q
  54. Translate(Element[list2', 9], q) → poly10
  55. Vertex(poly2, 2) → B
  56. Vertex(poly3', 2) → N
  57. Vertex(poly4', 2) → O
  58. Vertex(poly5', 2) → P
  59. Vertex(poly6', 2) → Q
  60. Vertex(poly7'_1, 2) → R
  61. Vertex(poly8', 2) → S
  62. Vertex(poly9', 2) → T
  63. Rotate(poly2, (((-o) * 180))°, B) → poly2'
  64. Rotate(poly3', (((-o) * 180))°, N) → poly3''
  65. Rotate(poly4', (((-o) * 180))°, O) → poly4''
  66. Rotate(poly5', (((-o) * 180))°, P) → poly5''
  67. Rotate(poly6', (((-o) * 180))°, Q) → poly6''
  68. Rotate(poly7'_1, (((-o) * 180))°, R) → poly11
  69. Rotate(poly8', (((-o) * 180))°, S) → poly8''
  70. Rotate(poly9', (((-o) * 180))°, T) → poly9''
  71. Dilate(B, 1 - r, C) → B'
  72. Dilate(N, 1 - r, F) → N'
  73. Dilate(O, 1 - r, G) → O'
  74. Dilate(P, 1 - r, H) → P'
  75. Dilate(Q, 1 - r, I) → Q'
  76. Dilate(R, 1 - r, J) → R'
  77. Dilate(S, 1 - r, K) → S'
  78. Dilate(T, 1 - r, L) → T'
  79. Vector(N, N') → s_1
  80. Vector(B, B') → t
  81. Vector(O, O') → u_1
  82. Vector(P, P') → v_1
  83. Vector(Q, Q') → w_1
  84. Vector(R, R') → a_1
  85. Vector(S, S') → b_1
  86. Vector(T, T') → c_1
  87. Translate(poly2', t) → poly2''
  88. Translate(poly3'', s_1) → poly3'''
  89. Translate(poly4'', u_1) → poly4'''
  90. Translate(poly5'', v_1) → poly5'''
  91. Translate(poly6'', w_1) → poly6'''
  92. Translate(poly11, a_1) → poly11'
  93. Translate(poly8'', b_1) → poly8'''
  94. Translate(poly9'', c_1) → poly9'''