分数面积模型比较
几何画板及绘图内容加载中,请稍等……
本范例演示如何通过圆形或矩形面积模型比较两个真分数或假分数。用户可通过滑块调整两个分数的分子和分母,直观观察面积变化。核心数学概念包括分数比较、面积计算、分子分母关系。构造时运用了Rotate(旋转)、CircleSector(圆扇形)、Polygon(多边形)、If(条件判断)、Sequence(序列)、Segment(线段)等GeoGebra命令与对象。适合初中数学教学,用于理解分数大小关系及可视化表示。
GeoGebra 命令及参数
Rotate(Sector1a, angle1, Center1) → Sector1bCircleSector(Center1, Sector1a, Sector1b) → circle1sectorRotate(Sector1a, (360 / denom1)°, Center1) → Sector1cPolygon((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, jIf(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]) → circle1fill1If(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]) → circle1outline1If(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]) → circle1fill2Sequence(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) → circle1div2If(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]) → circle1outline2Sequence(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) → rect1outline1SeqSequence(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) → rect1div1Sequence(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) → rect1div2Sequence(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) → rect1shade1SeqSequence(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) → rect1shade2SeqSequence(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) → rect1outline2SeqRotate(Sector2a, angle2, Center2) → Sector2bRotate(Sector2a, (360 / denom2)°, Center2) → Sector2cCircleSector(Center2, Sector2a, Sector2b) → circle2sectorSequence(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) → circle2div1Sequence(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) → circle2div2If(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]) → circle2fill1If(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]) → circle2fill2Sequence(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) → circle1div1If(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]) → circle2outline1If(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]) → circle2outline2Sequence(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) → rect2div1Sequence(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) → rect2div2Sequence(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) → rect2outline2SeqSequence(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) → rect2shade2SeqPolygon((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, rSequence(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) → rect2outline1SeqSequence(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) → rect2shade1SeqSegment((0, 0.285), (-20, 0.285)) → dividerHoriz1Segment((0, -0.08), (-20, -0.08)) → dividerHoriz2
AI 绘图提示语参考
画两个圆形区域模型来比较两个分数的大小,每个模型包含一个中心圆和多个扇形,扇形数量由分数的分子决定,扇形角度由分数的分母决定。使用滑块调整两个分数的分子和分母,观察区域变化。模型之间用水平线分隔,以便清晰展示比较结果。
以上提示语为根据原始绘图命令整理而来,仅供参考。