Visualizing Multiplication of Improper Fractions by Whole Numbers

Visualizing Multiplication of Improper Fractions by Whole Numbers
Loading the math board and drawing, please wait…
2019-02-14 21:57
This example dynamically demonstrates the geometric interpretation of multiplying an improper fraction by a whole number, transforming abstract operations into visual shapes. It involves core mathematical concepts such as fraction multiplication, geometric representation, unit partitioning, and accumulation. The construction utilizes GeoGebra commands like Sequence, Sort, First, Flatten, Textfield, Text, If, Point, Circle, Sector, Segment, and objects including wedgeMover, circleCenters, dividend, dWidth, den, repeatedCenters, destinationCenters, dc_h, dc_s, num, numberFinalGroups, fgc2, realFGC, wedgemover2, dividendText, numText, denText, InputBox1, text1, InputBox2, InputBox3, button1, circles, movingCenters, wedges, movingCircles, secondMovingCenters, movingWedges, finalGroupedCenters, secondMovingCircles, step, a, button2, opacity, button3, b, ghostWedges, B, wholeNumber, fraction. It is suitable for middle school and above mathematics education, aiding in the visualization and understanding of fraction operations.

GeoGebra Commands & Parameters

  1. Sequence(Point[{(-1.5 * (dividend - 1)) + (3 * Mod[i, dWidth]), -3 - (3 * Div[i, dWidth])}], i, 0, (den * dividend) - 1) → destinationCenters
  2. Sort(Sequence[(x(Element[Reverse[destinationCenters], i]), i), i, 1, Length[destinationCenters]]) → dc_h
  3. Sequence(Element[Reverse[destinationCenters], y(Element[dc_h, i])], i, 1, Length[destinationCenters]) → dc_s
  4. First(destinationCenters, numberFinalGroups) → fgc2
  5. Flatten(Sequence[Sequence[Element[fgc2, i], j, 1, num], i, 1, Length[fgc2]]) → realFGC
  6. Textfield(dividendText) → InputBox1
  7. Textfield(numText) → InputBox2
  8. Textfield(denText) → InputBox3
  9. Sequence(Circle[Element[circleCenters, i], 0.5], i, 1, 4) → circles
  10. Sequence((Element[repeatedCenters, i] * (1 - wedgeMover)) + (Element[dc_s, i] * wedgeMover), i, 1, (den * dividend)) → movingCenters
  11. Sequence(Sequence[Sector[Element[circles, i], (((2 * π)) / den * j), (((2 * π)) / den * (j + 1))], j, 1, den], i, 1, 4) → wedges
  12. Sequence(Circle[Element[movingCenters, i], 0.5], i, 1, 2) → movingCircles
  13. Sequence((Element[dc_s, i] * (1 - wedgemover2)) + (Element[realFGC, i] * wedgemover2), i, 1, (den * 2)) → secondMovingCenters
  14. Sequence(Sector[Element[movingCircles, i], ((i * 2) * π / den), (((i + 1) * 2) * π / den)], i, 1, (den * dividend)) → movingWedges
  15. Sequence(Take[destinationCenters, i, i + num - 1], i, 1, (den * dividend), num) → finalGroupedCenters
  16. Sequence(Circle[Element[secondMovingCenters, i], 0.5], i, 1, 2) → secondMovingCircles
  17. Text(floor((den * dividend / num))) → wholeNumber
  18. If(floor((den * dividend / num)) ≟ (den * dividend / num), "", FractionText[(den * dividend / num) - floor((den * dividend / num))]) → fraction
  19. Point({0, (top + bottom) / 2}) → center
  20. Sequence(Sector[Element[secondMovingCircles, i], (i * ((2 * π)) / den), ((i + 1) * ((2 * π)) / den)], i, 1, (den * dividend)) → movingWedges2
  21. Point(xAxis) → C
  22. Point(xAxis) → D
  23. Circle(C, D) → d
  24. Point(xAxis) → E
  25. Point(xAxis) → G
  26. Point(xAxis) → H
  27. Circle(G, H) → g
  28. Point(xAxis) → I
  29. Point(circles) → J
  30. Circle(I, J) → h
  31. Sequence(Rotate[D, (360° * i / den), C], i, 1, den) → l1
  32. Sequence(Segment[C, Element[l1, i]], i, 1, den) → l2
  33. Sequence(Rotate[F, (360° * i / den), E], i, 1, den) → l3
  34. Sequence(Segment[E, Element[l3, i]], i, 1, den) → l4
  35. Circle(E, F) → e
  36. Sector(e, F, Element[l3, 1]) → k
  37. Sequence(Rotate[H, (360° * i / den), G], i, 1, den) → l5
  38. Sequence(Segment[G, Element[l5, i]], i, 1, den) → l6
  39. Sequence(Rotate[J, (360° * i / den), I], i, 1, den) → l7
  40. Sequence(Segment[I, Element[l7, i]], i, 1, den) → l8
  41. Sector(h, J, Element[l7, 1]) → p
  42. Point(movingWedges2) → K
  43. Circle(L, M) → q
  44. Sequence(Rotate[M, (360° * i / den), L], i, 1, den) → l9
  45. Sequence(Segment[L, Element[l9, i]], i, 1, den) → l10
  46. Sector(q, M, Element[l9, 2]) → r
  47. Point(movingWedges2) → O
  48. Point(yAxis) → P
  49. Circle(P, Q) → t
  50. Sequence(Rotate[Q, (360° * i / den), P], i, 1, den) → l13
  51. Sequence(Segment[P, Element[l13, i]], i, 1, den) → l14
  52. Circle(N, R) → s
  53. Sequence(Rotate[R, (360° * i / den), N], i, 1, den) → l11
  54. Sequence(Segment[N, Element[l11, i]], i, 1, den) → l12
  55. If(bruno > 0, 1, 0) → lal
  56. Segment(A, S) → f