Create Equivalent Fractions with Smaller Denominators
Loading the math board and drawing, please wait…
This example demonstrates how to create equivalent fractions with a smaller denominator using tape diagrams. It involves core math concepts such as the fundamental properties of fractions and the representation of equivalent fractions. Key GeoGebra commands used in the construction include Shuffle, Vector, Translate, If, KeepIf, Zip, Point, IndexOf, Numerator, Denominator, Join, Polygon, Vertex, Corner, Length, Sequence, Segment, Text, PixelsToPoint, circlePixels, etc., to build the fraction model and interactive interface. Suitable for upper elementary students learning about equivalent fraction transformations and number sense development.
GeoGebra Commands & Parameters
Shuffle({4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20}) → bList, {12, 6, 18, 15, 20, 14, 8, 4, 10, 9, 16}Shuffle(Sequence[10]) → indices, {7, 4, 9, 10, 5, 2, 8, 6, 1, 3}Vector((0, -1.8)) → heiTranslate(A', hei) → A''_{1}If(example ≟ 0, 10, Element[bList, Mod[example, Length[bList]] + 1]) → bTranslate(A''_{1}, Vector[wid / b]) → JVector(A''_{1}, J) → wid1partKeepIf(Length[Intersection[PrimeFactors[ii], PrimeFactors[b]]] ≠ 0, ii, Sequence[b]) → relativePrimesZip(Translate[(x(A'), 6.8), Vector[(wid1part * kk)]], kk, Take[relativePrimes, 1, Length[relativePrimes] - 1]) → PositionsFakeSliderPoint(PositionsFakeSlider) → FakeSliderPointIndexOf(FakeSliderPoint, PositionsFakeSlider) → aIf(Length[denominators] ≟ 0, {}, Zip[(Element[relativePrimes, a] * kk / b), kk, denominators]) → numeratorsNumerator(Element[relativePrimes, a] / b) → simpNumDenominator(Element[relativePrimes, a] / b) → simpDenZip((((((((If[n ≟ dd, "=\tiny{\colorbox{#d2e4e2}{\normalsize", "\normalsize{{="] * "\frac{") * nn) * "}{\textcolor{") * colorPurpleButton_{1}) * "}{") * dd) * "}}}}"), nn, numerators, dd, denominators) → l1Join({Zip[(((((((((("=\frac{" * simpNum) * "\times ") * nn) * "}{\textcolor{") * colorPurpleButton_{1}) * "}{") * simpDen) * "\times") * dd) * "}}"), nn, l2, dd, l3], Last[l1]}) → l4Polygon(Zip[PixelsToPoint[Corner[1], Corner[3], Corner[5], A], A, {(pixelsLeft, pixelsTop), (pixelsLeft, y(Corner[5]) - pixelsBottom), Corner[5] - (pixelsRight, pixelsBottom), (x(Corner[5]) - pixelsRight, pixelsTop)}]) → borderBoxVertex(borderBox) → A, B, C, DCorner(5) → AppSizeTranslate(A, wid) → A'_{1}Translate(A', wid) → A''Polygon(A, A', A'', A'_{1}) → q1, a_{1}, a', a'', a'_{1}Translate(A, hei) → A'_{2}Translate(A'', hei) → A'''Translate(A'_{1}, hei) → EPolygon(A'_{2}, A''_{1}, A''', E) → q1', a'_{2}, a''_{1}, a''', eTranslate(A''_{1}, Vector[(0.8 * hei)]) → FTranslate(F, hei) → GTranslate(G, wid) → HTranslate(E, Vector[(2 * hei)]) → E'Polygon(F, G, H, E') → q1'', f, g, h, e'Length(relativePrimes) → maxATranslate(A', Vector[wid / b]) → IPolygon(A''_{1}, J, I, A') → q2, i, j, i_1, kSequence(Polygon[Translate[A''_{1}, Vector[(wid1part * ii)]], Translate[J, Vector[(wid1part * ii)]], Translate[I, Vector[(wid1part * ii)]], Translate[A', Vector[(wid1part * ii)]]], ii, 0, b - 1) → denMod1Sequence(Polygon[Translate[A''_{1}, Vector[(wid1part * ii)]], Translate[J, Vector[(wid1part * ii)]], Translate[I, Vector[(wid1part * ii)]], Translate[A', Vector[(wid1part * ii)]]], ii, 0, Element[relativePrimes, a] - 1) → numMod1Translate(G, Vector[(wid1part * Element[relativePrimes, a])]) → G'Translate(F, Vector[(wid1part * Element[relativePrimes, a])]) → F'Polygon({F, G, G', F'}) → GreenRectangleBelowTranslate(F, Vector[wid / n]) → F'_{1}Translate(G, Vector[wid / n]) → G'_{1}Sequence(Translate[Polygon[{F, G, G'_{1}, F'_{1}}], Vector[(wid / n * ii)]], ii, 0, n - 1) → DivisionsBelowSegment(FakeSlider1, FakeSlider2) → fakeSlider_{1}Polygon(A', A''_{1}, A''', A'') → q4, l, m, p, qPolygon({F, G, H, (x(H), y(F))}) → q5Segment(Element[PositionsFakeSlider, 1], Element[PositionsFakeSlider, Length[PositionsFakeSlider]]) → fakeSliderText(sliderALabel, FakeSliderPoint, true, true, 0, 1) → fakeSliderLabelSegment((x(A), y(A) - (3 / 5 * (y(A) - y(A')))), (x(A), y(A) - (3 / 5 * (y(A) - y(A')))) + wid) → fackeSliderDashTranslate(FakeSliderPoint, Vector[A', G]) → FakeSliderPoint'Segment(FakeSliderPoint, FakeSliderPoint') → verticalSegmentTranslate(numMod1, Vector[(Vector[A', F] * anim)]) → numMod1'Translate(hGL, Vector[(Vector[Corner[4], Corner[1]] / 500 * 24)]) → hGL'PixelsToPoint(Corner[1], Corner[3], Corner[5], L) → KcirclePixels(K, 9 + (7 * pulsing), Corner[1], Corner[3], Corner[5]) → pulsingObjectIf(example ≟ 0, 1, ceil((Element[indices, Mod[example, 10] + 1] / 10 * Length[PositionsFakeSlider]))) → ind
AI Drawing Prompt Reference
Create a geometry model for equivalent fractions using a tape/strip diagram. Build a main rectangular border region and a corresponding lower strip area, then split the strip into equal parts according to a movable denominator slider. For each division unit, place the associated fraction quantity indicator so the displayed fraction expression updates with the slider position. Include a clear denominator scale with tick marks and a dashed guide line, and show text labels for the fraction’s multiplicative form and the simplified numerator/denominator at the top. Keep the bar partition and the fraction text visually linked to the slider position so the diagram reflects changing denominators while representing equivalence.
The prompt above was compiled from the original drawing commands and is for reference only.