Visualizing Addition and Subtraction of Proper Fractions

Visualizing Addition and Subtraction of Proper Fractions
Loading the math board and drawing, please wait…
2020-07-22 18:20
This example visually demonstrates the addition and subtraction of proper fractions. It involves core mathematical concepts such as the representation of fractions, the definition of proper fractions, and the rules for fraction addition and subtraction. The construction highlights the use of GeoGebra commands like Circle, Point, LCM, Sequence, Midpoint, If, Vector, Translate, GCD, Textfield, along with objects such as ShiftCircleLeftRight, r, A_1, c, C_1, B, C_2, numerator_1, denominator_1, numerator_2, denominator_2, textFraction_1, A_2, d, equivalentfraction, equivalentdenominator, numerator_{1E}, numerator_{2E}, textEquivalentsign1, textFraction_2, textEquivalentFraction2, PIEALL_2, PIEALL_1, PIESECTION_1, PIESECTION_2, PIEALL_{1E}, PIEALL_{2E}, PIESECTION_{1E}, equivalentnumerator, PIESECTION_{2E}, A_{mid}, A_{1textfraction}, commonfactor_1, textcommonfactor_1, PIESECTION_{1whole}, commonfactor_2, PIESECTION_{2whole}, textcommonfactor_2, mixednumwhole, mixednumerator. It is suitable for upper elementary and middle school students learning fraction operations, helping to understand the geometric meaning of fraction addition and subtraction.

GeoGebra Commands & Parameters

  1. Circle(A_1, r) → c
  2. Point(c) → B
  3. Circle(A_2, r) → d
  4. LCM(denominator_1, denominator_2) → equivalentdenominator
  5. Sequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / denominator_2) → PIEALL_2
  6. Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 360 / denominator_1, 360, 360 / denominator_1) → PIEALL_1
  7. Sequence(CircleSector[A_1, Rotate[C_1, r°, A_1], Rotate[C_1, (r + 360 / denominator_1)°, A_1]], r, 0, (360 / denominator_1 * numerator_1) - 360 / denominator_1, 360 / denominator_1) → PIESECTION_1
  8. Sequence(CircleSector[A_2, Rotate[C_2, ((-r) - 360 / denominator_2)°, A_2], Rotate[C_2, (-(r°)), A_2]], r, 0, (360 / denominator_2 * numerator_2) - 360 / denominator_2, 360 / denominator_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. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / denominator_2)°, A_2]], r, 0, (360 / denominator_2 * numerator_2) - 360 / denominator_2, 360 / denominator_2) → PIESECTION_{2subtract}
  17. 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}
  18. If(ShiftCircleLeftRight ≟ (2.5 * r), 1, 0) → trigger
  19. 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}
  20. Vector(A_2, A_{2end1}) → u
  21. Translate(PIESECTION_{finalsubtract1}, Vector[(DetachPie * u)]) → PIESECTION_{finalsubtract2}
  22. Vector(A_2, A_{2end2}) → v
  23. Circle(A_2, r) → PIESECTION_{whole1}
  24. 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}
  25. Circle(A_2, r) → PIESECTION_{whole2}
  26. Translate(PIESECTION_{whole2}, Vector[(DetachPie * v)]) → PIESECTION_{whole2v}
  27. Translate(PIESECTION_{part1}, Vector[(DetachPie * v)]) → PIESECTION_{part2}
  28. Translate(PIESECTION_{whole1}, Vector[(DetachPie * u)]) → PIESECTION_{whole1u}
  29. If(subtractfractions, "Subtraction of Fractions", "Addition of Fractions") → textTitle
  30. GCD(equivalentnumerator, equivalentdenominator) → ResultGCD
  31. GCD(abs(equivalentnumerator_{subtract}), equivalentdenominator) → ResultGCD_{subtract}
  32. If(abs(equivalentnumerator) < equivalentdenominator, If[ResultGCD ≟ 1, (4.5 * r), (3.5 * r)], If[ResultGCD ≟ 1, 0, (-2 * r)]) → x_{textEquivalentsign3}
  33. If(ResultGCD ≟ 1, (-0.25 * r), If[equivalentnumerator < equivalentdenominator, (5 * r), (-0.25 * r)]) → x_{textposition2}
  34. 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}
  35. Vector(A_2, A_{2end3}) → w
  36. Translate(PIESECTION_{negativefinalsubtract1}, Vector[(DetachPie * v)]) → PIESECTION_{negativefinalsubtract2}
  37. Textfield(numerator_1) → InputBox1
  38. Textfield(denominator_1) → InputBox2
  39. Textfield(numerator_2) → InputBox3
  40. Textfield(denominator_2) → InputBox4
  41. If(¬subtractfractions, " + ", " − ") → addsign2

AI Drawing Prompt Reference

Draw two identical circles side by side, each divided into equal sectors to represent a proper fraction, with the numerator's sectors highlighted. Between them, place a plus or minus sign. Below, draw two more circles with finer divisions to show equivalent fractions after finding a common denominator, highlighting the new numerators. For subtraction, visually remove sectors from the second circle and translate the remaining parts to show the result. Include input boxes for numerators and denominators, and a control to switch between addition and subtraction.
The prompt above was compiled from the original drawing commands and is for reference only.