读量杯刻度

读量杯刻度
几何画板及绘图内容加载中,请稍等……
2018-02-07 17:35
本范例演示如何读取量杯上的刻度。涉及的核心数学概念包括比例和单位换算。通过使用GeoGebra命令如Segment, CircleArc, Sequence等,可以动态展示量杯刻度的变化。适合初中及以上学生学习体积测量。

GeoGebra 命令及参数

  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