Fraction Multiplication Visualization by GeoGebra Institute of Hong Kong

Fraction Multiplication Visualization by GeoGebra Institute of Hong Kong
Loading the math board and drawing, please wait…
2012-09-28 14:47
This GeoGebra example visually demonstrates fraction multiplication, illustrating the geometric meaning of multiplying two fractions a/b and c/d and showing that the product equals (ac)/(bd). Core mathematical concepts include the fraction multiplication rule, multiplying numerators and denominators separately, equivalent fractions, and rational number arithmetic. Construction highlights: the example uses GeoGebra commands such as Polygon to build polygonal regions representing fractions, Intersect and Rotate for geometric transformations and intersection points, Sequence and Element for list generation and element access, UnitVector and UnitOrthogonalVector for vector direction handling, together with Textfield, If conditional statements, multiple buttons, and input boxes to create an interactive demonstration. Suitable for middle school mathematics instruction, as well as upper elementary fraction multiplication introduction and classroom dynamic teaching.

GeoGebra Commands & Parameters

  1. Intersect(Circle[O, n], Ray[(0, 0), (1, 0)]) → A, B
  2. Rotate(A, 90*°, O) → C
  3. Sequence(O + i / (n * c) * (C - O), i, 1, n * c) → list2
  4. Sequence(O + i / (n * a) * (A - O), i, 1, n * a) → list1
  5. Element(list2, q * c + d) → Q
  6. Element(list1, p * a + b) → P
  7. UnitOrthogonalVector(Segment[O, A]) → u
  8. Sequence(Sequence[Polygon[(j - 1) * u + O + (i - 1) / n * (A - O), (j - 1) * u + O + i / n * (A - O), j * u + O + i / n * (A - O), j * u + O + (i - 1) / n * (A - O)], i, 1, b'], j, 1, d') → list3
  9. UnitVector(Segment[O, A]) → v
  10. Polygon(O, P, P + Q - O, Q) → poly1, poly1_2, poly1_3, poly1_1, poly1_4
  11. Textfield(a) → inputBox1
  12. Textfield(c) → inputBox2
  13. Sequence(Sequence[Polygon[(j - 1) * u + O + (i - 1) / n * (A - O), (j - 1) * u + O + i / n * (A - O), j * u + O + i / n * (A - O), j * u + O + (i - 1) / n * (A - O)], i, 1, 5], j, 1, 5) → list6
  14. Polygon(O, P, P + (0, 1), (0, 1)) → poly2, poly2_3, poly2_4, poly2_1, poly2_2
  15. If(b ≠ 0, Sequence[Segment[O + (b' - 1) * (A - O) / n + i / (n * a) * (A - O), O + (b' - 1) * (A - O) / n + i / (n * a) * (A - O) + (0, 5)], i, 1, a - 1]) → list4'
  16. Sequence(Sequence[Segment[O + (j - 1) * (A - O) / n + i / (n * a) * (A - O), O + (j - 1) * (A - O) / n + i / (n * a) * (A - O) + (0, 5)], i, 1, a - 1], j, 1, 5) → list4
  17. If(d ≠ 0, Sequence[Segment[O + (d' - 1) * (C - O) / n + i / (n * c) * (C - O), O + (d' - 1) * (C - O) / n + i / (n * c) * (C - O) + (5, 0)], i, 1, c - 1]) → list5'
  18. Sequence(Sequence[Segment[O + (j - 1) * (C - O) / n + i / (n * c) * (C - O), O + (j - 1) * (C - O) / n + i / (n * c) * (C - O) + (5, 0)], i, 1, c - 1], j, 1, 5) → list5
  19. Textfield(c) → inputBox2_1
  20. Textfield(c) → inputBox2_2
  21. Textfield(c) → inputBox2_3