Visualizing Addition and Subtraction of Proper Fractions
Loading the math board and drawing, please wait…
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
Circle(A_1, r) → cPoint(c) → BCircle(A_2, r) → dLCM(denominator_1, denominator_2) → equivalentdenominatorSequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / denominator_2) → PIEALL_2Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 360 / denominator_1, 360, 360 / denominator_1) → PIEALL_1Sequence(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_1Sequence(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_2Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 0, 360, 360 / equivalentdenominator) → PIEALL_{1E}Sequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / equivalentdenominator) → PIEALL_{2E}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}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}Midpoint(A_1, A_2) → A_{mid}Circle(A_1, r) → PIESECTION_{1whole}Circle(A_2, r) → PIESECTION_{2whole}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}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}If(ShiftCircleLeftRight ≟ (2.5 * r), 1, 0) → triggerSequence(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}Vector(A_2, A_{2end1}) → uTranslate(PIESECTION_{finalsubtract1}, Vector[(DetachPie * u)]) → PIESECTION_{finalsubtract2}Vector(A_2, A_{2end2}) → vCircle(A_2, r) → PIESECTION_{whole1}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}Circle(A_2, r) → PIESECTION_{whole2}Translate(PIESECTION_{whole2}, Vector[(DetachPie * v)]) → PIESECTION_{whole2v}Translate(PIESECTION_{part1}, Vector[(DetachPie * v)]) → PIESECTION_{part2}Translate(PIESECTION_{whole1}, Vector[(DetachPie * u)]) → PIESECTION_{whole1u}If(subtractfractions, "Subtraction of Fractions", "Addition of Fractions") → textTitleGCD(equivalentnumerator, equivalentdenominator) → ResultGCDGCD(abs(equivalentnumerator_{subtract}), equivalentdenominator) → ResultGCD_{subtract}If(abs(equivalentnumerator) < equivalentdenominator, If[ResultGCD ≟ 1, (4.5 * r), (3.5 * r)], If[ResultGCD ≟ 1, 0, (-2 * r)]) → x_{textEquivalentsign3}If(ResultGCD ≟ 1, (-0.25 * r), If[equivalentnumerator < equivalentdenominator, (5 * r), (-0.25 * r)]) → x_{textposition2}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}Vector(A_2, A_{2end3}) → wTranslate(PIESECTION_{negativefinalsubtract1}, Vector[(DetachPie * v)]) → PIESECTION_{negativefinalsubtract2}Textfield(numerator_1) → InputBox1Textfield(denominator_1) → InputBox2Textfield(numerator_2) → InputBox3Textfield(denominator_2) → InputBox4If(¬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.