Visualizing Equivalent Fractions with Models
Loading the math board and drawing, please wait…
This example uses different types of visual models to help students understand the concept of equivalent fractions. Using GeoGebra commands such as RandomUniform and Zip, students can explore the relationships between equivalent fractions. Suitable for 4-5 grade students, it aids in learning how to write equivalent fractions using models.
GeoGebra Commands & Parameters
RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.6373122650890546, 0.9776953732500375, 0.6346612142726489, 0.26204278414600846, 0.021290995076380062, 0.6371531833988481, 0.7645708197700253, 0.939639958909575, 0.8935002243766219, 0.845519836530782, 0.907392413327278, 0.4986264071868864, 0.046978481451225025, 0.5596127791829371, 0.39595179303682515, 0.6519566232688773, 0.17159555157274844, 0.6336526142119085, 0.12312489195138818, 0.262269386385315, 0.3132180884105496, 0.13823931889150665, 0.4817437770439257, 0.12420634277886564, 0.3805892728375974, 0.9081417946830938, 0.5917821706160945, 0.07700706698261778, 0.4296371435736192, 0.46684463565047424, 0.6656625499462148, 0.6412577266342381, 0.5964779645126095, 0.03383335655890333, 0.9214235442269383, 0.8128004158822688, 0.4241219049575021, 0.5483237115337106, 0.7295696670024738, 0.8606293158641811, 0.49381573611459606, 0.5705531038958342, 0.9726976397020715, 0.7041053134575304, 0.9700723850092515, 0.018851331028000795, 0.9074520811021471, 0.9780140957484907, 0.5987403305154325, 0.48749569184928426, 0.7160100321569762, 0.8818738456482215, 0.11995547072559196, 0.1268289762745966, 0.14912759346249418, 0.7824666234401192, 0.032496552511678524, 0.8332822750241052, 0.4048037440362658, 0.8758237164620931, 0.7029296414213619, 0.5727931588855939, 0.36582484266349335, 0.40683849444560277, 0.5819806537366847, 0.36664723755351386, 0.8158507028615232, 0.4413111965811464, 0.22181475166963818, 0.9539959737612201, 0.1872859242856215, 0.9465481555937096, 0.4413289662563375, 0.3702151609801997, 0.5749528417903046, 0.5526443256504259, 0.6721804391374072, 0.9548687377828972, 0.6175404599590016, 0.3872710168020796, 0.816074287407726, 0.5473290421800154, 0.7039510588006836, 0.6121714962827077, 0.7138264109335452, 0.6020798897401299, 0.6739992597215665, 0.32963583239181976, 0.3188935221280547, 0.8093904527093776, 0.04244077032898788, 0.06198195295474577, 0.19242823457764302, 0.17039780045991706, 0.9420161825885587, 0.6365131641144103, 0.843469900931216, 0.2486728657229284, 0.09509219403828056, 0.9525537690169058, 0.7266217913174646, 0.5630696473685081, 0.5545665088807384, 0.9559819630255545, 0.34049322814682037, 0.6790687902100678, 0.4829739121433686, 0.35018565058998496, 0.1833002465618942, 0.2879272458646739, 0.0841903923332451, 0.6005602667721979, 0.6373216334766713, 0.594731946072979, 0.08477829991045364, 0.3225478871605749, 0.8913965402595917, 0.2479306893152471, 0.3118497571650051, 0.3907858355211829, 0.2803284216289033, 0.29407517142727874, 0.39134699457739125, 0.1291889968027872, 0.21192511184478915, 0.09236081544537054, 0.9448470089766153, 0.4187325534460418, 0.0464569693834592, 0.5540851702546467, 0.9143950261930502, 0.8313337767696624, 0.6395562977688592, 0.8123713878145845, 0.6334541975713607, 0.8045489869581545, 0.5080078328068841, 0.25741491718183585, 0.4978319995279049, 0.3128084738856295, 0.6284965777856314, 0.7921120175272666, 0.8734008161654251, 0.886604432401762, 0.9821806820467467, 0.602214731626445, 0.8075787641524838, 0.5114293239368005, 0.8429484251803024, 0.4941326474838802, 0.78886891196233, 0.4533288075186891, 0.5343953223126389, 0.012162963477127649, 0.603277969211881, 0.39769044740522774, 0.3899230920074844, 0.5152806316976216, 0.7281437146858816, 0.9323323168643257, 0.9619145881237825, 0.7416571476510482, 0.33279700637762893, 0.9550864582388647, 0.4096795165704812, 0.7668012098546974, 0.18156855393563462, 0.7398904857450145, 0.051792801472436166, 0.8986266508330806, 0.20792174488121018, 0.15390665075625606, 0.9665633406779935, 0.8598525792925401, 0.5289519842922386, 0.031380957551108306, 0.2846733849752836, 0.30492776362853474, 0.9071394809736877, 0.7078357599500309, 0.20051884773052567, 0.04514616542017785, 0.601076176703587, 0.6407575679190216, 0.9834588117128357, 0.35178198851913767, 0.4589095868525531, 0.19019793162991047, 0.9870477427880229, 0.252923270626839, 0.017454428694466582, 0.11464806846831507, 0.5633763869400541, 0.035218764520970725, 0.9063202592720455, 0.6541795098835086, 0.9008879175943797, 0.1869790198742244, 0.7599867117852037, 0.7741608586495669}Zip(currentNumer / A ≤ 4, A, {2, 3, 4, 5, 6}) → validDenomsIf(caseNum ≟ 1, modelWidth / currentDenom, 4) → boxWidthLeftIf(caseNum ≟ 1, 4, modelWidth / currentDenom) → boxHeightLeftFlatten(Sequence[Sequence[AnchorLeft + ((boxWidthLeft * i), ((-1.2 * boxHeightLeft) * j)), i, 0, currentDenom - 1], j, 0, 3]) → boxAnchorsLeftCase1If(caseNum ≟ 1, 4, modelWidth / rightDenom) → boxHeightRightFlatten(Sequence[Sequence[AnchorLeft + ((modelWidth / 2 * i), (((-modelWidth)) / 2 * j)), i, 0, 1], j, 0, 1]) → circAnchorsLeftTranslate(circAnchorsLeft, AnchorRight - AnchorLeft) → circAnchorsRightZip(Sequence[Rotate[A + ((0.24 * modelWidth), 0), K, A], K, 0, (2 * pi), (2 * pi / rightDenom)], A, circAnchorsRight) → sectorPointsRightElement({modelWidth / currentDenom, 0, modelWidth / currentDenom}, caseNum) → pieceSizeLeftIf(caseNum ≟ 1, modelWidth / rightDenom, 4) → boxWidthRightFlatten(Sequence[Sequence[AnchorRight + ((boxWidthRight * i), ((-1.2 * boxHeightRight) * j)), i, 0, rightDenom - 1], j, 0, 3]) → boxAnchorsRightCase1Element({(x(AnchorRight), y(boxAnchorsLeftCase1(-1) - boxHeightRight)), sectorPointsRight(1, 1), AnchorRight}, caseNum) → SlideStartRightSequence(A, A, 0, 45, 45 / 4) → unitLocationsUnique(Remove[Flatten[Zip[Sequence[(A + B, 0), B, 0, unitLocations(2), unitLocations(2) / currentDenom], A, Take[unitLocations, 1, Length[unitLocations] - 1]]], {(0, 0)}]) → smallNumerLocationsFlatten(Zip[Sequence[(A + B, 0), B, 0, unitLocations(2), unitLocations(2) / rightDenom], A, Take[unitLocations, 1, Length[unitLocations] - 1]]) → tickLocationsPoint(smallNumerLocations) → PEndTake(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeedsCorner(5) → layoutAppSizeFlatten(Sequence[Sequence[AnchorRight + (((1.2 * boxWidthRight) * i), case3Offset - (boxHeightRight * j)), j, 0, rightDenom - 1], i, 0, 3]) → boxAnchorsRightCase3If(caseNum ≟ 1, boxAnchorsRightCase1, boxAnchorsRightCase3) → boxAnchorsRightZip(Sequence[Rotate[A + ((0.24 * modelWidth), 0), K, A], K, 0, (2 * pi), (2 * pi / currentDenom)], A, circAnchorsLeft) → sectorPointsLeftZip(Sequence[CircleSector[A, Element[B, K], Element[B, K + 1]], K, 1, Length[B] - 1], A, circAnchorsLeft, B, sectorPointsLeft) → sectorsLeftTake(Unique[Flatten[sectorsLeft]], 1, currentNumer) → filledSectorsLeftTranslate(filledSectorsLeft, AnchorRight - AnchorLeft) → filledSectorsRightSegment((-2, 0), (47, 0)) → numberLineZip(Text[("" * A), (B, -0.5), true, true, 0, -1], A, Sequence[("" * A), A, 0, Length[unitLocations]], B, unitLocations) → numbersZip(Sequence[Segment[(A + B, 0), (A + B, -0.5)], B, 0, unitLocations(2), unitLocations(2) / rightDenom], A, Take[unitLocations, 1, Length[unitLocations] - 1]) → smallTicksZip(Segment[(A, 1), (A, -1)], A, unitLocations) → bigTicksZip(Sequence[Segment[(A + B, 0.75), (A + B, 0)], B, 0, unitLocations(2), unitLocations(2) / currentDenom], A, Take[unitLocations, 1, Length[unitLocations] - 1]) → mediumTicksSegment((0, 0), PEnd) → fractionSegmentElement({(x(AnchorLeft), y(boxAnchorsLeftCase1(-1) - boxHeightRight)), sectorPointsLeft(1, 1), AnchorLeft}, caseNum) → SlideStartLeftElement({SlideStartRight + (pieceSizeLeft / 2, 0), Rotate[SlideStartRight, pi / currentDenom, AnchorRight], SlideStartRight + (0, ((-pieceSizeLeft)) / 2)}, caseNum) → SlideEndRightElement({SlideStartLeft + (modelWidth / 2, 0), Rotate[SlideStartLeft, pi, AnchorLeft], SlideStartLeft + (0, ((-modelWidth)) / 2)}, caseNum) → SlideEndLeftSequence(Element[{SlideStartRight + ((2 / A * (x(SlideEndRight) - x(SlideStartRight))), 0), Rotate[SlideStartRight, (2 * Angle[SlideStartRight, AnchorRight, SlideEndRight] / A), AnchorRight], SlideStartRight + (0, (2 / A * (y(SlideEndRight) - y(SlideStartRight))))}, caseNum], A, 6, 2, -1) → denPointsRightPoint(denPointsRight) → PMoveRightSequence(Element[{SlideStartLeft + ((1 / A * modelWidth), 0), Rotate[SlideStartLeft, (2 * pi / A), AnchorLeft], SlideStartLeft + (0, (-1 / A * modelWidth))}, caseNum], A, 6, minDenom, -1) → denPointsLeftPoint(denPointsLeft) → PMoveLeftZip(topBox[boxHeightRight, boxWidthRight, A], A, boxAnchorsRight) → boxesRightFlatten(Sequence[Sequence[AnchorLeft + (((1.2 * boxWidthLeft) * i), ((-boxHeightLeft) * j)), j, 0, currentDenom - 1], i, 0, 3]) → boxAnchorsLeftCase3If(caseNum ≟ 1, boxAnchorsLeftCase1, boxAnchorsLeftCase3) → boxAnchorsLeftZip(topBox[boxHeightLeft, boxWidthLeft, A], A, boxAnchorsLeft) → boxesLeftTake(boxesLeft, 1, currentNumer) → filledLeftTranslate(filledLeft, AnchorRight - AnchorLeft) → filledRightZip(Sequence[CircleSector[A, Element[B, K], Element[B, K + 1]], K, 1, Length[B] - 1], A, circAnchorsRight, B, sectorPointsRight) → sectorsRightTableText({((fracDisplayLeft * "=") * fracDisplayRight)}, "c", 200, 5) → fracDisplayIndexOf(PEnd, Unique[smallNumerLocations]) → movingNumerSegment(denPointsLeft(1), denPointsLeft(-1)) → slideSegmentLeftCircleArc(AnchorLeft, denPointsLeft(1), denPointsLeft(-1)) → slideArcLeftCircleArc(AnchorRight, denPointsRight(1), denPointsRight(-1)) → slideArcRightSegment(denPointsRight(1), denPointsRight(-1)) → slideSegmentRightonboardingTextOffset(Corner[onboardingText1, 1], Corner[onboardingText1, 3], onboardingCase, Corner[1], Corner[3], Corner[5]) → OnboardingOffsetcirclePixels(PMoveLeft, 7 + (7 * pulsing), Corner[1], Corner[3], Corner[5]) → pulsingObject1circlePixels(PEnd, 7 + (7 * pulsing), Corner[1], Corner[3], Corner[5]) → pulsingObject2
AI Drawing Prompt Reference
Create a visualization for equivalent fractions with three different visual models: block model, circular sector model, and number line model. The left side shows the original fraction while the right side shows its equivalent. A horizontal number line runs through with tick marks and numeric labels above. In the block model, the area is divided into rows of small blocks, with the numerator blocks filled with color. In the circular model, a circle is divided into sectors with the numerator sectors filled. Use translation and rotation to copy models from left to right for comparison. Display the fraction equation in a text table below, such as '2/4 = 1/2'. Include small, medium, and large tick marks along with a dynamic segment representing the fraction value.
The prompt above was compiled from the original drawing commands and is for reference only.