Area of a Circle as a Parallelogram – Demonstrating the Half‑Circumference Base

Area of a Circle as a Parallelogram – Demonstrating the Half‑Circumference Base
Loading the math board and drawing, please wait…
2016-03-18 00:12
This GeoGebra example visualizes the classic proof that the area of a circle equals the area of a parallelogram whose base is half the circumference and height equals the radius. The construction uses the Circle command to draw the original circle, Point objects for the center and key vertices, Vector to create radius vectors, Translate and Rotate to reposition these vectors into a parallelogram shape, and Polygon to form the resulting quadrilateral. Additional commands such as Line, Angle, Mirror, OrthogonalLine, and Segment are employed to draw auxiliary lines and verify perpendicular relationships. The interactive applet is ideal for high‑school geometry classes, helping students grasp the concept of similarity transformations, vector addition, and area derivation through dynamic manipulation.

GeoGebra Commands & Parameters

  1. Circle(A, a) → c
  2. Point(c) → B
  3. Vector(B, A) → u
  4. Translate(C, Vector[(-u)]) → C'_2
  5. Rotate(C'_2, ((g / 100 * 15))°, C'_2) → C''_2
  6. Line(B, A) → b
  7. Rotate(B, 30*°, A) → B'
  8. Angle(B, A, B') → α
  9. Line(B', A) → d
  10. Circle(C, a) → e
  11. Vector(A, B') → v
  12. Vector(B, B') → w
  13. Translate(C, v) → C'_1
  14. Rotate(C'_2, 60*°, C) → C''_1
  15. Rotate(C'_1, 60*°, C) → D
  16. Line(C'_2, C) → f
  17. Mirror(C'_1, f) → E
  18. Mirror(C''_1, f) → C'''
  19. Mirror(D, f) → D'
  20. Polygon(E, C'_2, C) → poly1, c_1, e_1, c'
  21. Rotate(E, ((g / 100 * 15))°, C'_2) → E'_1
  22. Rotate(C, ((g / 100 * 15))°, C'_2) → C'_3
  23. Polygon(E'_1, C''_2, C'_3) → poly1', c'_1, e', c''
  24. Polygon(C''', E, C) → poly2, c_2, c''', e_2
  25. Rotate(C''', (g / 100 * β), F) → G
  26. Rotate(E, (g / 100 * β), F) → E'
  27. Rotate(C, (g / 100 * β), F) → C'_4
  28. Polygon(G, E', C'_4) → poly2', c'_2, g_1, e'_1
  29. Polygon(C, D', C''') → poly3, c'''_1, c_3, d'
  30. Rotate(C, (g / 100 * γ), H) → C'
  31. Rotate(D', (g / 100 * γ), H) → D''
  32. Rotate(C''', (g / 100 * γ), H) → I
  33. Polygon(C', D'', I) → poly3', i, c'_3, d''
  34. Mirror(C', f) → C''_3
  35. Mirror(D'', f) → D'''_1
  36. Mirror(I, f) → I'_1
  37. Polygon(C''_3, D'''_1, I'_1) → poly3''_1, i', c''_1, d'''
  38. Mirror(G, f) → G'_1
  39. Mirror(E', f) → E''_1
  40. Mirror(C'_4, f) → J
  41. Polygon(G'_1, E''_1, J) → poly2''_1, j, g', e''
  42. Mirror(E'_1, f) → K
  43. Mirror(C''_2, f) → L
  44. Mirror(C'_3, f) → M
  45. Polygon(K, L, M) → poly1''_1, m, k, l
  46. OrthogonalLine(C, f) → h
  47. Mirror(C', h) → C''
  48. Mirror(D'', h) → D'''
  49. Mirror(I, h) → I'
  50. Polygon(C'', D''', I') → poly3'', i'_1, c''_2, d'''_1
  51. Mirror(G, h) → G'
  52. Mirror(E', h) → E''
  53. Mirror(C'_4, h) → N
  54. Polygon(G', E'', N) → poly2'', n, g'_1, e''_1
  55. Mirror(E'_1, h) → O
  56. Mirror(C''_2, h) → P
  57. Mirror(C'_3, h) → Q
  58. Polygon(O, P, Q) → poly1'', q, o, p
  59. Mirror(K, h) → K'
  60. Mirror(L, h) → L'
  61. Mirror(M, h) → M'
  62. Polygon(K', L', M') → poly4, m', k', l'
  63. Mirror(G'_1, h) → R
  64. Mirror(E''_1, h) → S
  65. Mirror(J, h) → J'
  66. Polygon(R, S, J') → poly5, j', r, s
  67. Mirror(C''_3, h) → T
  68. Mirror(D'''_1, h) → U
  69. Mirror(I'_1, h) → V
  70. Polygon(T, U, V) → poly6, v_1, t, u_1
  71. Vector((0, 0), (-3.27, 2.09)) → offsetvector
  72. Point(c) → W
  73. Rotate(W, 30*°, A) → W'
  74. Angle(W, A, W') → δ
  75. Vector(W', W) → z
  76. Vector(W', A) → w_1
  77. Polygon(TestPoint, E_1, D_1, J_1, TestB, Z, F_1, A_1, G_1, B_1, H_1, C_1, I_1) → poly7, testpoint, i_1, d_1, j_1, testb, e_3, z_1, f_1, a_1, g_2, b_1, h_1, c_4
  78. Translate(TestPoint, Vector[((g - 100) / 100 * w_1)]) → TestPoint'_1
  79. Translate(E_1, Vector[((g - 100) / 100 * w_1)]) → K_1
  80. Translate(Z, Vector[((g - 100) / 100 * w_1)]) → Z'_1
  81. Translate(F_1, Vector[((g - 100) / 100 * w_1)]) → L_1
  82. Translate(A_1, Vector[((g - 100) / 100 * w_1)]) → M_1
  83. Translate(G_1, Vector[((g - 100) / 100 * w_1)]) → N_1
  84. Translate(B_1, Vector[((g - 100) / 100 * w_1)]) → O_1
  85. Translate(H_1, Vector[((g - 100) / 100 * w_1)]) → P_1
  86. Translate(C_1, Vector[((g - 100) / 100 * w_1)]) → Q_1
  87. Translate(I_1, Vector[((g - 100) / 100 * w_1)]) → R_1
  88. Translate(D_1, Vector[((g - 100) / 100 * w_1)]) → S_1
  89. Translate(J_1, Vector[((g - 100) / 100 * w_1)]) → T_1
  90. Translate(TestB, Vector[((g - 100) / 100 * w_1)]) → TestB'_1
  91. Polygon(TestPoint'_1, K_1, S_1, T_1, TestB'_1, Z'_1, L_1, M_1, N_1, O_1, P_1, Q_1, R_1) → poly7'_1, testpoint', r_1, s_1, t_1, testb', k_1, z', l_1, m_1, n_1, o_1, p_1, q_1
  92. Mirror(TestPoint, h) → TestPoint'
  93. Mirror(E_1, h) → U_1
  94. Mirror(Z, h) → Z'
  95. Mirror(F_1, h) → V_1
  96. Mirror(A_1, h) → W_1
  97. Mirror(G_1, h) → Z_1
  98. Mirror(B_1, h) → A_2
  99. Mirror(H_1, h) → B_2
  100. Mirror(C_1, h) → C_2
  101. Mirror(I_1, h) → D_2
  102. Mirror(D_1, h) → E_2
  103. Mirror(J_1, h) → F_2
  104. Mirror(TestB, h) → TestB'
  105. Polygon(TestPoint', U_1, E_2, F_2, TestB', Z', V_1, W_1, Z_1, A_2, B_2, C_2, D_2) → poly7', testpoint'_1, d_2, e_4, f_2, testb'_1, u_2, z'_1, v_2, w_2, z_2, a_2, b_2, c_5
  106. Segment(G_2, H_2) → h_2
  107. Segment(I_2, J_2) → i_2