Visual Fraction Addition by John Ulbright

Visual Fraction Addition by John Ulbright
Loading the math board and drawing, please wait…
2016-10-14 00:02
In collections Working with fractions
This example demonstrates the process and result of adding fractions through dynamic visuals. It involves core math concepts like fraction addition, least common multiple (LCM), and geometric representation. Construction highlights include commands/objects such as Point, Textfield, Polygon, Sequence, LCM, RemoveUndefined, enabling graphical fraction representation and interactive manipulation. Suitable for middle school students and math education purposes.

GeoGebra Commands & Parameters

  1. Point({(a1 * moveTimer), (-2 * moveTimer)}) → a2mover
  2. Point({0, 2 - (4 * moveTimer)}) → a1mover
  3. Textfield(a1text) → InputBox1
  4. Polygon(a1mover, a1mover + (a1, 0), a1mover + (a1, 1), a1mover + (0, 1)) → a1poly, f, g, h, i
  5. Polygon(a2mover, a2mover + (a2, 0), a2mover + (a2, 1), a2mover + (0, 1)) → a2poly, j, k, l, m
  6. Textfield(a2text) → InputBox2
  7. Polygon((0, 2), (a1, 2), (a1, 3), (0, 3)) → a1polyFixed, m_1, n_1, p_1, q_1
  8. Polygon((0, 0), (a2, 0), (a2, 1), (0, 1)) → a2polyFixed, r_1, s_1, t_1, f_2
  9. Point({0, 2 - (4 * barMoveTime)}) → a1barMover
  10. Point({0, (-2 * barMoveTime)}) → a2barMover
  11. Sequence(Segment[(i, 0), (i, 1)], i, 1 / a2denom, ceil(a2) - 1 / a2denom, 1 / a2denom) → list5
  12. Sequence(Segment[(i, 2), (i, 3)], i, 1 / a1denom, ceil(a1) - 1 / a1denom, 1 / a1denom) → list4
  13. LCM(a1denom, a2denom) → a
  14. Sequence(Segment[(0, -2) + (i, 0), (0, -2) + (i, growBarTimer)], i, 1 / a, ceil(a1 + a2) - 1 / a, 1 / a) → list7
  15. Sequence(Polygon[(i, -2), (i + 1, -2), 4], i, 0, ceil(a1 + a2) - 1) → list3
  16. Sequence(Polygon[(i, 0), (i + 1, 0), 4], i, 0, ceil(a2) - 1) → list1
  17. Sequence(Polygon[(i, 2), (i + 1, 2), 4], i, 0, ceil(a1) - 1) → list2
  18. RemoveUndefined(Join[{Sequence[Segment[a1barMover + (i, 0), a1barMover + (i, 1)], i, 1 / a1denom, ceil(a1) - 1 / a1denom, 1 / a1denom], Sequence[Segment[a2barMover + (i, 0), a2barMover + (i, 1)], i, 1 / a2denom, ceil(a2) - 1 / a2denom, 1 / a2denom]}]) → list6