Ratio of Circle Circumference to Diameter

Ratio of Circle Circumference to Diameter
Loading the math board and drawing, please wait…
2024-08-19 19:16
This example demonstrates the constant ratio of a circle's circumference to its diameter, which is π. Students can visually understand the concept of π by constructing a circle, its diameter, and circumference using GeoGebra commands such as Sequence, Element, Textfield, Segment, Circle, CircleArc, Text, Join, If, etc. Suitable for 7-8th grade students to learn basic properties of circles.

GeoGebra Commands & Parameters

  1. Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {8, 3, 7, 10, 5, 5, 9, 3, 3, 1}
  2. Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumber
  3. Textfield(input) → inputBox
  4. Segment(StartP1 + (0, radius1), StartP1 + (((2 * pi) * radius1), radius1)) → SegMP1
  5. Circle(MP1, radius1) → Circle1
  6. CircleArc(MP1, FC1, MP1 + (radius1 * (cos(-90° - (360° * anim1)), sin(-90° - (360° * anim1))))) → Arc1
  7. Segment(StartP1, FC1) → seg1
  8. Segment(MP1 + ((-radius1), 0), MP1 + (radius1, 0)) → durchmesser1
  9. Segment(StartP1, StartP1 + (((2 * radius1) * If[anim1 < 1 / pi, 1, anim1 < 2 / pi, 2, anim1 < 3 / pi, 3, 4]), 0)) → line1
  10. Sequence(StartP1 + (((k * 2) * radius1), 0), k, 0, 4) → PointList1
  11. Sequence(Segment[StartP1 + (((k * 2) * radius1), (-segLength)), StartP1 + (((k * 2) * radius1), segLength)], k, 0, If[1 / pi > anim1 > 0, 0, 2 / pi > anim1 ≥ 1 / pi, 1, 3 / pi > anim1 ≥ 2 / pi, 2, 1 ≥ anim1 ≥ 3 / pi, 3, -1]) → SegList1
  12. Textfield(input031) → InputBox031
  13. Segment(MP1 + (radius1 * (cos(-90° - (360° * anim1)), sin(-90° - (360° * anim1)))) + ((-segLength) * UnitVector[Vector[MP1, MP1 + (radius1 * (cos(-90° - (360° * anim1)), sin(-90° - (360° * anim1))))]]), MP1 + (radius1 * (cos(-90° - (360° * anim1)), sin(-90° - (360° * anim1)))) + (segLength * UnitVector[Vector[MP1, MP1 + (radius1 * (cos(-90° - (360° * anim1)), sin(-90° - (360° * anim1))))]])) → segT1
  14. Circle(MP2, radius2) → Circle2
  15. Circle(MP3, radius3) → Circle3
  16. Circle(MP4, radius4) → Circle4
  17. Segment(StartP2, MP2 + (0, (-radius2))) → seg2
  18. Segment(StartP3, MP3 + (0, (-radius3))) → seg3
  19. Segment(StartP4, MP4 + (0, (-radius4))) → seg4
  20. Segment(StartP2, StartP2 + (((2 * radius2) * If[anim2 < 1 / pi, 1, anim2 < 2 / pi, 2, anim2 < 3 / pi, 3, 4]), 0)) → line2
  21. Sequence(StartP2 + (((k * 2) * radius2), 0), k, 0, 4) → PointList2
  22. Sequence(StartP3 + (((k * 2) * radius3), 0), k, 0, 4) → PointList3
  23. Sequence(StartP4 + (((k * 2) * radius4), 0), k, 0, 4) → PointList4
  24. Circle(MP5, radius5) → Circle5
  25. CircleArc(MP5, MP5 - (0, radius5), MP5 + (radius5 * (cos(-90° - (360° * anim5)), sin(-90° - (360° * anim5))))) → Arc5
  26. Segment(StartP5, MP5 + (0, (-radius5))) → seg5
  27. Segment(MP5 + ((-radius5), 0), MP5 + (radius5, 0)) → segD5
  28. Text("\textsf{\bold{\textcolor{#1565C0}{1}}}", MP5, false, true, 0, 1) → CapD5
  29. Segment(Origin, Origin + ((8 * radius5) + 0.5, 0)) → line5
  30. Sequence(Origin + (((k * 2) * radius5), 0), k, 0, 4) → PointList5
  31. Segment(Origin + (((2 * pi) * radius5), (-2 * segLength / ZoomFactor)), Origin + (((2 * pi) * radius5), (2 * segLength / ZoomFactor))) → segT5
  32. Sequence(Segment[PointList5(k) + (0, ((-segLength)) / ZoomFactor), PointList5(k) + (0, segLength / ZoomFactor)], k, 1, 5) → SegList5
  33. Sequence(Text[(("\textsf{" * k) * "}"), PointList5(k + 1) + (0, ((-segLength)) / ZoomFactor), false, true, 0, -1], k, 0, 4) → Cap5
  34. Sequence(Origin + (((k * 2) * radius5), 0), k, 2.7, 3.6, 0.1) → PointList51
  35. Sequence(Origin + (((k * 2) * radius5), 0), k, 3.1, 3.2, 0.01) → PointList52
  36. Sequence(Origin + (((k * 2) * radius5), 0), k, 3.135, 3.15, 0.001) → PointList53
  37. Sequence(Origin + (((k * 2) * radius5), 0), k, 3.141, 3.142, 0.0001) → PointList54
  38. Sequence(Segment[PointList51(k) + (0, ((-segLength51)) / ZoomFactor), PointList51(k) + (0, segLength51 / ZoomFactor)], k, 1, Length[PointList51]) → SegList51
  39. Sequence(Segment[PointList52(k) + (0, ((-segLength51)) / ZoomFactor), PointList52(k) + (0, segLength51 / ZoomFactor)], k, 1, Length[PointList52]) → SegList52
  40. Sequence(Segment[PointList53(k) + (0, ((-segLength51)) / ZoomFactor), PointList53(k) + (0, segLength51 / ZoomFactor)], k, 1, Length[PointList53]) → SegList53
  41. Sequence(Segment[PointList54(k) + (0, ((-segLength51)) / ZoomFactor), PointList54(k) + (0, segLength51 / ZoomFactor)], k, 1, Length[PointList54]) → SegList54
  42. Sequence(Origin + (((k * 2) * radius5), 0), k, 3.14155, 3.14165, 0.00001) → PointList55
  43. Sequence(Segment[PointList55(k) + (0, ((-segLength51)) / ZoomFactor), PointList55(k) + (0, segLength51 / ZoomFactor)], k, 1, Length[PointList55]) → SegList55
  44. Sequence((("\textsf{" * ReplaceAll[Text[k], ".", ","]) * "}"), k, 2.7, 3.6, 0.1) → TxtList51
  45. Sequence(Text[TxtList51(k), PointList51(k) + (0, ((-segLength)) / ZoomFactor), false, true, 0, -1], k, 1, Length[PointList51]) → Cap51
  46. Sequence((("\textsf{" * ReplaceAll[Text[k], ".", ","]) * "}"), k, 3.1, 3.2, 0.01) → TxtList52
  47. Sequence(Text[TxtList52(k), PointList52(k) + (0, ((-segLength)) / ZoomFactor), false, true, 0, -1], k, 1, Length[PointList52]) → Cap52
  48. Sequence((("\textsf{" * ReplaceAll[Text[k], ".", ","]) * "}"), k, 3.135, 3.15, 0.001) → TxtList53
  49. Sequence(Text[TxtList53(k), PointList53(k) + (0, ((-segLength)) / ZoomFactor), false, true, 0, -1], k, 1, Length[PointList53]) → Cap53
  50. Sequence((("\textsf{" * ReplaceAll[Text[k], ".", ","]) * "}"), k, 3.141, 3.142, 0.0001) → TxtList54
  51. Sequence(Text[TxtList54(k), PointList54(k) + (0, ((-segLength)) / ZoomFactor), false, true, 0, -1], k, 1, Length[PointList54]) → Cap54
  52. Sequence((("\textsf{" * ReplaceAll[Text[k], ".", ","]) * "}"), k, 3.14155, 3.14165, 0.00001) → TxtList55
  53. Sequence(Text[TxtList55(k), PointList55(k) + (0, ((-segLength)) / ZoomFactor), false, true, 0, -1], k, 1, Length[PointList55]) → Cap55
  54. Segment(StartP6, StartP6 + (((2 * radius6) * pi), 0)) → seg6
  55. Circle(MP6, radius6) → Circle6
  56. Join({Sequence[StartP6 + (((k * radius6) * 2), 0), k, 0, 3], {StartP6 + (((2 * radius6) * pi), 0)}}) → PointList6
  57. Join({Sequence[(("\textsf{\textcolor{black}{" * k) * "}}"), k, 0, 3], {(("\textsf{\textcolor{#DB6114}{\large{" * pi) * " ≈ 3,14159}}}")}}) → TxtList6
  58. Sequence(Segment[PointList6(k) + (0, (-segLength)), PointList6(k) + (0, segLength)], k, 1, 4) → SegList6
  59. Segment(PointList6(5) + (0, (-segLength)), PointList6(5) + (0, segLength)) → segT6
  60. If(step ≟ 2, anim1 ≟ 1, step ≟ 8, ZoomCounter ≟ 5, true, step ≟ 3, correct031, step ≟ 4, anim2 ≟ 3, step ≟ 6, anim5 ≟ 1, step ≟ 7, false) → clickableBtnNext
  61. Sequence(Text[TxtList6(k), PointList6(k) + (If[k ≟ 5, -0.3, 0], (-segLength) + If[k ≟ 5, 0.05, 0]), false, true, If[k < 5, 0, 1], -1], k, 1, 5) → Cap6
  62. Segment(MP1 + ((-radius1), 0) + (animd * (FC1 - MP1 - ((-radius1), 0))), MP1 + ((-radius1), 0) + (animd * (FC1 - MP1 - ((-radius1), 0))) + ((2 * radius1), 0)) → durchmesser2
  63. CircleArc(MP2, MP2 - (0, radius2), MP2 + (radius2 * (cos(-90° - (360° * Min[anim2, 1])), sin(-90° - (360° * Min[anim2, 1]))))) → Arc2
  64. CircleArc(MP3, MP3 - (0, radius3), MP3 + (radius3 * (cos(-90° - (360° * Min[Max[anim2 - 1, 0], 1])), sin(-90° - (360° * Min[Max[anim2 - 1, 0], 1]))))) → Arc3
  65. CircleArc(MP4, MP4 - (0, radius4), MP4 + (radius4 * (cos(-90° - (360° * Min[Max[anim2 - 2, 0], 1])), sin(-90° - (360° * Min[Max[anim2 - 2, 0], 1]))))) → Arc4
  66. Segment(MP2 + (radius2 * (cos(-90° - (360° * Min[anim2, 1])), sin(-90° - (360° * Min[anim2, 1])))) - (segLength * UnitVector[Vector[MP2, MP2 + (radius2 * (cos(-90° - (360° * Min[anim2, 1])), sin(-90° - (360° * Min[anim2, 1]))))]]), MP2 + (radius2 * (cos(-90° - (360° * Min[anim2, 1])), sin(-90° - (360° * Min[anim2, 1])))) + (segLength * UnitVector[Vector[MP2, MP2 + (radius2 * (cos(-90° - (360° * Min[anim2, 1])), sin(-90° - (360° * Min[anim2, 1]))))]])) → segT2
  67. Segment(MP4 + (radius4 * (cos(-90° - (360° * Min[Max[anim2 - 2, 0], 1])), sin(-90° - (360° * Min[Max[anim2 - 2, 0], 1])))) - (segLength * UnitVector[Vector[MP4, MP4 + (radius4 * (cos(-90° - (360° * Min[Max[anim2 - 2, 0], 1])), sin(-90° - (360° * Min[Max[anim2 - 2, 0], 1]))))]]), MP4 + (radius4 * (cos(-90° - (360° * Min[Max[anim2 - 2, 0], 1])), sin(-90° - (360° * Min[Max[anim2 - 2, 0], 1])))) + (segLength * UnitVector[Vector[MP4, MP4 + (radius4 * (cos(-90° - (360° * Min[Max[anim2 - 2, 0], 1])), sin(-90° - (360° * Min[Max[anim2 - 2, 0], 1]))))]])) → segT4
  68. Segment(MP3 + (radius3 * (cos(-90° - (360° * Min[Max[anim2 - 1, 0], 1])), sin(-90° - (360° * Min[Max[anim2 - 1, 0], 1])))) - (segLength * UnitVector[Vector[MP3, MP3 + (radius3 * (cos(-90° - (360° * Min[Max[anim2 - 1, 0], 1])), sin(-90° - (360° * Min[Max[anim2 - 1, 0], 1]))))]]), MP3 + (radius3 * (cos(-90° - (360° * Min[Max[anim2 - 1, 0], 1])), sin(-90° - (360° * Min[Max[anim2 - 1, 0], 1])))) + (segLength * UnitVector[Vector[MP3, MP3 + (radius3 * (cos(-90° - (360° * Min[Max[anim2 - 1, 0], 1])), sin(-90° - (360° * Min[Max[anim2 - 1, 0], 1]))))]])) → segT3
  69. Sequence(Segment[PointList2(k) + (0, (-segLength)), PointList2(k) + (0, segLength)], k, 1, If[1 / pi > anim2 ≥ 0, 1, 2 / pi > anim2 ≥ 1 / pi, 2, 3 / pi > anim2 ≥ 2 / pi, 3, 1 ≥ anim2 ≥ 3 / pi, 4, 4]) → SegList2
  70. Sequence(Segment[PointList3(k) + (0, (-segLength)), PointList3(k) + (0, segLength)], k, 1, If[1 + 1 / pi > anim2 ≥ 0, 1, 1 + 2 / pi > anim2 ≥ 1 + 1 / pi, 2, 1 + 3 / pi > anim2 ≥ 1 + 2 / pi, 3, 3 ≥ anim2 ≥ 1 + 3 / pi, 4, 4]) → SegList3
  71. Sequence(Segment[PointList4(k) + (0, (-segLength)), PointList4(k) + (0, segLength)], k, 1, If[2 + 1 / pi > anim2 ≥ 0, 1, 2 + 2 / pi > anim2 ≥ 2 + 1 / pi, 2, 2 + 3 / pi > anim2 ≥ 2 + 2 / pi, 3, 3 ≥ anim2 ≥ 2 + 3 / pi, 4, 4]) → SegList4
  72. Segment(StartP3, StartP3 + (((2 * radius3) * If[anim2 < 1 + 1 / pi, 1, anim2 < 1 + 2 / pi, 2, anim2 < 1 + 3 / pi, 3, 4]), 0)) → line3
  73. Segment(StartP4, StartP4 + (((2 * radius4) * If[anim2 < 2 + 1 / pi, 1, anim2 < 2 + 2 / pi, 2, anim2 < 2 + 3 / pi, 3, 4]), 0)) → line4
  74. Text("\textsf{{\bold{d}}}", Midpoint[PointList1(1), PointList1(2)] + (0, (-segLength)), false, true, 0, -1) → Capd2
  75. Sequence(Text[(("\textsf{" * k) * "}"), PointList1(k + 1) + (0, (-segLength)), false, true, 0, -1], k, 0, If[anim1 ≟ 0, -1, anim1 < 1 / pi, 0, anim1 < 2 / pi, 1, anim1 < 3 / pi, 2, 3]) → Cap1
  76. Sequence(Text[(("\textsf{" * k) * "}"), PointList2(k + 1) + (0, (-segLength)), false, true, 0, -1], k, 0, If[anim2 ≟ 0, -1, anim2 < 1 / pi, 0, anim2 < 2 / pi, 1, anim2 < 3 / pi, 2, 3]) → Cap2
  77. Sequence(Text[(("\textsf{" * k) * "}"), PointList3(k + 1) + (0, (-segLength)), false, true, 0, -1], k, 0, If[anim2 ≤ 1, -1, anim2 < 1 + 1 / pi, 0, anim2 < 1 + 2 / pi, 1, anim2 < 1 + 3 / pi, 2, 3]) → Cap3
  78. Sequence(Text[(("\textsf{" * k) * "}"), PointList4(k + 1) + (0, (-segLength)), false, true, 0, -1], k, 0, If[anim2 ≤ 2, -1, anim2 < 2 + 1 / pi, 0, anim2 < 2 + 2 / pi, 1, anim2 < 2 + 3 / pi, 2, 3]) → Cap4
  79. Segment(StartP1 + (0, -1), StartP1 + ((2 * radius1), -1)) → segD2
  80. Segment(StartP2 + (0, 0.5), StartP2 + ((2 * radius2), 0.5)) → segD41
  81. Segment(StartP3 + (0, 0.5), StartP3 + ((2 * radius3), 0.5)) → segD42
  82. Segment(StartP4 + (0, 0.5), StartP4 + ((2 * radius4), 0.5)) → segD43
  83. Text("\textsf{\bold{d_1}}", Midpoint[segD41], false, true, 0, 1) → CapD41
  84. Text("\textsf{\bold{d_2}}", Midpoint[segD42], false, true, 0, 1) → CapD42
  85. Text("\textsf{\bold{d_3}}", Midpoint[segD43], false, true, 0, 1) → CapD43
  86. Text("\textsf{{\bold{d}}}", Midpoint[PointList1(2), PointList1(3)] + (0, (-segLength)), false, true, 0, -1) → Capd22
  87. Text("\textsf{{\bold{d}}}", Midpoint[PointList1(3), PointList1(4)] + (0, (-segLength)), false, true, 0, -1) → Capd23
  88. Segment(StartP1 + ((2 * radius1), -1), StartP1 + (((2 * 2) * radius1), -1)) → segD22
  89. Segment(StartP1 + ((4 * radius1), -1), StartP1 + (((3 * 2) * radius1), -1)) → segD23
  90. Segment(StartP2 + ((2 * radius2), 0.5), StartP2 + ((4 * radius2), 0.5)) → segD412
  91. Segment(StartP2 + ((4 * radius2), 0.5), StartP2 + ((6 * radius2), 0.5)) → segD413
  92. Text("\textsf{\bold{d_1}}", Midpoint[segD412], false, true, 0, 1) → CapD412
  93. Text("\textsf{\bold{d_1}}", Midpoint[segD413], false, true, 0, 1) → CapD413
  94. Segment(StartP3 + ((2 * radius3), 0.5), StartP3 + ((4 * radius3), 0.5)) → segD422
  95. Segment(StartP3 + ((4 * radius3), 0.5), StartP3 + ((6 * radius3), 0.5)) → segD423
  96. Segment(StartP4 + ((2 * radius4), 0.5), StartP4 + ((4 * radius4), 0.5)) → segD432
  97. Segment(StartP4 + ((4 * radius4), 0.5), StartP4 + ((6 * radius4), 0.5)) → segD433
  98. Text("\textsf{\bold{d_2}}", Midpoint[segD422], false, true, 0, 1) → CapD422
  99. Text("\textsf{\bold{d_2}}", Midpoint[segD423], false, true, 0, 1) → CapD423
  100. Text("\textsf{\bold{d_3}}", Midpoint[segD432], false, true, 0, 1) → CapD432
  101. Text("\textsf{\bold{d_3}}", Midpoint[segD433], false, true, 0, 1) → CapD433