Area under cycloide

Area under cycloide
Loading the math board and drawing, please wait…
2020-06-14 15:04
This example demonstrates how to calculate the area under a cycloidal curve. The key mathematical concepts involved include integral calculus, differential calculus, limits, and parametric equations. The construction utilizes GeoGebra commands such as CurveCartesian, Point, Intersect, Circle, Segment, Midpoint, Sequence, Translate, and Take. It is suitable for university-level calculus courses to illustrate the method of calculating the area under a cycloidal curve and its geometric significance.

GeoGebra Commands & Parameters

  1. CurveCartesian((R * (i - sin(i))), (R * (1 - cos(i))), i, 0, Animation) → b
  2. Point(b) → L
  3. Intersect(xAxis, yAxis) → O
  4. Circle(C, R) → c
  5. Segment(C, A) → d
  6. Segment(D, B) → a
  7. Midpoint(a) → F
  8. Midpoint(O, B) → G
  9. Midpoint(B, E) → H
  10. Circle(D, If[Animation < 15, ((Animation - 10) * R / 5), R]) → q
  11. Midpoint(d) → Z
  12. Sequence(((R * (i - sin(i))), (R * (1 - cos(i)))), i, 0, (2 * π), (2 * π / 30)) → l1
  13. Sequence(Polygon[B, Element[l1, i], Element[l1, i + 1]], i, 1, Length[l1] / 3) → l2
  14. Sequence(Polygon[B, Element[l1, i], Element[l1, i + 1]], i, 1 + Length[l1] / 3, (2 * Length[l1] / 3)) → l3
  15. Circle(J, R) → e
  16. Sequence(Rotate[J + (R, 0), i, J], i, 0, (2 * π), (2 * π / 10)) → l5
  17. Sequence(Vector[Element[l5, i], Element[l1, i]], i, 1, 11) → l6
  18. Translate(J, Vector[(If[Animation < 10, 0, (Animation - 10) / 5] * Vector[J, B])]) → J'
  19. Sequence(Translate[Element[l5, i], Vector[(If[Animation < 10, 0, (Animation - 10) / 5] * Element[l6, i])]], i, 1, Length[l5]) → l7
  20. Sequence(Polygon[J', Element[l7, i], Element[l7, i + 1]], i, 1, Length[l7]) → l8
  21. Sequence(CircleSector[J, Element[l5, i], Element[l5, i + 1]], i, 1, Length[l5]) → l9
  22. Circle(I, R) → f
  23. Sequence(Rotate[I + (R, 0), i, I], i, 0, (2 * π), (2 * π / 10)) → l5b
  24. Take(l1, 11, 21) → l1b
  25. Sequence(Vector[Element[l5b, i], Element[l1b, i]], i, 1, Length[l1b]) → l6b
  26. Sequence(Translate[Element[l5b, i], Vector[(If[Animation < 10, 0, (Animation - 10) / 5] * Element[l6b, i])]], i, 1, Length[l5b]) → l7b
  27. Translate(I, Vector[(If[Animation < 10, 0, (Animation - 10) / 5] * Vector[I, B])]) → I'
  28. Sequence(Polygon[I', Element[l7b, i], Element[l7b, i + 1]], i, 1, Length[l7b]) → l8b
  29. Sequence(CircleSector[I, Element[l5b, i], Element[l5b, i + 1]], i, 1, Length[l5b]) → l9b
  30. Circle(M, R) → g
  31. Translate(M, Vector[(If[Animation < 10, 0, (Animation - 10) / 5] * Vector[M, B])]) → M'
  32. Take(l1, 21, 31) → l1c
  33. Sequence(Rotate[M + (R, 0), i, M], i, 0, (2 * π), (2 * π / 10)) → l5c
  34. Sequence(Vector[Element[l5c, i], Element[l1c, i]], i, 1, Length[l1c]) → l6c
  35. Sequence(Translate[Element[l5c, i], Vector[(If[Animation < 10, 0, (Animation - 10) / 5] * Element[l6c, i])]], i, 2, Length[l5c]) → l7c
  36. Sequence(CircleSector[M, Element[l5c, i], Element[l5c, i + 1]], i, 1, Length[l5c]) → l9c
  37. Sequence(Polygon[M', Element[l7c, i], Element[l7c, i + 1]], i, 2, Length[l7c]) → l8c
  38. Sequence(Polygon[B, Element[l1, i], Element[l1, i + 1]], i, (2 * Length[l1] / 3), Length[l1]) → l4