Fraction Multiplication Demo by John Ulbright (2)

Fraction Multiplication Demo by John Ulbright (2)
Loading the math board and drawing, please wait…
2017-03-08 01:41
In collections Working with fractions
This example demonstrates how to multiply mixed numbers using GeoGebra, with pie charts to visualize the results. It involves core concepts like fraction multiplication, mixed number conversion, and geometric representation. Key GeoGebra commands used include Textfield, Point, Intersect, Segment, Polygon, Flatten, First, If, Sequence, Remove, Sort, Take, Max for creating dynamic interactive elements. Suitable for middle school and above students to understand fraction operations and geometric visualization.

GeoGebra Commands & Parameters

  1. Textfield(w1T) → InputBox1
  2. Textfield(n1T) → InputBox2
  3. Textfield(d1T) → InputBox3
  4. Textfield(w2T) → InputBox4
  5. Textfield(d2T) → InputBox6
  6. Textfield(n2T) → InputBox5
  7. Point({(f1 * grow), 0}) → A
  8. Point({0, (f2 * grow)}) → B
  9. Intersect(xAxis, yAxis) → C
  10. Segment(C, A) → f
  11. Segment(C, B) → g
  12. Point({f1, (grow2 * f2)}) → D
  13. Point({(f1 * grow2), f2}) → E
  14. Segment(A, D) → h
  15. Segment(B, E) → i
  16. Polygon(C, (floor(f1), 0), (floor(f1), floor(f2)), (0, floor(f2))) → poly1, c, j, k, l
  17. Flatten(Sequence[Sequence[Point[{i, j}], i, w1 + (n1 - 1) / d1, 0, -1 / d1], j, w2, w2 + (n2 - 1) / d2, 1 / d2]) → topAndCorner
  18. Polygon((w1, 0), (f1, 0), (f1, f2), (0, f2), (0, w2), (w1, w2)) → poly2, m, n, p, q, r, s
  19. Polygon((0, 0), (f1, 0), (f1, f2), (0, f2)) → poly3, t, d, e, f_1
  20. Polygon((w1, 0), (f1, 0), (f1, w2), (w1, w2)) → poly4, g_1, h_1, i_1, j_1
  21. Polygon((0, w2), (f1, w2), (f1, f2), (0, f2)) → poly5, a, k_1, l_1, m_1
  22. First(Flatten[Sequence[Sequence[Polygon[(i, j), (i + 1, j), 4], j, 0, w2 - 1], i, w1, w1 + ceil(newOnes / w2)]], newOnes) → newWholesInBrown
  23. If(w2T ≟ "", "0", w2T) → w2BT
  24. If(w1T ≟ "", "0", w1T) → w1BT
  25. If(n1T ≟ "", "0", n1T) → n1BT
  26. If(n2T ≟ "", "0", n2T) → n2BT
  27. If(d1T ≟ "", "1", d1T) → d1BT
  28. If(d2T ≟ "", "1", d2T) → d2BT
  29. Sequence(Sequence[Point[{i, j}], i, w1, f1 - 1 / d1, 1 / d1], j, 0, w2 - 1 / d2, 1 / d2) → right
  30. Flatten(Join[{right, topAndCorner}]) → origFractionPoints
  31. First(Flatten[Sequence[Sequence[Sequence[Sequence[Point[{i + k, j + m}], i, 0, 1 - 1 / d1, 1 / d1], j, 0, 1 - 1 / d2, 1 / d2], m, 0, w2 - 1], k, w1, w1 + ceil(newOnes / w2)]], Length[origFractionPoints]) → destinationFractionPoints
  32. Remove(origFractionPoints, destinationFractionPoints) → thesePointsWillMove
  33. Sort(Remove[destinationFractionPoints, origFractionPoints]) → movingTargets
  34. First(Flatten[Sequence[Sequence[Polygon[(i, j), (i + 1, j), 4], j, 0, Max[0, w2 - 1]], i, w1, w1 + newOnes]], newOnes) → newWholesInGreen
  35. Sort(Remove[Unique[Flatten[Join[{right, destinationFractionPoints}]]], thesePointsWillMove]) → finalRight
  36. Sequence(y(Element[finalRight, i]), i, 1, Length[finalRight]) → finalYvalues
  37. Sort(finalRight, finalYvalues) → sortedFinalRight
  38. Take(destinationFractionPoints, ((newOnes * d1) * d2) + 1, Length[destinationFractionPoints]) → leftoverFractionPoints
  39. Polygon((w1, 0), (f1, 0), (f1, Min[w2, newOnes]), (w1, Min[w2, newOnes])) → poly6, b, n_1, p_1, q_1
  40. Sequence(Polygon[Element[leftoverFractionPoints, i], Element[leftoverFractionPoints, i] + (1 / d1, 0), Element[leftoverFractionPoints, i] + (1 / d1, 1 / d2), Element[leftoverFractionPoints, i] + (0, 1 / d2)], i, 1, Length[leftoverFractionPoints]) → leftoverFractionPolys
  41. Sequence((Element[thesePointsWillMove, i] * (1 - partMover)) + (Element[movingTargets, i] * partMover), i, 1, Length[movingTargets]) → movingPoints
  42. Sequence(Polygon[Element[movingPoints, i], Element[movingPoints, i] + (1 / d1, 0), Element[movingPoints, i] + (1 / d1, 1 / d2), Element[movingPoints, i] + (0, 1 / d2)], i, 1, Length[movingPoints]) → movingPolys
  43. Remove(leftoverFractionPoints, movingTargets) → addthesePoints
  44. Sequence(Polygon[Element[addthesePoints, i], Element[addthesePoints, i] + (1 / d1, 0), Element[addthesePoints, i] + (1 / d1, 1 / d2), Element[addthesePoints, i] + (0, 1 / d2)], i, 1, Length[addthesePoints]) → addThesePolys
  45. Point(yAxis) → G
  46. Segment(F, G) → r_1
  47. Segment(H, I) → s_1
  48. Max({f2, 2, f1 + If[w2 > 0, ceil(newOnes / w2), newOnes]}) → scale
  49. Sequence(Sequence[Polygon[Element[leftoverFractionPoints, 1] + (i, j), Element[leftoverFractionPoints, 2] + (i, j), Element[leftoverFractionPoints, d1 + 2] + (i, j), Element[leftoverFractionPoints, d1 + 1] + (i, j)], i, 0, 1 - 1 / d1, 1 / d1], j, 0, 1 - 1 / d2, 1 / d2) → leftoveroutlines

AI Drawing Prompt Reference

Create a fraction multiplication demonstration with two input boxes for mixed numbers, visualized as pie charts. Start by drawing coordinate axes and the origin, then represent the mixed numbers with geometric shapes showing whole and fractional parts. Use dynamic pie charts to illustrate the multiplication result, with colors and quantities reflecting the operation. Finally, incorporate dynamic effects to show the changes in the multiplication result, making the visualization interactive.
The prompt above was compiled from the original drawing commands and is for reference only.