Area Models for Improper Fractions

Area Models for Improper Fractions
Loading the math board and drawing, please wait…
2020-04-02 01:45
This GeoGebra example uses area models to visually demonstrate improper fractions, where the numerator is greater than the denominator. The core mathematical concepts include fractions, improper fractions, mixed numbers, and the relationship between parts and wholes through area partitioning. The construction employs commands such as Point, Rotate, CircleSector, Polygon, Sequence, If, and FractionText to create circular sectors and polygons, dynamically partitioning the area based on slider values (num1, denom1). It is suitable for upper elementary to middle school students learning fraction concepts, and serves as an interactive teaching tool to illustrate why improper fractions exceed one and how they convert to mixed numbers.

GeoGebra Commands & Parameters

  1. Point(Circle[M, 1]) → Q
  2. Point(Circle[N, 1]) → R
  3. Point(Circle[L_1, 0.02]) → U_1
  4. Point(Circle[U_1, 0.5]) → V_1
  5. Rotate(C_2, angle, Center1) → D_2
  6. CircleSector(Center1, C_2, D_2) → circle1sector
  7. Rotate(C_2, (360 / denom1)°, Center1) → B_2
  8. 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
  9. Polygon((Element[Position, 1], 0) + (-0.09, yRow1 - 0.07), (Element[Position, 1], 0) + (0.09, yRow1 - 0.07), (Element[Position, 1], 0) + (0.09, yRow1 + 0.07), (Element[Position, 1], 0) + (-0.09, yRow1 + 0.07)) → rect1outline1, c, d, e, f
  10. Sequence(Sequence[Segment[Rotate[(k, 0.525), ((360 / denom1 * i))°, (k, 0.525)], Rotate[(k, 0.525) + (0, CircleDiameters), ((360 * i / denom1))°, (k, 0.525)]], i, 0, denom1], k, 0.1, If[val1 ≥ 5, 0.9, Element[Position, ceil(val1)]], 0.2) → circle1div1
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. If(val1 ≤ 15, Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, If[val1 ≠ round(val1), floor(val1), ceil(val1)]], 0.2], Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, 15], 0.2]) → circle1fill3
  17. If(val1 ≤ 15, Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, ceil(val1)], 0.2], Sequence[Circle[(i, yRow3), CircleDiameters], i, 0.1, Element[Position, 15], 0.2]) → circle1outline3
  18. If(val1 ≤ 20, Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, ceil(val1)], 0.2], Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, 20], 0.2]) → circle1outline4
  19. If(val1 ≤ 20, Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, If[val1 ≠ round(val1), floor(val1), ceil(val1)]], 0.2], Sequence[Circle[(i, yRow4), CircleDiameters], i, 0.1, Element[Position, 20], 0.2]) → circle1fill4
  20. 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
  21. 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[val1 ≤ 15, ceil(val1), 15]], 0.2) → rect1outline3Seq
  22. 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[val1 ≤ 20, ceil(val1), 20]], 0.2) → rect1outline4Seq
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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[val1 ≤ 15, floor(val1), 15]], 0.2) → rect1shade3Seq
  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[val1 ≤ 20, floor(val1), 20]], 0.2) → rect1shade4Seq
  30. FractionText(num1 / denom1 - floor(num1 / denom1)) → MixNumFrac
  31. FractionText(num1 / denom1) → FracSimplist

AI Drawing Prompt Reference

Create an area model to illustrate improper fractions. Draw a circle divided into equal sectors based on the denominator, with a slider to control the numerator, dynamically shading the corresponding number of sectors. Below the circle, draw several rows of rectangular bars, each row divided into equal parts matching the denominator, and fill the rectangles row by row according to the numerator, using distinct colors for filled and unfilled sections. Display the improper fraction and its mixed number equivalent as text above the diagram. The layout should clearly show how the improper fraction exceeds one whole.
The prompt above was compiled from the original drawing commands and is for reference only.