Seeing Division: Interactive Partitive and Quotative Models
Loading the math board and drawing, please wait…
This GeoGebra example provides a dynamic visual demonstration of division through two complementary models: partitive (sharing into equal groups) and quotative (grouping by a fixed size). It uses animated dot arrays and bar charts to show how a dividend is split by a divisor, making the abstract operation tangible. Core mathematical concepts include division semantics, the relationship between division and multiplication, and the interpretation of remainders. The construction leverages GeoGebra commands such as If, First, Sequence, Flatten, Textfield, Max, Min, and Last, along with interactive input boxes, sliders, and timers to animate the grouping process. It is suitable for upper elementary and middle school students, as well as teachers seeking a visual aid for introducing division concepts, fostering conceptual understanding before procedural fluency.
GeoGebra Commands & Parameters
If(a1 / a2 < 6, 1, If[a1 / a2 < 11, 2, 3]) → groupLayoutSizes2First(Flatten[Sequence[Sequence[Point[{i, j}], i, (0.5 * a1 / quotativeGPR), a1, a1 / quotativeGPR], j, ((-0.5 * a1)) / quotativeGPR - 1, ((-0.5 * a1)) / quotativeGPR - 1 - (a1 / quotativeGPR * (groupLayoutSizes2 - 1)), ((-a1)) / quotativeGPR]], q) → quotativeGroupCentersIf(a2 > 2 ∧ q > 2, 0.5, 0.4) → polySizeSequence(Point[{i, 0}], i, 0, a1 - 1) → arrayPointsIf(a2 < 6, 1, If[a2 < 11, 2, 3]) → groupLayoutSizes1Flatten(Sequence[Sequence[Point[{i, j}], i, (0.5 * a1 / partitiveGPR), a1, a1 / partitiveGPR], j, ((-0.5 * a1)) / partitiveGPR - 1, ((-0.5 * a1)) / partitiveGPR - 1 - (a1 / partitiveGPR * (groupLayoutSizes1 - 1)), ((-a1)) / partitiveGPR]) → partitiveGroupCentersTextfield(a1text) → InputBox0Textfield(a2text) → InputBox1Max(a1, a2) → arraySizeFlatten(Sequence[Sequence[Element[partitiveGroupCenters, i] - (polySize / 2, polySize / 2) + (((1 - q) / q * (0.4 * a1 / partitiveGPR)) * (cos(((2 * π / q) * j)), sin(((2 * π / q) * j)))), j, 0, q - 1], i, 1, Length[partitiveGroupCenters]]) → partitiveGroupDotsMin((-0.1 * a1), -2) → leftIf(c, (((-a1)) / partitiveGPR * groupLayoutSizes1) - 1, If[a, (((-a1)) / quotativeGPR * groupLayoutSizes2) - 1, 0]) → bottomFlatten(Sequence[Sequence[Element[quotativeGroupCenters, i] - (polySize / 2, polySize / 2) + (quotativeDistance * (cos(((2 * π / a2) * j) + π), sin(((2 * π / a2) * j) + π))), j, 0, a2 - 1], i, 1, Length[quotativeGroupCenters]]) → quotativeGroupDotsMax((1.1 * a1), 2) → rightSequence((Element[arrayPoints, i] * (1 - timer2)) + (Element[quotativeGroupDots, i] * timer2), i, ((test - 1) * a2) + 1, (test * a2)) → movingQuotativeDotsSequence(Polygon[Element[arrayPoints, i], Element[arrayPoints, i] + (polySize, 0), 4], i, 1, a1) → fixedArrayPolysLast(fixedArrayPolys, a1 - (test * a2)) → quotativeRemainingPolysLast(fixedArrayPolys, a1 - (ms * a2)) → partitiveRemainingPolysIf(a, quotativeDistance + 1 / 2, (0.5 * a1 / partitiveGPR) - 1 / 5) → PCSIf(ms > 0, Sequence[Polygon[Element[movingPartitiveDots, i], Element[movingPartitiveDots, i] + (polySize, 0), 4], i, 1, Length[movingPartitiveDots]], {}) → movingPartitiveArraysSequence(Sequence[Polygon[Element[partitiveGroupDots, i], Element[partitiveGroupDots, i] + (polySize, 0), 4], i, k, a1, q], k, 1, ms - 1) → partitiveGroupedPolysFirst(Sequence[Circle[Element[partitiveGroupCenters, i], PCS], i, 1, Length[partitiveGroupCenters]], circleTimer) → partitiveGroupCirclesFirst(Sequence[Polygon[Element[quotativeGroupDots, i], Element[quotativeGroupDots, i] + (polySize, 0), 4], i, 1, (a2 * q)], (a2 * circleTimer)) → quotativeGroupedPolysIf(ms > 0, Sequence[Polygon[Element[movingQuotativeDots, i], Element[movingQuotativeDots, i] + (polySize, 0), 4], i, 1, Length[movingQuotativeDots]], {}) → movingQuotativeArraysFirst(Sequence[Circle[Element[quotativeGroupCenters, i], PCS], i, 1, Length[quotativeGroupCenters]], circleTimer) → quotativeGroupCircles
AI Drawing Prompt Reference
Create a dynamic division visualization with two models: sharing into equal groups (partitive model) and grouping by a fixed size (quotative model). Use dot arrays and bar charts to show how the dividend is divided by the divisor. Set two input boxes for the dividend and divisor, and dynamically adjust the positions and sizes of the dot arrays and bar charts. Use animation to demonstrate the grouping process, including the display of remainders.
The prompt above was compiled from the original drawing commands and is for reference only.