Fraction Multiplication Demo by Amy Brodesky
Loading the math board and drawing, please wait…
This example demonstrates the geometric interpretation of fraction multiplication through dynamic visuals, showing the relationship between the product of fractions and the area of shapes. It involves core concepts like fraction arithmetic, geometric area, vectors, and polygon construction. GeoGebra commands such as If, Polygon, FractionText, Segment, Vector, and Sequence are used to create interactive visualizations of fraction multiplication, making it suitable for middle school and above mathematics education to enhance geometric intuition.
GeoGebra Commands & Parameters
If(set ≟ 1, {1, 2, 1, 5, 3, 2, 4, 10, 6, 13}, {0.5, 1, 0.5, 0.5, 1, 1, 0.25, 0.5, 1, 2}) → SR1If(set ≟ 1, {1, 2, 1, 5, 3, 2, 4, 10, 6, 13}, {0.5, 1, 0.5, 0.5, 1, 1, 0.25, 0.5, 1, 2}) → SR2If(set ≟ 1, {2, 1, 2, 1, 1, 2, 2, 1, 2, 1}, {1, 1, 1, 2, 2, 1, 1, 2, 2, 1}) → ansCorrectIf(sr1, (10, 5.6), (10, 3.2)) → AnsSelectedPtIf(sr1, SR1, SR2) → SRSelectPolygon(ExPt + (0.2, 0), ExPt + (5.4, 0), ExPt + (5.6, 0.2), ExPt + (5.6, 0.8), ExPt + (5.4, 1), ExPt + (0.2, 1), ExPt + (0, 0.8), ExPt + (0, 0.2)) → examplePoly, exPolyBottom, exPolyBR, exPolyR, exPolyTR, exPolyTop, exPolyTL, exPolyL, exPolyBLPolygon(NextPt + (0, 0.2), NextPt + (0.2, 0), NextPt + (2, 0), NextPt + (2, -0.5), NextPt + (4, 0.5), NextPt + (2, 1.5), NextPt + (2, 1), NextPt + (0.2, 1), NextPt + (0, 0.8)) → nextPoly, nextPoly_2, nextPoly_3, nextPoly_4, nextPoly_5, nextPoly_6, nextPoly_7, nextPoly_8, nextPoly_9, nextPoly_{10}If(set ≟ 1, {0, 0, 0, 3, 1, 6, 2, 3, 5, 7}, {1, 7, 9, 5, 9, 3, 1, 8, 7, 5}) → term1numIf(set ≟ 1, {1, 1, 5, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 3, 7, 7, 4, 11, 5, 3, 7}) → term2numIf(set ≟ 1, {0, 0, 0, 4, 7, 7, 3, 8, 9, 8}, {4, 9, 10, 6, 10, 8, 8, 9, 5, 9}) → term1denomIf(set ≟ 1, {2, 3, 8, 0, 0, 0, 0, 0, 0, 0}, {3, 4, 8, 8, 4, 5, 12, 6, 2, 3}) → term2denomPolygon(ProbSetSelect1Pt, ProbSetSelect1Pt + (0.5, 0), ProbSetSelect1Pt + (0.5, 0.5), ProbSetSelect1Pt + (0, 0.5)) → probSetSelect1Poly, probSetSelect1polySeg, probSetSelect1polySeg_1, probSetSelect1polySeg_2, probSetSelect1polySeg_3Polygon(ProbSetSelect2Pt, ProbSetSelect2Pt + (0.5, 0), ProbSetSelect2Pt + (0.5, 0.5), ProbSetSelect2Pt + (0, 0.5)) → probSetSelect2Poly, probSetSelect2polySeg_1, probSetSelect2polySeg_2, probSetSelect2polySeg_3, probSetSelect2polySegFractionText(Element[SR1, problem]) → SR1textFractionText(Element[SR2, problem]) → SR2textIf(set ≟ 1, {6, 4, 3, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}) → term1mixedWholeIf(set ≟ 1, {0, 0, 0, 5, 6, 4, 8, 20, 12, 13}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}) → term2mixedWholeIf(sr1, 1, 2) → srSelectIf(srSelect ≟ Element[ansCorrect, problem], 1, 0) → correctPolygon(AnsSelectedPt + If[Element[SRSelect, problem] ≥ 1, (0, 0), (0, -0.5)], AnsSelectedPt + (5.5, 0) + If[Element[SRSelect, problem] ≥ 1, (0, 0), (0, -0.5)], AnsSelectedPt + (5.5, 1.2) + If[Element[SRSelect, problem] ≥ 1, (0, 0), (0, 0.5)], AnsSelectedPt + (0, 1.2) + If[Element[SRSelect, problem] ≥ 1, (0, 0), (0, 0.5)]) → ansSelectedPoly, ansSelectedPolyBottom, ansSelectedPolyR, ansSelectedPolyTop, ansSelectedPolyLIf(sr1 ∨ sr2, true, false) → ansSelectedIf(Element[ansCorrect, problem] ≟ 1, (10, 5.55), (10, 3.2)) → ansCorrectPtSegment((12.8, 8), (16.4, 8)) → exSegOriginalPolygon(AnsNotePolyPt + (0, -0.5), AnsNotePolyPt + (7.5, -0.5), AnsNotePolyPt + (7.5, 5), AnsNotePolyPt + (0, 5)) → ansNotePoly, ansNoteStrategyBottom, ansNoteStrategyR, ansNoteStrategyTop, ansNoteStrategyLSegment((17.4, 8), (19.8, 8)) → exSegBenchmarkVector((18.2, 2.2), (19, 2.7)) → exCorrectArrowSequence((16.5 + (0.7 * i), 0.3), i, 1, scoreTotal) → scorePtsSequence((16.2 + i, 0.3), i, 1, 7.3, 0.7) → scorePtsEmptyPolygon(ansCorrectPt + If[Element[If[set ≟ 1, SR1, SR2], problem] ≥ 1, (0, 0), (0, -0.5)], ansCorrectPt + (5.5, 0) + If[Element[If[set ≟ 1, SR1, SR2], problem] ≥ 1, (0, 0), (0, -0.5)], ansCorrectPt + (5.5, 1.2) + If[Element[If[set ≟ 1, SR1, SR2], problem] ≥ 1, (0, 0), (0, 0.5)], ansCorrectPt + (0, 1.2) + If[Element[If[set ≟ 1, SR1, SR2], problem] ≥ 1, (0, 0), (0, 0.5)]) → ansCorrectPoly, ansCorrectPolyBottom, ansCorrectPolyR, ansCorrectPolyTop, ansCorrectPolyLVector(ansCorrectPt + (-1.8, 0.3), ansCorrectPt + (-0.5, 0.3)) → ansNoteIncCorrVector