Wonders of a Regular Nonagon

Wonders of a Regular Nonagon
Loading the math board and drawing, please wait…
2019-05-14 00:30
This example demonstrates the dynamic construction of a regular nonagon using transformations such as rotation and translation. Key mathematical concepts include polygons, circles, vectors, and transformations. Using GeoGebra commands like Polygon, Rotate, and Translate, users can adjust the side lengths and angles of the nonagon dynamically. Suitable for high school geometry students and math enthusiasts.

GeoGebra Commands & Parameters

  1. Polygon(A, B, 9) → poly1, f, C, D, E, F, G, H, I, g, h, i, j, k, l, m, n
  2. Line(F, D) → p
  3. Line(F, B) → q
  4. Line(D, B) → r
  5. Segment(F, E) → s
  6. Circle(F, E) → c
  7. Intersect(c, q, 2) → J
  8. Line(E, I) → t
  9. Segment(F, G) → a
  10. Segment(G, H) → b
  11. Segment(H, I) → d
  12. Segment(I, A) → e
  13. Segment(A, B) → f_1
  14. Segment(B, C) → g_1
  15. Segment(C, D) → h_1
  16. Segment(D, E) → i_1
  17. Rotate(B, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → B'
  18. Rotate(C, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → C'
  19. Segment(B', C') → j_1
  20. Rotate(C, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → C'_1
  21. Rotate(D, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → D'
  22. Segment(C'_1, D') → k_1
  23. Rotate(D, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → D'_1
  24. Rotate(E, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → E'
  25. Segment(D'_1, E') → l_1
  26. Rotate(F, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → F'
  27. Rotate(E, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → E'_1
  28. Segment(F', E'_1) → s'
  29. Rotate(F, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → F'_1
  30. Rotate(G, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → G'
  31. Segment(F'_1, G') → a'
  32. Rotate(G, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → G'_1
  33. Rotate(H, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → H'
  34. Segment(G'_1, H') → b'
  35. Rotate(H, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → H'_1
  36. Rotate(I, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → I'
  37. Segment(H'_1, I') → d'
  38. Rotate(I, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → I'_1
  39. Rotate(A, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → A'
  40. Segment(I'_1, A') → e'
  41. Rotate(A, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → A'_1
  42. Rotate(B, If[0 < o ≤ 1, ((o * 2) * π / 9), (2 * π / 9)], Center[Circle[D, E, F]]) → B'_1
  43. Segment(A'_1, B'_1) → n_1
  44. Rotate(poly1, If[1.5 < o ≤ 2.5, (((o - 1.5) * 2) * π / 9), (2 * π / 9)], Center[Circle[A, B, C]]) → poly1'
  45. Dilate(E'_1, If[3 < o ≤ 4, 4 - o, 0], J) → K
  46. Dilate(J, If[4 < o ≤ 5, 5 - o, 0], A'_1) → J'
  47. Dilate(C'_1, If[5 < o ≤ 6, 6 - o, 0], A'_1) → L
  48. Rotate(E', If[7 < o ≤ 8, ((-(o - 7)) * π / 3), ((-π)) / 3], E'_1) → E''
  49. Rotate(C'_1, If[8 < o ≤ 9, (((o - 8) * 2) * π / 9), (2 * π / 9)], A'_1) → N
  50. Rotate(L, If[8 < o ≤ 9, (((o - 8) * 2) * π / 9), (2 * π / 9)], A'_1) → L'
  51. Rotate(B, If[3 < o ≤ 5, ((o - 3) * π), (2 * π)], Center[Circle[A, B, C]]) → B'_2
  52. Center(Circle[A, B, C]) → O
  53. CircleArc(O, B, B'_2) → c_1
  54. Circle(A, B, C) → d_1
  55. Midpoint(C'_1, D'_1) → P
  56. Midpoint(D'_1, E'_1) → Q
  57. Dilate(C'_1, If[5 < o ≤ 6, 6 - o, 0], P) → M
  58. Segment(C'_1, M) → q_1
  59. Rotate(C'_1, If[6 < o ≤ 7, ((-(o - 6)) * π), (-π)], P) → R
  60. Rotate(M, If[6 < o ≤ 7, ((-(o - 6)) * π), (-π)], P) → M'
  61. Segment(R, M') → r_1
  62. Rotate(R, If[7 < o ≤ 8, (((-(o - 7)) * 7) * π / 9), (-7 * π / 9)], D'_1) → R'
  63. Rotate(M', If[7 < o ≤ 8, (((-(o - 7)) * 7) * π / 9), (-7 * π / 9)], D'_1) → M''
  64. Segment(R', M'') → t_1
  65. Rotate(R', If[8 < o ≤ 9, ((-(o - 8)) * π), (-π)], M'') → R''
  66. Rotate(M'', If[8 < o ≤ 9, ((-(o - 8)) * π), (-π)], M'') → M'''
  67. Segment(R'', M''') → m_1
  68. Line(O, M'') → p_1
  69. Intersect(d_1, p_1, 2) → S
  70. Midpoint(O, S) → T
  71. Dilate(O, If[10 < o ≤ 11, 11 - o, 0], T) → O'
  72. Segment(O, O') → s_1
  73. Dilate(T, If[11 < o ≤ 12, 12 - o, 0], S) → T'
  74. Segment(T, T') → a_1
  75. Rotate(O, If[12 < o ≤ 13, ((o - 12) * π), π], T) → O'_1
  76. Rotate(O', If[12 < o ≤ 13, ((o - 12) * π), π], T) → O''
  77. Segment(O'_1, O'') → b_1
  78. Dilate(T, If[13 < o ≤ 14, 14 - o, 0], P) → T'_1
  79. Dilate(O, If[13 < o ≤ 14, 14 - o, 0], P) → O'_2
  80. Segment(O, O'_2) → e_1
  81. Segment(T, T'_1) → f_2
  82. Line(G', C'_1) → g_2
  83. OrthogonalLine(F', g_2) → h_2
  84. Intersect(h_2, g_2) → U
  85. Angle(C'_1, U, F') → α
  86. Segment(G', U) → i_2
  87. Segment(F', U) → j_2
  88. Rotate(U, 30°, G') → U'
  89. Angle(U, G', U') → β
  90. Ray(G', U') → k_2
  91. Circle(F', (0.6 * i_2)) → d_2
  92. Intersect(d_2, a', 1) → V
  93. Segment(G', U') → l_2
  94. Dilate(G', If[15 < o ≤ 16, 16 - o, 0], D) → G''
  95. Segment(G', G'') → m_2
  96. Dilate(F', If[15 < o ≤ 16, 16 - o, 0], U) → F''
  97. Segment(F', F'') → n_2
  98. Rotate(V, If[16 < o ≤ 17, ((o - 16) * π / 6), π / 6], F') → V'
  99. CircleSector(F', V, V') → c_2
  100. Dilate(G', If[17 < o ≤ 18, 18 - o, 0], U') → G''_1
  101. Segment(G', G''_1) → p_2
  102. Dilate(F', If[19 < o ≤ 20, 20 - o, 0], G') → F''_1
  103. Vector(F', F''_1) → u
  104. Translate(c_2, u) → e_2
  105. Rotate(e_2, If[19 < o ≤ 20, (((o - 19) * 5) * π / 6), (5 * π / 6)], F''_1) → q_2
  106. Rotate(q_2, If[21 < o ≤ 22, ((-(o - 21)) * π / 6), ((-π)) / 6], G') → r_2
  107. Line(G', e_1) → s_2
  108. Dilate(G', If[23 < o ≤ 24, 24 - o, 0], P) → G''_2
  109. Vector(G', G''_2) → v
  110. Translate(r_2, v) → t_2
  111. Rotate(t_2, If[23 < o ≤ 24, ((o - 23) * π), π], G''_2) → c_3