Reading Measuring Cup Scales

Reading Measuring Cup Scales
Loading the math board and drawing, please wait…
2018-02-07 17:35
This example demonstrates how to read scales on a measuring cup. Key mathematical concepts include proportions and unit conversion. Using GeoGebra commands such as Segment, CircleArc, and Sequence, the example dynamically shows the changes in measuring cup scales. Suitable for middle school and above students to learn volume measurement.

GeoGebra Commands & Parameters

  1. Segment((-2.3, 5.3), (2.3, 5.3)) → a
  2. CircleArc((2.3, 5), (2.3, 5.3), (2, 5)) → d
  3. CircleArc((-2.3, 5), (-2, 5), (-2.3, 5.3)) → e
  4. Segment((2, 0.2), (2, 5)) → c
  5. Segment((-2, 0.2), (-2, 5)) → b
  6. CircleArc((1.8, 0.2), (1.8, 0), (2, 0.2)) → f
  7. CircleArc((-1.8, 0.2), (-2, 0.2), (-1.8, 0)) → g
  8. Segment((-1.8, 0), (1.8, 0)) → h
  9. Segment((-1, 0), (-1, 5)) → i
  10. Segment((-1, 5), (-0.25, 5)) → j
  11. Sequence(Segment[(-1, (5 * k / NumMark)), (-0.5 + If[NumMark ≟ 10 ∧ Mod[k, 2] ≟ 0, 0.25, 0], (5 * k / NumMark))], k, 1, NumMark - 1) → list1
  12. Polygon((-2, 0.2), (-1.8, 0), (1.8, 0), (2, 0.2), (2, (5 * level / ((NumMark * SubMark)))), (-2, (5 * level / ((NumMark * SubMark))))) → poly1, k, l, m, n, p, q
  13. CircleArc((-1.8, 0.2), (-2, 0.2), (-1.8, 0)) → arcL
  14. CircleArc((1.8, 0.2), (1.8, 0), (2, 0.2)) → arcR
  15. Sequence(Sequence[Segment[(-1, (5 * i / NumMark) + (5 * j / ((NumMark * SubMark)))), (-0.75, (5 * i / NumMark) + (5 * j / ((NumMark * SubMark))))], j, 1, 4], i, 0, NumMark - 1) → list2
  16. Segment((0, 9.3), (2, 9.3)) → Segment[(0, 9.5), (2, 9)]
  17. Segment((-1.5, 5), (0, 5)) → r
  18. Segment((0.5, 5), (2, 5)) → s
  19. Segment((2.5, 5), (4, 5)) → t
  20. Sequence(Segment[(i, 5), (i, 5.5)], i, -1.5, 2.5, 2) → list3
  21. Sequence(Segment[(i, 5), (i, 5.5)], i, 0, 4.5, 2) → list4
  22. Sequence(Segment[(0.5 + (1.5 * i / 10), 5), (0.5 + (1.5 * i / 10), 5.3)], i, 2, 8, 2) → list6
  23. Sequence(Segment[(2.5 + (1.5 * i / 4), 5), (2.5 + (1.5 * i / 4), 5.3)], i, 1, 3) → list7
  24. Polygon((0.5, 4.5), (0.5, 5.5), (2, 5.5), (2, 4.5)) → poly3, e_1, f_1, g_1, h_1
  25. Polygon((2.5, 4.5), (2.5, 5.5), (4, 5.5), (4, 4.5)) → poly4, i_1, j_1, k_1, l_1
  26. Polygon((-1.5, 4.5), (-1.5, 5.5), (0, 5.5), (0, 4.5)) → poly2, a_1, b_1, c_1, d_1
  27. If(Litre, (level / ((NumMark * SubMark)) * MaxV / 1000), (level / ((NumMark * SubMark)) * MaxV)) → Vol
  28. If(Vol ≟ Input, true, false) → correct
  29. Sequence(Segment[(-1.5 + (1.5 * i / 10), 5), (-1.5 + (1.5 * i / 10), 5.2 + If[i ≟ 5, 0.1, 0])], i, 1, 9) → list8
  30. Sequence(Segment[(-1.5 + (1.5 * i / 10), 5), (-1.5 + (1.5 * i / 10), 5.25 + If[i ≟ 5, 0.15, 0])], i, 1, 9) → list5
  31. Text("1000 mL") → text1000mL
  32. Text("750") → text750
  33. Text("500") → text500
  34. Text("250") → text250
  35. Text("400") → text2L400
  36. Text("800") → text2L800
  37. Text("1200") → text2L1200
  38. Text("1600") → text2L1600
  39. Text("2000 mL") → text2000mL
  40. Text("1L 600mL") → text1L600mL
  41. Text("1L 200mL") → text1L200mL
  42. Text("400mL") → text2L400mL
  43. Text("800mL") → text2L800mL
  44. Text(("800" * If[Litre, "mL", ""])) → text800
  45. Text(("600" * If[Litre, "mL", ""])) → text600
  46. Text(("400" * If[Litre, "mL", ""])) → text400
  47. Text(("200" * If[Litre, "mL", ""])) → text200
  48. Text(("500" * If[Litre, "mL", ""])) → text2L500
  49. Text(If[eng, "L", "升"]) → textL
  50. Text(If[Vol_{mL} ≥ 1000 ∧ Litre, ((((Div[Vol_{mL}, 1000] * " ") * textL) * " ") * If[Mod[Vol_{mL}, 1000] > 0, ((Mod[Vol_{mL}, 1000] * " ") * textmL), ""]), ((Vol_{mL} * " ") * textmL)]) → text4
  51. Point(y = y(I)) → J
  52. Segment(I, J) → m_1
  53. Text(If[eng, "4 Marks", "4 個刻度"], (2.6, 4.6)) → text8
  54. Text(If[eng, "5 Marks", "5 個刻度"], (0.6, 4.6)) → text7
  55. Text(If[eng, "10 Marks", "10 個刻度"], (-1.5, 4.6)) → text3