Visual Factorization Illustration

Visual Factorization Illustration
Loading the math board and drawing, please wait…
2013-06-24 22:24
This example allows users to input an integer and visually explore all possible pairs of divisors that multiply to produce the number, based on its prime factorization. It covers core concepts like factors, prime factorization, LCM, and GCD. The construction leverages GeoGebra commands such as Factors, Join, Sequence, Element, Textfield, Min, Corner, Max, If, and Text, along with objects like list1, factors, points, and inputBox1. It's suitable for middle school and above, providing an intuitive understanding of multiplication and factor relationships.

GeoGebra Commands & Parameters

  1. Factors(n) → fm
  2. Join(Sequence[Sequence[Element[Element[fm, i], 1], j, 1, Element[Element[fm, i], 2]], i, 1, Length[fm]]) → factors
  3. Sequence(If[Element[bools, i] ∧ (Length[factors] ≥ i), Element[factors, i], 1], i, 1, Length[bools]) → list1
  4. Sequence(((floor(i / prows) * d), (Mod[i, prows] * d)) + (ts * Vector[((floor(i / prows) * d), (Mod[i, prows] * d)), (((floor(i / rows) * d), Mod[i, rows]) * d)]), i, 0, n - 1) → points
  5. Element(points, n) → MX
  6. Textfield(n) → inputBox1
  7. Sequence(If[(¬Element[bools, i]) ∧ (Length[factors] ≥ i), Element[factors, i], 1], i, 1, Length[bools]) → list2
  8. Min(Sequence[If[Element[bools, i], i, 10000], i, 1, Length[bools]]) → minTrue
  9. Min(Sequence[If[¬Element[bools, i], i, 10000], i, 1, Length[bools]]) → minFalse
  10. Sequence(If[(i ≤ Length[factors]) ∧ Element[bools, i], If[i > minTrue, "\times", ""] + (Element[list1, i]), ""], i, 1, Length[bools]) → rt
  11. Sequence(If[(i ≤ Length[factors]) ∧ (¬Element[bools, i]), If[i > minFalse, "\times", ""] + (Element[list2, i]), ""], i, 1, Length[bools]) → ct
  12. Corner(5) → GV
  13. Max(Sequence[If[¬Element[bools, i], i, 0], i, 1, Min[Length[bools], Length[factors]]]) → maxFalse
  14. Max(Sequence[If[Element[bools, i], i, 0], i, 1, Min[Length[bools], Length[factors]]]) → maxTrue
  15. Sequence(Circle[Element[points, i], (0.3 * d)], i, 1, n) → list3
  16. If(MXratio > ratio, innerW / ratio, innerH) → finH
  17. If(MXratio > ratio, innerW, (innerH * ratio)) → finW
  18. Text(If[rows ≟ 1, "1", Element[rt, 1] + (Element[rt, 2]) + (Element[rt, 3]) + (Element[rt, 4]) + (Element[rt, 5]) + (Element[rt, 6]) + (Element[rt, 7]) + (If[minTrue ≟ maxTrue, "", "=" + rows])], RT, false, true) → text1
  19. Text(If[cols ≟ 1, "1", Element[ct, 1] + (Element[ct, 2]) + (Element[ct, 3]) + (Element[ct, 4]) + (Element[ct, 5]) + (Element[ct, 6]) + (Element[ct, 7]) + (If[minFalse ≟ maxFalse, "", "=" + cols])], CT, false, true) → text2
  20. Sequence(If[Element[bools, i], "darkgreen", "red"], i, 1, Length[bools]) → colors