Area Models for Comparing Fractions

Area Models for Comparing Fractions
Loading the math board and drawing, please wait…
2013-06-28 05:01
This example demonstrates how to compare two proper or improper fractions using area models of circles or rectangles. Users can adjust the numerators and denominators of the fractions via sliders to visualize the area changes. Key math concepts include fraction comparison, area calculation, and the relationship between numerators and denominators. The construction utilizes GeoGebra commands like Rotate, CircleSector, Polygon, If, Sequence, and Segment, along with objects such as yRow4, yRow3, etc. It is suitable for middle school mathematics education, helping students understand fraction relationships and visual representation.

GeoGebra Commands & Parameters

  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 Drawing Prompt Reference

Draw two circular area models to compare the sizes of two fractions. Each model consists of a central circle and multiple sectors, with the number of sectors determined by the numerator and the angle of each sector by the denominator of the fraction. Use sliders to adjust the numerators and denominators of the two fractions and observe the changes in the areas. Separate the models with horizontal lines for clear comparison.
The prompt above was compiled from the original drawing commands and is for reference only.