Visualizing Addition and Subtraction of Fractions with Circles and LCM

Visualizing Addition and Subtraction of Fractions with Circles and LCM
Loading the math board and drawing, please wait…
2015-08-01 14:53
① This GeoGebra example uses two circular area models to visually demonstrate how fractions are added and subtracted, making the operation of like and unlike denominators intuitive. ② Core math concepts include fraction basics, equivalent fractions, common denominators via Least Common Multiple (LCM), and the rules for adding/subtracting fractions. ③ Construction highlights: Circle commands create two circles representing the fractions; LCM computes the common denominator; Sequence, Vector, and Translate generate division lines and move parts; objects like numeratorR, denominatorR, cutR, shadeR control numerators, denominators, cuts, and shading; showfinal displays the final result. ④ Suitable for upper elementary to middle school students learning fraction operations, and useful for teachers as a dynamic visual aid in the classroom.

GeoGebra Commands & Parameters

  1. Circle(centerR, radius) → circleR
  2. Circle(centerB, radius) → circleB
  3. LCM(denominatorR, denominatorB) → LCMdenominator
  4. Sequence(Segment[centerR, Rotate[AR, radius°, centerR]], radius, 360 / denominatorR, 360, 360 / denominatorR) → cutR
  5. Sequence(Segment[centerB, Rotate[AB, radius°, centerB]], radius, 360 / denominatorB, 360, 360 / denominatorB) → cutB
  6. Sequence(CircleSector[centerR, Rotate[AR, radius°, centerR], Rotate[AR, (radius + 360 / denominatorR)°, centerR]], radius, 0, 360 / denominatorR * numeratorR - 360 / denominatorR, 360 / denominatorR) → shadeR
  7. Sequence(CircleSector[centerB, Rotate[AB, (-radius - 360 / denominatorB)°, centerB], Rotate[AB, (-radius)°, centerB]], radius, 0, 360 / denominatorB * numeratorB - 360 / denominatorB, 360 / denominatorB) → shadeB
  8. Sequence(Segment[centerR, Rotate[AR, radius°, centerR]], radius, 0, 360, 360 / LCMdenominator) → cutLCMR
  9. Sequence(Segment[centerB, Rotate[AB, radius°, centerB]], radius, 0, 360, 360 / LCMdenominator) → cutLCMB
  10. Vector(centerB, A) → u
  11. Vector(centerB, B) → v
  12. Translate(circleB, Vector[showfinal * u]) → total0
  13. Translate(cutLCMB, Vector[showfinal * u]) → cuttotal0
  14. Sequence(CircleSector[centerB, Rotate[AB, (-radius - 360 / denominatorB)°, centerB], Rotate[AB, (-radius)°, centerB]], radius, 0, 360 / denominatorB * numeratorB - 360 / denominatorB, 360 / denominatorB) → E
  15. Translate(shadeB, Vector[showfinal * u]) → F
  16. Sequence(CircleSector[centerB, Rotate[AB, radius°, centerB], Rotate[AB, (radius + 360 / denominatorR)°, centerB]], radius, 0, 360 / denominatorR * numeratorR - 360 / denominatorR, 360 / denominatorR) → H
  17. Translate(H, Vector[showfinal * u]) → I
  18. Vector(centerB, J) → w
  19. Translate(circleB, Vector[showfinal * w]) → D
  20. Translate(cutLCMB, Vector[showfinal * w]) → K
  21. Sequence(CircleSector[centerB, Rotate[AB, radius°, centerB], Rotate[AB, (radius + 360 / LCMdenominator)°, centerB]], radius, (LCMdenominator - LCMnumeratorB) * 360 / LCMdenominator, 360 / LCMdenominator * (M + LCMdenominator - LCMnumeratorB - 1), 360 / LCMdenominator) → N
  22. Translate(N, Vector[showfinal * v]) → O
  23. GCD(LCMnumerator, LCMdenominator) → P
  24. Translate(circleB, Vector[showfinal * u]) → C
  25. Translate(cutLCMB, Vector[showfinal * u]) → Q
  26. Sequence(CircleSector[centerB, Rotate[AB, radius°, centerB], Rotate[AB, (radius + 360 / LCMdenominator)°, centerB]], radius, LCMnumeratorB * 360 / LCMdenominator, 360 / LCMdenominator * (LCMnumeratorR - 1), 360 / LCMdenominator) → R
  27. Translate(R, Vector[showfinal * u]) → S
  28. Sequence(CircleSector[centerB, Rotate[AB, radius°, centerB], Rotate[AB, (radius + 360 / denominatorB)°, centerB]], radius, 0, 360 / denominatorB * numeratorB - 360 / denominatorB, 360 / denominatorB) → T
  29. Translate(circleB, Vector[showfinal * v]) → U
  30. Translate(cutLCMB, Vector[showfinal * v]) → V