Fraction Addition and Subtraction Demo by The Central Maths Hub

Fraction Addition and Subtraction Demo by The Central Maths Hub
Loading the math board and drawing, please wait…
2017-06-15 18:27
This example visually demonstrates the addition and subtraction of fractions. It involves core mathematical concepts such as fraction representation, least common multiple (LCM), greatest common divisor (GCD), and the geometric interpretation of fractions. Key GeoGebra commands and objects used include Circle, Point, LCM, Sequence, Midpoint, If, Vector, and Translate to create a dynamic visualization. Suitable for middle school and above, aiding in teaching and understanding fraction operations.

GeoGebra Commands & Parameters

  1. Circle(A_1, r) → c
  2. Point(c) → B
  3. Circle(A_2, r) → d
  4. LCM(d_1, d_2) → equivalentdenominator
  5. Sequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / d_2) → PIEALL_2
  6. Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 360 / d_1, 360, 360 / d_1) → PIEALL_1
  7. Sequence(CircleSector[A_1, Rotate[C_1, r°, A_1], Rotate[C_1, (r + 360 / d_1)°, A_1]], r, 0, (360 / d_1 * n_1) - 360 / d_1, 360 / d_1) → PIESECTION_1
  8. Sequence(CircleSector[A_2, Rotate[C_2, ((-r) - 360 / d_2)°, A_2], Rotate[C_2, ((-r))°, A_2]], r, 0, (360 / d_2 * n_2) - 360 / d_2, 360 / d_2) → PIESECTION_2
  9. Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 0, 360, 360 / equivalentdenominator) → PIEALL_{1E}
  10. Sequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / equivalentdenominator) → PIEALL_{2E}
  11. Sequence(CircleSector[A_1, Rotate[C_1, r°, A_1], Rotate[C_1, (r + 360 / equivalentdenominator)°, A_1]], r, 0, (360 / equivalentdenominator * numerator_{1E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{1E}
  12. Sequence(CircleSector[A_2, Rotate[C_2, ((-r) - 360 / equivalentdenominator)°, A_2], Rotate[C_2, ((-r))°, A_2]], r, 0, (360 / equivalentdenominator * numerator_{2E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{2E}
  13. Midpoint(A_1, A_2) → A_{mid}
  14. Circle(A_1, r) → PIESECTION_{1whole}
  15. Circle(A_2, r) → PIESECTION_{2whole}
  16. If(¬subtractfractions, "+", "−") → addsign2
  17. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / d_2)°, A_2]], r, 0, (360 / d_2 * n_2) - 360 / d_2, 360 / d_2) → PIESECTION_{2subtract}
  18. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, 0, (360 / equivalentdenominator * numerator_{2E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{2Esubtract}
  19. If(ShiftCircleLeftRight ≟ (2.5 * r), 1, 0) → trigger
  20. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, (numerator_{2E} * 360 / equivalentdenominator), (360 / equivalentdenominator * (numerator_{1E} - 1)), 360 / equivalentdenominator) → PIESECTION_{finalsubtract1}
  21. Vector(A_2, A_{2end1}) → u
  22. Translate(PIESECTION_{finalsubtract1}, Vector[(DetachPie * u)]) → PIESECTION_{finalsubtract2}
  23. Vector(A_2, A_{2end2}) → v
  24. Circle(A_2, r) → PIESECTION_{whole1}
  25. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, ((equivalentdenominator - numerator_{2E}) * 360 / equivalentdenominator), (360 / equivalentdenominator * (mixednumerator + equivalentdenominator - numerator_{2E} - 1)), 360 / equivalentdenominator) → PIESECTION_{part1}
  26. Circle(A_2, r) → PIESECTION_{whole2}
  27. Translate(PIESECTION_{whole2}, Vector[(DetachPie * v)]) → PIESECTION_{whole2v}
  28. Translate(PIESECTION_{part1}, Vector[(DetachPie * v)]) → PIESECTION_{part2}
  29. Translate(PIESECTION_{whole1}, Vector[(DetachPie * u)]) → PIESECTION_{whole1u}
  30. If(subtractfractions, "Subtraction of Fractions", "Addition of Fractions") → textTitle
  31. GCD(equivalentnumerator, equivalentdenominator) → ResultGCD
  32. GCD(abs(equivalentnumerator_{subtract}), equivalentdenominator) → ResultGCD_{subtract}
  33. If(abs(equivalentnumerator) < equivalentdenominator, If[ResultGCD ≟ 1, (4.5 * r), (3.5 * r)], If[ResultGCD ≟ 1, 0, (-2 * r)]) → x_{textEquivalentsign3}
  34. If(ResultGCD ≟ 1, (-0.25 * r), If[equivalentnumerator < equivalentdenominator, (5 * r), (-0.25 * r)]) → x_{textposition2}
  35. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, (numerator_{1E} * 360 / equivalentdenominator), (360 / equivalentdenominator * (numerator_{2E} - 1)), 360 / equivalentdenominator) → PIESECTION_{negativefinalsubtract1}
  36. Vector(A_2, A_{2end3}) → w
  37. Translate(PIESECTION_{negativefinalsubtract1}, Vector[(DetachPie * v)]) → PIESECTION_{negativefinalsubtract2}