Fraction Addition and Subtraction Geometric Demonstration

Fraction Addition and Subtraction Geometric Demonstration
Loading the math board and drawing, please wait…
2016-08-22 18:30
This example demonstrates fraction addition and subtraction through geometric figures. It involves core mathematical concepts such as basic fraction operations and geometric constructions. Using GeoGebra commands like Circle, Point, LCM, Sequence, Midpoint, etc., the process of fraction addition and subtraction is visually illustrated. Suitable for high-grade elementary and junior high school students to learn fraction operations and geometric constructions.

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. If(¬subtractfractions, "+", "−") → addsign2
  17. 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}
  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}