Create Equivalent Fractions with Smaller Denominators

Create Equivalent Fractions with Smaller Denominators
Loading the math board and drawing, please wait…
2023-08-23 20:18
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

  1. Shuffle({4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20}) → bList, {12, 6, 18, 15, 20, 14, 8, 4, 10, 9, 16}
  2. Shuffle(Sequence[10]) → indices, {7, 4, 9, 10, 5, 2, 8, 6, 1, 3}
  3. Vector((0, -1.8)) → hei
  4. Translate(A', hei) → A''_{1}
  5. If(example ≟ 0, 10, Element[bList, Mod[example, Length[bList]] + 1]) → b
  6. Translate(A''_{1}, Vector[wid / b]) → J
  7. Vector(A''_{1}, J) → wid1part
  8. KeepIf(Length[Intersection[PrimeFactors[ii], PrimeFactors[b]]] ≠ 0, ii, Sequence[b]) → relativePrimes
  9. Zip(Translate[(x(A'), 6.8), Vector[(wid1part * kk)]], kk, Take[relativePrimes, 1, Length[relativePrimes] - 1]) → PositionsFakeSlider
  10. Point(PositionsFakeSlider) → FakeSliderPoint
  11. IndexOf(FakeSliderPoint, PositionsFakeSlider) → a
  12. If(Length[denominators] ≟ 0, {}, Zip[(Element[relativePrimes, a] * kk / b), kk, denominators]) → numerators
  13. Numerator(Element[relativePrimes, a] / b) → simpNum
  14. Denominator(Element[relativePrimes, a] / b) → simpDen
  15. Zip((((((((If[n ≟ dd, "=\tiny{\colorbox{#d2e4e2}{\normalsize", "\normalsize{{="] * "\frac{") * nn) * "}{\textcolor{") * colorPurpleButton_{1}) * "}{") * dd) * "}}}}"), nn, numerators, dd, denominators) → l1
  16. Join({Zip[(((((((((("=\frac{" * simpNum) * "\times ") * nn) * "}{\textcolor{") * colorPurpleButton_{1}) * "}{") * simpDen) * "\times") * dd) * "}}"), nn, l2, dd, l3], Last[l1]}) → l4
  17. Polygon(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)}]) → borderBox
  18. Vertex(borderBox) → A, B, C, D
  19. Corner(5) → AppSize
  20. Translate(A, wid) → A'_{1}
  21. Translate(A', wid) → A''
  22. Polygon(A, A', A'', A'_{1}) → q1, a_{1}, a', a'', a'_{1}
  23. Translate(A, hei) → A'_{2}
  24. Translate(A'', hei) → A'''
  25. Translate(A'_{1}, hei) → E
  26. Polygon(A'_{2}, A''_{1}, A''', E) → q1', a'_{2}, a''_{1}, a''', e
  27. Translate(A''_{1}, Vector[(0.8 * hei)]) → F
  28. Translate(F, hei) → G
  29. Translate(G, wid) → H
  30. Translate(E, Vector[(2 * hei)]) → E'
  31. Polygon(F, G, H, E') → q1'', f, g, h, e'
  32. Length(relativePrimes) → maxA
  33. Translate(A', Vector[wid / b]) → I
  34. Polygon(A''_{1}, J, I, A') → q2, i, j, i_1, k
  35. Sequence(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) → denMod1
  36. Sequence(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) → numMod1
  37. Translate(G, Vector[(wid1part * Element[relativePrimes, a])]) → G'
  38. Translate(F, Vector[(wid1part * Element[relativePrimes, a])]) → F'
  39. Polygon({F, G, G', F'}) → GreenRectangleBelow
  40. Translate(F, Vector[wid / n]) → F'_{1}
  41. Translate(G, Vector[wid / n]) → G'_{1}
  42. Sequence(Translate[Polygon[{F, G, G'_{1}, F'_{1}}], Vector[(wid / n * ii)]], ii, 0, n - 1) → DivisionsBelow
  43. Segment(FakeSlider1, FakeSlider2) → fakeSlider_{1}
  44. Polygon(A', A''_{1}, A''', A'') → q4, l, m, p, q
  45. Polygon({F, G, H, (x(H), y(F))}) → q5
  46. Segment(Element[PositionsFakeSlider, 1], Element[PositionsFakeSlider, Length[PositionsFakeSlider]]) → fakeSlider
  47. Text(sliderALabel, FakeSliderPoint, true, true, 0, 1) → fakeSliderLabel
  48. Segment((x(A), y(A) - (3 / 5 * (y(A) - y(A')))), (x(A), y(A) - (3 / 5 * (y(A) - y(A')))) + wid) → fackeSliderDash
  49. Translate(FakeSliderPoint, Vector[A', G]) → FakeSliderPoint'
  50. Segment(FakeSliderPoint, FakeSliderPoint') → verticalSegment
  51. Translate(numMod1, Vector[(Vector[A', F] * anim)]) → numMod1'
  52. Translate(hGL, Vector[(Vector[Corner[4], Corner[1]] / 500 * 24)]) → hGL'
  53. PixelsToPoint(Corner[1], Corner[3], Corner[5], L) → K
  54. circlePixels(K, 9 + (7 * pulsing), Corner[1], Corner[3], Corner[5]) → pulsingObject
  55. If(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.