Polygon Angle Sums: Dynamic Quadrilateral through Octagon

Polygon Angle Sums: Dynamic Quadrilateral through Octagon
Loading the math board and drawing, please wait…
2017-11-08 23:44
① This interactive GeoGebra example dynamically demonstrates the interior and exterior angle sum theorems for polygons ranging from quadrilaterals to octagons, allowing users to drag vertices and observe angle changes in real time. ② Core mathematical concepts include the polygon interior angle sum formula (n-2)×180°, the constant exterior angle sum of 360°, and behavior for both convex and concave polygons. ③ Construction highlights: using GeoGebra commands such as Ray, Point, Circle, Intersect, Segment, Angle, CircleSector, Vector, Translate, Dilate, If, Line, Polygon, Rotate, Mirror, Midpoint, and CircleArc, the example builds adjustable polygons with labeled angle arcs and dynamic modification via sliders or draggable points. ④ Suitable for middle and high school geometry classes, math lab activities, or self-directed exploration, this resource helps learners grasp the fundamental angle-sum relationships and serves as an effective teaching aid for classroom demonstrations or flipped lessons.

GeoGebra Commands & Parameters

  1. Ray(P, A) → h_1
  2. Point(h_1) → R
  3. Ray(A, R) → j_1
  4. Ray(A, B) → a
  5. Circle(A, 1.5) → g
  6. Intersect(g, j_1) → I_1,
  7. Intersect(g, a, 1) → H
  8. Segment(P, A) → l_1
  9. Intersect(g, l_1, 1) → H_1
  10. Segment(P, C) → k_1
  11. Circle(C, 1.5) → k
  12. Intersect(k, k_1) → Z,
  13. Ray(B, C) → b
  14. Intersect(k, b) → M, N
  15. Point(a) → D_1
  16. Point(b) → E_1
  17. Ray(B, D_1) → e
  18. Ray(C, E_1) → f
  19. Point(e) → D
  20. Point(f) → E
  21. Angle(A, C, B) → γ
  22. Angle(D, B, C) → ε
  23. Angle(E, C, A) → ζ
  24. Circle(B, 1.5) → h
  25. Intersect(h, b, 1) → J
  26. Intersect(h, a, 1) → K
  27. Intersect(h, a, 2) → L
  28. CircleSector(B, J, K) → q
  29. CircleSector(B, L, J) → t
  30. Vector(B, C) → u
  31. CircleSector(A, I_1, H) → c_1
  32. Vector(A, C) → v
  33. Translate(q, u) → q'
  34. Segment(B, C) → l
  35. Dilate(C, If[0 < j ≤ 1, j, 0], B) → C'
  36. Vector(B, C') → w
  37. Translate(q, w) → q'_1
  38. Dilate(A, If[1 < j ≤ 2, 2 - j, 0], C) → C'_1
  39. Vector(A, C'_1) → m
  40. Dilate(C, If[0 < n ≤ 1, n, 0], B) → C'_2
  41. Dilate(A, If[1 < n ≤ 2, 2 - n, 0], C) → A'
  42. Vector(B, C'_2) → u_1
  43. Vector(A, A') → v_1
  44. If(0 < n ≤ 1, Translate[t, u_1], Translate[t, u]) → e_1
  45. If(1 < n ≤ 2, Translate[c_1, v_1], Translate[c_1, v]) → f_1
  46. Ray(C, P) → g_1
  47. Point(g_1) → Q
  48. Ray(P, Q) → i_1
  49. Point(i_1) → S
  50. Point(j_1) → T
  51. Circle(P, 1.5) → p_1
  52. Intersect(p_1, l_1) → U,
  53. Intersect(p_1, i_1) → V,
  54. Intersect(p_1, k_1) → W,
  55. CircleSector(P, U, W) → q_1
  56. Intersect(k, b, 2) → A_1
  57. Line(P, b) → b_1
  58. Intersect(p_1, b_1) → C_1, G_1
  59. Angle(B, A, P) → α
  60. Vector(P, C) → i
  61. Dilate(P, If[2 < j ≤ 3, 3 - j, 0], C) → P'
  62. Vector(P, P') → w_1
  63. Translate(q_1, w_1) → r_1
  64. CircleSector(C, N, Z) → s
  65. CircleSector(P, V, U) → t_1
  66. Dilate(P, If[2 < n ≤ 3, 3 - n, 0], C) → P'_1
  67. Vector(P, P'_1) → m_1
  68. If(2 < n ≤ 3, Translate[t_1, m_1], Translate[t_1, w_1]) → e_2
  69. Angle(H, A, I_1) → δ
  70. Angle(V, P, U) → η
  71. Angle(U, P, W) → θ
  72. Polygon(A, B, C, P) → poly1, a_2, b_2, c_2, p_2
  73. Segment(A, C) → n_1
  74. Intersect(g, n_1) → F,
  75. Intersect(k, n_1) → G,
  76. Line(P, n_1) → c
  77. Line(B, n_1) → d
  78. CircleSector(C, Z, G) → d_1
  79. CircleSector(C, G, M) → s_1
  80. CircleSector(A, H, F) → d_2
  81. If(0 < j ≤ 1, Dilate[C, 1 - j, B]) → I
  82. If(1 < j ≤ 2, Dilate[A, 2 - j, P]) → O
  83. If(1 < j ≤ 2, Dilate[C, 2 - j, P]) → B_1
  84. Vector(C, I) → r
  85. Vector(A, O) → u_2
  86. Translate(s_1, r) → h_2
  87. Rotate(d_2, 180°, A) → k_2
  88. Vector(A, B) → v_2
  89. Vector(C, B) → w_2
  90. Translate(s_1, w_2) → s_2
  91. Mirror(s_2, B) → t_2
  92. Vector(A, P) → i_2
  93. Vector(C, P) → j_2
  94. CircleSector(A, F, H_1) → f_2
  95. Translate(f_2, i_2) → d_3
  96. Vector(C, B_1) → l_2
  97. Translate(d_1, j_2) → f_3
  98. Mirror(f_3, P) → g_3
  99. Translate(f_2, u_2) → h_3
  100. Translate(d_1, l_2) → k_3
  101. Segment(A, B) → m_2
  102. Polygon(A, B, C) → poly2, c_4, a_3, b_3
  103. Polygon(A, C, P) → poly3, p_4, a_4, c_5
  104. Midpoint(m_2) → M_4
  105. Midpoint(l) → J_1
  106. Midpoint(k_1) → M_2
  107. Midpoint(l_1) → M_3
  108. Segment(J, C) → n_2
  109. Segment(J_1, C) → i_3
  110. Rotate(J_1, If[0 < j ≤ 1, (((-j) * 180))°, -180°], J_1) → M_1
  111. Rotate(C, If[0 < j ≤ 1, (((-j) * 180))°, -180°], J_1) → C'_3
  112. Segment(M_1, C'_3) → j_3
  113. Rotate(s_1, If[0 < j ≤ 1, (((-j) * 180))°, -180°], J_1) → r_3
  114. Segment(J_1, B) → r_2
  115. Rotate(d_2, If[0 < j ≤ 1, ((j * 180))°, 180°], M_4) → p
  116. Rotate(A, If[0 < j ≤ 1, ((j * 180))°, 180°], M_4) → A'_1
  117. Segment(M_4, A'_1) → g_2
  118. Rotate(C, If[1 < j ≤ 2, (((j - 1) * 180))°, 180°], M_2) → C'_4
  119. Segment(M_2, C'_4) → q_2
  120. Rotate(d_1, If[1 < j ≤ 2, (((j - 1) * 180))°, 180°], M_2) → c_3
  121. Rotate(A, If[1 < j ≤ 2, (((-(j - 1)) * 180))°, 180°], M_3) → A'_2
  122. Segment(M_3, A'_2) → e_3
  123. Rotate(f_2, If[1 < j ≤ 2, (((-(j - 1)) * 180))°, 180°], M_3) → p_3
  124. CircleArc(C, G, M) → q_3
  125. CircleArc(A, H, F) → s_3
  126. CircleArc(C, Z, G) → t_3
  127. CircleArc(A, F, H_1) → d_4
  128. Segment(M_2, C) → l_3
  129. Segment(M_2, P) → m_3
  130. Segment(P, M_3) → n_3
  131. Segment(M_3, A) → b_4
  132. Segment(A, M_4) → e_4
  133. Segment(M_4, B) → f_4