Fraction Multiplication Visualization by GeoGebra Institute of Hong Kong
Loading the math board and drawing, please wait…
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
Intersect(Circle[O, n], Ray[(0, 0), (1, 0)]) → A, BRotate(A, 90*°, O) → CSequence(O + i / (n * c) * (C - O), i, 1, n * c) → list2Sequence(O + i / (n * a) * (A - O), i, 1, n * a) → list1Element(list2, q * c + d) → QElement(list1, p * a + b) → PUnitOrthogonalVector(Segment[O, A]) → uSequence(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') → list3UnitVector(Segment[O, A]) → vPolygon(O, P, P + Q - O, Q) → poly1, poly1_2, poly1_3, poly1_1, poly1_4Textfield(a) → inputBox1Textfield(c) → inputBox2Sequence(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) → list6Polygon(O, P, P + (0, 1), (0, 1)) → poly2, poly2_3, poly2_4, poly2_1, poly2_2If(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'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) → list4If(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'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) → list5Textfield(c) → inputBox2_1Textfield(c) → inputBox2_2Textfield(c) → inputBox2_3