Dividing Fractions with Visual Models

Dividing Fractions with Visual Models
Loading the math board and drawing, please wait…
2022-11-15 01:33
Demonstrate dividing a fraction by another fraction with unlike denominators using a visual model. Core math concepts include fraction division, visual models, and fraction comparison. The construction utilizes GeoGebra commands like RandomUniform, Take, Element, If, Denominator, FractionText, Corner, cornerBox, Sequence, Flatten, Max, Zip, Join for generating random fractions and animating the division process. Suitable for upper elementary grades (4-5) learning fraction division.

GeoGebra Commands & Parameters

  1. RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.35512367939172695, 0.5942641245822663, 0.6850472070465758, 0.27852195128881324, 0.17395285301696572, 0.3821777071131764, 0.04619510876375086, 0.4073793753867612, 0.39496463751399413, 0.778519156371654, 0.3309659397334782, 0.18106551363316406, 0.13019776246438083, 0.0948518817022987, 0.8960905534778324, 0.6093650432786588, 0.20400792285014685, 0.8839754364360136, 0.02358478157598696, 0.8835806988647215, 0.19025646168649127, 0.5734171943077246, 0.6670488962041076, 0.11992273181155376, 0.14588951578118678, 0.2195688602799019, 0.665718895248951, 0.5320516535066343, 0.5281107620711637, 0.768632755543361, 0.12723764999040438, 0.5117280235176312, 0.5663644621402034, 0.7769793710548144, 0.5108459494828979, 0.7784267515296849, 0.19529661292456266, 0.9283897124431045, 0.4093633225688888, 0.044115830068944095, 0.6707509820609177, 0.4689677691006344, 0.26093643921171206, 0.7881784364557394, 0.9176825599162998, 0.24225498653807956, 0.34007722054708883, 0.5696740136387746, 0.4966350755427247, 0.41726540617079955, 0.5019956165277596, 0.8897885408870919, 0.2841299156098801, 0.23078270547530308, 0.1546517185375682, 0.21641548282657777, 0.9119529863191304, 0.8323207744524409, 0.3293094797782182, 0.8653391603377757, 0.0709017620988863, 0.42564764255211535, 0.7726690219677645, 0.5284576690707061, 0.7760686532701103, 0.8647084646435989, 0.3218870357900166, 0.8988884095713224, 0.2531881602439189, 0.8541555133061428, 0.9279648395554323, 0.5656395323417162, 0.5489633708198646, 0.23550461383989224, 0.40309075885583323, 0.5768109834234723, 0.9826145011288678, 0.3491847607063501, 0.6335687802850377, 0.21000545198102333, 0.10115472117582777, 0.70043364626994, 0.20194758686182815, 0.4917830199640369, 0.40710048487265527, 0.7431145969481205, 0.8998840605202689, 0.5245862621188245, 0.504462213756572, 0.700091231624062, 0.8671328723865707, 0.3595912248567927, 0.2169365812781989, 0.5217939555261508, 0.7618485499941742, 0.1474062195782957, 0.03123658402334383, 0.5560479615964936, 0.6031189726811788, 0.6754456146261837, 0.3584454058222155, 0.37210589292977947, 0.8383191153457344, 0.8111464366147534, 0.5771699731567018, 0.18013820469292846, 0.20548111026630245, 0.3339758893222351, 0.24409515313452906, 0.7341825288229448, 0.12442194641504166, 0.6763940605937965, 0.3803043317249606, 0.22173948817222433, 0.4698524314664355, 0.7045907849163845, 0.27543220429928755, 0.42682454035208556, 0.6851105658032692, 0.943906958469265, 0.6363551286404874, 0.005346328720627799, 0.32652068071101853, 0.17138049705645123, 0.7127001460157253, 0.7121806903761421, 0.5156739339948404, 0.9688234610797986, 0.39796742088363857, 0.7082436910776314, 0.8401583662902937, 0.024241327359433035, 0.12251234007909974, 0.6032415011509429, 0.6224369480100381, 0.9072471832874509, 0.9230217709744978, 0.6955845936738781, 0.6616789607886462, 0.2654029462894184, 0.83244539186056, 0.15520191154362956, 0.15439528119274926, 0.4831363643360193, 0.29460689802248086, 0.8676766643204114, 0.4467109012422718, 0.773037180388832, 0.35892036857965975, 0.01924774478865719, 0.194026766212617, 0.5309272207512352, 0.9627765567100453, 0.5017820691207135, 0.34268213139792175, 0.7411286515256322, 0.49223941846734015, 0.6348204929376597, 0.43302185159620205, 0.3568216486655269, 0.6357074046472979, 0.9482359053117492, 0.6340068109741471, 0.45228664061738844, 0.6301445309719699, 0.7239152523907918, 0.9261748101651135, 0.04916828844463565, 0.5553756401206551, 0.1381872525471355, 0.04236674989992229, 0.7776778322720493, 0.6087659489608507, 0.9384663387900588, 0.5741783845932846, 0.28586682380608713, 0.10036886825328213, 0.7077680987219287, 0.2865795686118837, 0.005759851259793014, 0.9073271574716428, 0.9393754525426246, 0.0735635705895765, 0.35422561258979346, 0.3659511472501875, 0.3409943717325231, 0.014045869470296776, 0.7189950185974504, 0.2304740263507914, 0.21323690112638014, 0.48952718603751094, 0.29620164361788537, 0.018997768634670054, 0.5012040646128322, 0.07326761952900644, 0.08522427504026459, 0.6195946404014481, 0.31031475682183995, 0.7348890519915882, 0.4694531749666695}
  2. Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeeds
  3. Element(Sequence[2, 9], 1 + floor((currentRandomSeeds(1) * 8))) → randomD1
  4. Element({{1}, {1}, {1, 2}, {1, 3}, {1, 2, 3, 4}, {1, 5}, {1, 2, 3, 4, 5, 6}, {1, 3, 5, 7}, {1, 2, 4, 5, 7, 8}}, randomD1) → possibleN1
  5. Element({{1}, {3, 5, 7, 9}, {2, 4, 5, 7}, {3, 5, 6, 7, 9}, {2, 3, 4, 6, 7, 8, 9}, {4, 5, 7, 8, 9}, {2, 3, 4, 5, 6, 8, 9}, {3, 5, 6, 7, 9}, {2, 4, 5, 7, 8}}, randomD1) → possibleD2
  6. Element({{1}, {1}, {1, 2}, {1, 3}, {1, 2, 3, 4}, {1, 5}, {1, 2, 3, 4, 5, 6}, {1, 3, 5, 7}, {1, 2, 4, 5, 7, 8}}, randomD2) → possibleN2
  7. If(randomFrac1 / (randomFrac2) < 3, randomFrac1, randomFrac2) → fracA
  8. If(fracA ≟ randomFrac1, randomFrac2, randomFrac1) → fracB
  9. If(animateStage2 > 1, 1, animateStage2) → animateFade
  10. If(animateStage2 > 1, animateStage2 - 1, 0) → animateGap
  11. Denominator(fracA) → denA
  12. Denominator(fracB) → denB
  13. If(animateStage1 > 1, 1, animateStage1) → animateDivisionsA
  14. FractionText(numB) → numBLatex
  15. Corner(5) → layoutAppSize
  16. cornerBox(AnchorB1, boxWidth, boxHeight) → frameB
  17. Sequence(AnchorA1 + ((B * (divisionWidth + x(gap))), 0), B, 0, denA - 1) → colPositionA
  18. Sequence(AnchorA1 + (0, ((-B) * (divisionHeight + y(gap)))), B, 0, denB - 1) → rowPositionA
  19. Flatten(Sequence[Sequence[(x(colPositionA(K)), y(rowPositionA(J))), J, 1, Length[rowPositionA]], K, 1, Length[colPositionA]]) → allA
  20. Take(allA, 1, numPiecesA) → visibleA
  21. Max(0, animateStage3 - 1) → animateMove
  22. If(animateMove ≟ 0, 0, floor(animateMove) + 1) → currentBoxIndex
  23. Zip(A + vMoveAB, A, colPositionA) → colPositionB
  24. Zip(A + vMoveAB, A, rowPositionA) → rowPositionB
  25. Flatten(Zip[Zip[(x(B), y(A)), B, colPositionB], A, rowPositionB]) → allB
  26. Take(allB, 1, numPiecesB) → visibleB
  27. Flatten(Zip[Translate[visibleB, A - AnchorB1], A, {AnchorC, AnchorC - (0, finalGroupHeight + (3 * y(gap))), AnchorC - (0, (2 * (finalGroupHeight + (3 * y(gap)))))}]) → finalPoints
  28. cornerBox(visibleA(currentBoxIndex) + (animateBox * (finalPoints(currentBoxIndex) - visibleA(currentBoxIndex))), divisionWidth, divisionHeight) → moveBoxA
  29. Zip(cornerBox[A, divisionWidth, divisionHeight], A, visibleB) → boxesB
  30. cornerBox(AnchorA1, boxWidth, boxHeight) → frameA
  31. Zip(cornerBox[A, divisionWidth, divisionHeight], A, visibleB) → boxFramesB
  32. Join({Zip[Segment[A, A + (animateDivisionsA * (boxWidth, 0))], A, rowPositionA], Zip[Segment[A, A + (boxWidth, 0)], A, rowPositionB]}) → divisionBarsA
  33. Sequence(cornerBox[finalPoints(A), divisionWidth, divisionHeight], A, 1, currentBoxIndex - 1) → finalBoxes
  34. If(animateStage1 > 1, animateStage1 - 1, 0) → animateDivisionB
  35. Join({Zip[Segment[A, A - (animateDivisionB * (0, boxHeight))], A, colPositionB], Zip[Segment[A, A - (0, boxHeight)], A, colPositionA]}) → divisionBarsB
  36. Take(finalPoints, 1, ((numFramesFinal * Numerator[fracB]) * Denominator[fracA])) → finalFramePoints
  37. Zip(cornerBox[A, divisionWidth, divisionHeight], A, finalFramePoints) → boxFramesFinal
  38. If(animateStage3 < 1, animateStage3, 1) → animateFadeStage3
  39. Zip(cornerBox[A, divisionWidth, divisionHeight], A, visibleB) → coverBox
  40. cornerBox(visibleA(currentBoxIndex) + (animateBox * (finalPoints(currentBoxIndex) - visibleA(currentBoxIndex))), divisionWidth, divisionHeight) → moveFrameA
  41. Zip(cornerBox[A, divisionWidth, divisionHeight], A, Take[visibleA, If[Defined[currentBoxIndex], currentBoxIndex + 1, 1]]) → boxesA
  42. Zip(cornerBox[A, divisionWidth, divisionHeight], A, Take[visibleA, If[Defined[currentBoxIndex], currentBoxIndex + 1, 1]]) → boxFramesA
  43. Element({4, 4, 15 / numPiecesA}, stage) → animateSpeed

AI Drawing Prompt Reference

This graphic is a visual model for dividing fractions, showing the division of two random fractions. It features a central point, a grid generated from denominators and numerators, division bars to represent the steps, and fraction boxes for the final result. The construction is geometric, using coordinates and grids to illustrate fraction division.
The prompt above was compiled from the original drawing commands and is for reference only.