分数面积模型比较

分数面积模型比较
几何画板及绘图内容加载中,请稍等……
2013-06-28 05:01
本范例演示如何通过圆形或矩形面积模型比较两个真分数或假分数。用户可通过滑块调整两个分数的分子和分母,直观观察面积变化。核心数学概念包括分数比较、面积计算、分子分母关系。构造时运用了Rotate(旋转)、CircleSector(圆扇形)、Polygon(多边形)、If(条件判断)、Sequence(序列)、Segment(线段)等GeoGebra命令与对象。适合初中数学教学,用于理解分数大小关系及可视化表示。

GeoGebra 命令及参数

  1. Rotate(Sector1a, angle1, Center1) → Sector1b
  2. CircleSector(Center1, Sector1a, Sector1b) → circle1sector
  3. Rotate(Sector1a, (360 / denom1)°, Center1) → Sector1c
  4. Polygon((x(Center1) - 0.09, y(Center1) - 0.07), (x(Center1) - 0.09 + 0.18 * (val1 - floor(val1)), y(Center1) - 0.07), (x(Center1) - 0.09 + 0.18 * (val1 - floor(val1)), y(Center1) + 0.07), (x(Center1) - 0.09, y(Center1) + 0.07)) → rect1shadePartial, g, h, i, j
  5. If(val1 ≤ 5, Sequence[Circle[(i, yRow1), CircleDiameters], i, 0.1, Element[Position, If[val1 ≠ round(val1), floor(val1), ceil(val1)]], 0.2], Sequence[Circle[(i, yRow1), CircleDiameters], i, 0.1, Element[Position, 5], 0.2]) → circle1fill1
  6. If(val1 ≤ 5, Sequence[Circle[(i, yRow1), CircleDiameters], i, 0.1, Element[Position, ceil(val1)], 0.2], Sequence[Circle[(i, yRow1), CircleDiameters], i, 0.1, Element[Position, 5], 0.2]) → circle1outline1
  7. If(val1 ≤ 10, Sequence[Circle[(i, yRow2), CircleDiameters], i, 0.1, Element[Position, floor(val1)], 0.2], Sequence[Circle[(i, yRow2), CircleDiameters], i, 0.1, Element[Position, 5], 0.2]) → circle1fill2
  8. Sequence(Sequence[Segment[Rotate[(k, yRow2), (360 / denom1 * i)°, (k, yRow2)], Rotate[(k, yRow2) + (0, CircleDiameters), (360 * i / denom1)°, (k, yRow2)]], i, 0, denom1], k, 0.1, Element[Position, ceil(val1)], 0.2) → circle1div2
  9. If(val1 ≤ 10, Sequence[Circle[(i, yRow2), CircleDiameters], i, 0.1, Element[Position, ceil(val1)], 0.2], Sequence[Circle[(i, yRow2), CircleDiameters], i, 0.1, Element[Position, 10], 0.2]) → circle1outline2
  10. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow1 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow1 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow1 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow1 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 ≤ 5, ceil(val1), 5]], 0.2) → rect1outline1Seq
  11. Sequence(Sequence[Segment[(k - 0.09 + 0.18 / denom1 * i, yRow1 - 0.07), (k - 0.09 + 0.18 / denom1 * i, yRow1 + 0.07)], i, 1, denom1 - 1], k, 0.1, If[val1 ≥ 5, 0.9, Element[Position, ceil(val1)]], 0.2) → rect1div1
  12. Sequence(Sequence[Segment[(k - 0.09 + 0.18 / denom1 * i, yRow2 - 0.07), (k - 0.09 + 0.18 / denom1 * i, yRow2 + 0.07)], i, 1, denom1 - 1], k, 0.1, If[val1 ≥ 10, 0.9, Element[Position, ceil(val1)]], 0.2) → rect1div2
  13. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow1 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow1 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow1 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow1 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 ≤ 5, floor(val1), 5]], 0.2) → rect1shade1Seq
  14. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow2 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow2 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow2 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow2 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 < 10, floor(val1), 10]], 0.2) → rect1shade2Seq
  15. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow2 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow2 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow2 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow2 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val1 < 10, ceil(val1), 10]], 0.2) → rect1outline2Seq
  16. Rotate(Sector2a, angle2, Center2) → Sector2b
  17. Rotate(Sector2a, (360 / denom2)°, Center2) → Sector2c
  18. CircleSector(Center2, Sector2a, Sector2b) → circle2sector
  19. Sequence(Sequence[Segment[Rotate[(k, yRow3), (360 / denom2 * i)°, (k, yRow3)], Rotate[(k, yRow3) + (0, CircleDiameters), (360 * i / denom2)°, (k, yRow3)]], i, 0, denom2], k, 0.1, If[val2 ≥ 5, 0.9, Element[Position, ceil(val2)]], 0.2) → circle2div1
  20. Sequence(Sequence[Segment[Rotate[(k, yRow4), (360 / denom2 * i)°, (k, yRow4)], Rotate[(k, yRow4) + (0, CircleDiameters), (360 * i / denom2)°, (k, yRow4)]], i, 0, denom2], k, 0.1, Element[Position, ceil(val2)], 0.2) → circle2div2
  21. If(val2 ≤ 5, Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, If[val2 ≠ round(val2), floor(val2), ceil(val2)]], 0.2], Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, 5], 0.2]) → circle2fill1
  22. If(val2 ≤ 10, Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, If[val2 ≠ round(val2), floor(val2), ceil(val2)]], 0.2], Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, 10], 0.2]) → circle2fill2
  23. Sequence(Sequence[Segment[Rotate[(k, yRow1), (360 / denom1 * i)°, (k, yRow1)], Rotate[(k, yRow1) + (0, CircleDiameters), (360 * i / denom1)°, (k, yRow1)]], i, 0, denom1], k, 0.1, If[val1 ≥ 5, 0.9, Element[Position, ceil(val1)]], 0.2) → circle1div1
  24. If(val2 ≤ 5, Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, ceil(val2)], 0.2], Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, 5], 0.2]) → circle2outline1
  25. If(val1 ≤ 10, Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, ceil(val2)], 0.2], Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, 10], 0.2]) → circle2outline2
  26. Sequence(Sequence[Segment[(k - 0.09 + 0.18 / denom2 * i, yRow3 - 0.07), (k - 0.09 + 0.18 / denom2 * i, yRow3 + 0.07)], i, 1, denom2 - 1], k, 0.1, If[val2 ≥ 5, 0.9, Element[Position, ceil(val2)]], 0.2) → rect2div1
  27. Sequence(Sequence[Segment[(k - 0.09 + 0.18 / denom2 * i, yRow4 - 0.07), (k - 0.09 + 0.18 / denom2 * i, yRow4 + 0.07)], i, 1, denom2 - 1], k, 0.1, If[val2 ≥ 10, 0.9, Element[Position, ceil(val2)]], 0.2) → rect2div2
  28. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow4 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow4 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow4 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow4 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val2 ≤ 10, ceil(val2), 10]], 0.2) → rect2outline2Seq
  29. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow4 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow4 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow4 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow4 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val2 ≤ 10, floor(val2), 10]], 0.2) → rect2shade2Seq
  30. Polygon((x(Center2) - 0.09, y(Center2) - 0.07), (x(Center2) - 0.09 + 0.18 * (val2 - floor(val2)), y(Center2) - 0.07), (x(Center2) - 0.09 + 0.18 * (val2 - floor(val2)), y(Center2) + 0.07), (x(Center2) - 0.09, y(Center2) + 0.07)) → rect2shadePartial, l, p, q, r
  31. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow3 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow3 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow3 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow3 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val2 ≤ 4, ceil(val2), 5]], 0.2) → rect2outline1Seq
  32. Sequence(Polygon[Translate[(Element[Position, 1], 0) + (-0.09, yRow3 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow3 - 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (0.09, yRow3 + 0.07), Vector[(0, 0), (i, 0)]], Translate[(Element[Position, 1], 0) + (-0.09, yRow3 + 0.07), Vector[(0, 0), (i, 0)]]], i, 0, Element[Position, If[val2 ≤ 5, floor(val2), 5]], 0.2) → rect2shade1Seq
  33. Segment((0, 0.285), (-20, 0.285)) → dividerHoriz1
  34. Segment((0, -0.08), (-20, -0.08)) → dividerHoriz2

AI 绘图提示语参考

画两个圆形区域模型来比较两个分数的大小,每个模型包含一个中心圆和多个扇形,扇形数量由分数的分子决定,扇形角度由分数的分母决定。使用滑块调整两个分数的分子和分母,观察区域变化。模型之间用水平线分隔,以便清晰展示比较结果。
以上提示语为根据原始绘图命令整理而来,仅供参考。