Five by Five

Five by Five
Loading the math board and drawing, please wait…
2019-05-03 01:57
This example demonstrates an interactive 5x5 mathematical model showcasing operations like addition and multiplication, involving core concepts such as median lines, sequences, conditional probability, coordinate geometry, and trigonometric functions. It leverages commands like Reverse, Sequence, Zip, RandomElement, Polygon, Text, and Flatten in GeoGebra for dynamic data generation and visualization, making it suitable for high school mathematics instruction in probability, coordinate geometry, and trigonometry.

GeoGebra Commands & Parameters

  1. Reverse({{leftNumber11, leftNumber21, leftNumber31, leftNumber41, leftNumber51}, {leftNumber12, leftNumber22, leftNumber32, leftNumber42, leftNumber52}, {leftNumber13, leftNumber23, leftNumber33, leftNumber43, leftNumber53}, {leftNumber14, leftNumber24, leftNumber34, leftNumber44, leftNumber54}, {leftNumber15, leftNumber25, leftNumber35, leftNumber45, leftNumber55}}) → leftRows
  2. Sequence(Sequence[If[Element[leftRows, i, j] ≟ Element[leftRows, i, j + 1], Element[leftRows, i, j], 0], j, 1, 4], i, 1, 5) → leftRowMatches
  3. Zip(RemoveUndefined[Sequence[If[Element[AAA, i] ≠ Element[AAA, i + 1] ∧ Element[AAA, i] > 0, Element[AAA, i]], i, 1, 4]], AAA, leftRowMatches) → leftRowUniques
  4. Zip(Append[0, Append[RemoveUndefined[Sequence[If[Element[AAA, i] ≟ 0, i], i, 1, 4]], 5]], AAA, leftRowMatches) → leftRowZeros
  5. Zip(Remove[Sequence[Element[AAA, i] - Element[AAA, i - 1], i, 2, Length[AAA]], {1, 1, 1, 1, 1}], AAA, leftRowZeros) → leftRowGaps
  6. RandomElement({"heads", "tails"}) → coinToss
  7. Polygon((1, 1), (2, 1), 4) → right11
  8. Polygon((1, 2), (2, 2), 4) → right12
  9. Polygon((1, 3), (2, 3), 4) → right13
  10. Polygon((1, 4), (2, 4), 4) → right14
  11. Polygon((1, 5), (2, 5), 4) → right15
  12. Polygon((2, 1), (3, 1), 4) → right21
  13. Polygon((2, 2), (3, 2), 4) → right22
  14. Polygon((2, 3), (3, 3), 4) → right23
  15. Polygon((2, 4), (3, 4), 4) → right24
  16. Polygon((2, 5), (3, 5), 4) → right25
  17. Polygon((3.0300525920360633, 1), (4.030052592036063, 1), 4) → right31
  18. Polygon((3, 2), (4, 2), 4) → right32
  19. Polygon((3, 3), (4, 3), 4) → right33
  20. Polygon((3, 4), (4, 4), 4) → right34
  21. Polygon((3, 5), (4, 5), 4) → right35
  22. Polygon((4, 1), (5, 1), 4) → right41
  23. Polygon((4, 1.9849737039819684), (5, 1.9849737039819684), 4) → right42
  24. Polygon((4, 3), (5, 3), 4) → right43
  25. Polygon((4, 4), (5, 4), 4) → right44
  26. Polygon((4, 5), (5, 5), 4) → right45
  27. Polygon((5, 1), (6, 1), 4) → right51
  28. Polygon((5, 2), (6, 2), 4) → right52
  29. Polygon((5, 3), (6, 3), 4) → right53
  30. Polygon((5, 4), (6, 4), 4) → right54
  31. Polygon((5, 5), (6, 5), 4) → right55
  32. Polygon((-6, 1), (-5, 1), 4) → left11
  33. Polygon((-6, 2), (-5, 2), 4) → left12
  34. Polygon((-6, 3), (-5, 3), 4) → left13
  35. Polygon((-6, 4), (-5, 4), 4) → left14
  36. Polygon((-5, 1), (-4, 1), 4) → left21
  37. Polygon((-5, 2), (-4, 2), 4) → left22
  38. Polygon((-5, 3), (-4, 3), 4) → left23
  39. Polygon((-5, 4), (-4, 4), 4) → left24
  40. Polygon((-5, 5), (-4, 5), 4) → left25
  41. Polygon((-6, 5), (-5, 5), 4) → left15
  42. Polygon((-4, 1), (-3, 1), 4) → left31
  43. Polygon((-4, 2), (-3, 2), 4) → left32
  44. Polygon((-4, 3), (-3, 3), 4) → left33
  45. Polygon((-4, 4), (-3, 4), 4) → left34
  46. Polygon((-4, 5), (-3, 5), 4) → left35
  47. Polygon((-3, 1), (-2, 1), 4) → left41
  48. Polygon((-3, 2), (-2, 2), 4) → left42
  49. Polygon((-3, 3), (-2, 3), 4) → left43
  50. Polygon((-3, 4), (-2, 4), 4) → left44
  51. Polygon((-3, 5), (-2, 5), 4) → left45
  52. Polygon((-2, 1), (-1, 1), 4) → left51
  53. Polygon((-2, 2), (-1, 2), 4) → left52
  54. Polygon((-2, 3), (-1, 3), 4) → left53
  55. Polygon((-2, 4), (-1, 4), 4) → left54
  56. Polygon((-2, 5), (-1, 5), 4) → left55
  57. Text(leftNumber51, Centroid[left51] + textAdjuster) → leftText51
  58. Text(leftNumber52, Centroid[left52] + textAdjuster) → leftText52
  59. Text(leftNumber53, Centroid[left53] + textAdjuster) → leftText53
  60. Text(leftNumber54, Centroid[left54] + textAdjuster) → leftText54
  61. Text(leftNumber55, Centroid[left55] + textAdjuster) → leftText55
  62. Text(leftNumber41, Centroid[left41] + textAdjuster) → leftText41
  63. Text(leftNumber42, Centroid[left42] + textAdjuster) → leftText42
  64. Text(leftNumber43, Centroid[left43] + textAdjuster) → leftText43
  65. Text(leftNumber44, Centroid[left44] + textAdjuster) → leftText44
  66. Text(leftNumber45, Centroid[left45] + textAdjuster) → leftText45
  67. Text(leftNumber31, Centroid[left31] + textAdjuster) → leftText31
  68. Text(leftNumber32, Centroid[left32] + textAdjuster) → leftText32
  69. Text(leftNumber33, Centroid[left33] + textAdjuster) → leftText33
  70. Text(leftNumber34, Centroid[left34] + textAdjuster) → leftText34
  71. Text(leftNumber35, Centroid[left35] + textAdjuster) → leftText35
  72. Text(leftNumber21, Centroid[left21] + textAdjuster) → leftText21
  73. Text(leftNumber22, Centroid[left22] + textAdjuster) → leftText22
  74. Text(leftNumber23, Centroid[left23] + textAdjuster) → leftText23
  75. Text(leftNumber24, Centroid[left24] + textAdjuster) → leftText24
  76. Text(leftNumber25, Centroid[left25] + textAdjuster) → leftText25
  77. Text(leftNumber11, Centroid[left11] + textAdjuster) → leftText11
  78. Text(leftNumber12, Centroid[left12] + textAdjuster) → leftText12
  79. Text(leftNumber13, Centroid[left13] + textAdjuster) → leftText13
  80. Text(leftNumber14, Centroid[left14] + textAdjuster) → leftText14
  81. Text(leftNumber15, Centroid[left15] + textAdjuster) → leftText15
  82. Text(rightNumber11, Centroid[right11] + textAdjuster) → rightText11
  83. Text(rightNumber12, Centroid[right12] + textAdjuster) → rightText12
  84. Text(rightNumber13, Centroid[right13] + textAdjuster) → rightText13
  85. Text(rightNumber14, Centroid[right14] + textAdjuster) → rightText14
  86. Text(rightNumber15, Centroid[right15] + textAdjuster) → rightText15
  87. Text(rightNumber21, Centroid[right21] + textAdjuster) → rightText21
  88. Text(rightNumber22, Centroid[right22] + textAdjuster) → rightText22
  89. Text(rightNumber23, Centroid[right23] + textAdjuster) → rightText23
  90. Text(rightNumber24, Centroid[right24] + textAdjuster) → rightText24
  91. Text(rightNumber25, Centroid[right25] + textAdjuster) → rightText25
  92. Text(rightNumber31, Centroid[right31] + textAdjuster) → rightText31
  93. Text(rightNumber32, Centroid[right32] + textAdjuster) → rightText32
  94. Text(rightNumber33, Centroid[right33] + textAdjuster) → rightText33
  95. Text(rightNumber34, Centroid[right34] + textAdjuster) → rightText34
  96. Text(rightNumber35, Centroid[right35] + textAdjuster) → rightText35
  97. Text(rightNumber41, Centroid[right41] + textAdjuster) → rightText41
  98. Text(rightNumber42, Centroid[right42] + textAdjuster) → rightText42
  99. Text(rightNumber43, Centroid[right43] + textAdjuster) → rightText43
  100. Text(rightNumber44, Centroid[right44] + textAdjuster) → rightText44
  101. Text(rightNumber45, Centroid[right45] + textAdjuster) → rightText45
  102. Text(rightNumber51, Centroid[right51] + textAdjuster) → rightText51
  103. Text(rightNumber52, Centroid[right52] + textAdjuster) → rightText52
  104. Text(rightNumber53, Centroid[right53] + textAdjuster) → rightText53
  105. Text(rightNumber54, Centroid[right54] + textAdjuster) → rightText54
  106. Text(rightNumber55, Centroid[right55] + textAdjuster) → rightText55
  107. Flatten(Zip[{AAA, AAA}, AAA, randomNumbers]) → doubledNumbers
  108. Reverse(Sequence[Sequence[Polygon[(i, j), (i + 1, j), 4], i, -6, -2], j, 1, 5]) → leftBackGrounds
  109. Sequence(Sequence[If[Element[leftColumns, i, j] ≟ Element[leftColumns, i, j + 1], Element[leftColumns, i, j], 0], j, 1, 4], i, 1, 5) → leftColumnMatches
  110. Zip(Sum[Sequence[If[c, (Element[AAA, i] * Element[BBB, i]), Element[AAA, i]^(Element[BBB, i])], i, 1, Length[AAA]]], AAA, leftRowUniques, BBB, leftRowGaps) → leftRowSums
  111. Polygon((-6.1, 0.9), (-0.9, 0.9), 4) → leftOutline
  112. Polygon((0.9, 0.9), (6.1, 0.9), 4) → rightOutline
  113. Zip(RemoveUndefined[Sequence[If[Element[AAA, i] ≠ Element[AAA, i + 1] ∧ Element[AAA, i] > 0, Element[AAA, i]], i, 1, 4]], AAA, leftColumnMatches) → leftColumnUniques
  114. Reverse({{rightNumber11, rightNumber21, rightNumber31, rightNumber41, rightNumber51}, {rightNumber12, rightNumber22, rightNumber32, rightNumber42, rightNumber52}, {rightNumber13, rightNumber23, rightNumber33, rightNumber43, rightNumber53}, {rightNumber14, rightNumber24, rightNumber34, rightNumber44, rightNumber54}, {rightNumber15, rightNumber25, rightNumber35, rightNumber45, rightNumber55}}) → rightRows
  115. Sequence(Sequence[If[Element[rightColumns, i, j] ≟ Element[rightColumns, i, j + 1], Element[rightColumns, i, j], 0], j, 1, 4], i, 1, 5) → rightColumnMatches
  116. Sequence(Sequence[If[Element[rightRows, i, j] ≟ Element[rightRows, i, j + 1], Element[rightRows, i, j], 0], j, 1, 4], i, 1, 5) → rightRowMatches
  117. Zip(Append[0, Append[RemoveUndefined[Sequence[If[Element[AAA, i] ≟ 0, i], i, 1, 4]], 5]], AAA, rightColumnMatches) → rightColumnZeros
  118. Zip(Append[0, Append[RemoveUndefined[Sequence[If[Element[AAA, i] ≟ 0, i], i, 1, 4]], 5]], AAA, leftColumnMatches) → leftColumnZeros
  119. Zip(Append[0, Append[RemoveUndefined[Sequence[If[Element[AAA, i] ≟ 0, i], i, 1, 4]], 5]], AAA, rightRowMatches) → rightRowZeros
  120. Zip(RemoveUndefined[Sequence[If[Element[AAA, i] ≠ Element[AAA, i + 1] ∧ Element[AAA, i] > 0, Element[AAA, i]], i, 1, 4]], AAA, rightColumnMatches) → rightColumnUniques
  121. Zip(RemoveUndefined[Sequence[If[Element[AAA, i] ≠ Element[AAA, i + 1] ∧ Element[AAA, i] > 0, Element[AAA, i]], i, 1, 4]], AAA, rightRowMatches) → rightRowUniques
  122. Zip(Remove[Sequence[Element[AAA, i] - Element[AAA, i - 1], i, 2, Length[AAA]], {1, 1, 1, 1, 1}], AAA, leftColumnZeros) → leftColumnGaps
  123. Zip(Remove[Sequence[Element[AAA, i] - Element[AAA, i - 1], i, 2, Length[AAA]], {1, 1, 1, 1, 1}], AAA, rightColumnZeros) → rightColumnGaps
  124. Zip(Remove[Sequence[Element[AAA, i] - Element[AAA, i - 1], i, 2, Length[AAA]], {1, 1, 1, 1, 1}], AAA, rightRowZeros) → rightRowGaps
  125. Zip(Sum[Sequence[If[c, (Element[AAA, i] * Element[BBB, i]), Element[AAA, i]^(Element[BBB, i])], i, 1, Length[AAA]]], AAA, leftColumnUniques, BBB, leftColumnGaps) → leftColumnSums
  126. Zip(Sum[Sequence[If[c, (Element[AAA, i] * Element[BBB, i]), Element[AAA, i]^(Element[BBB, i])], i, 1, Length[AAA]]], AAA, rightColumnUniques, BBB, rightColumnGaps) → rightColumnSums
  127. Zip(Sum[Sequence[If[c, (Element[AAA, i] * Element[BBB, i]), Element[AAA, i]^(Element[BBB, i])], i, 1, Length[AAA]]], AAA, rightRowUniques, BBB, rightRowGaps) → rightRowSums
  128. Zip(Sequence[If[Element[AAA, i] ≟ Element[AAA, i + i], Segment[Centroid[Element[BBB, i]] + (x(textAdjuster) + 0.15, 0), Centroid[Element[BBB, i + 1]] + (x(textAdjuster) + 0.15, 0)]], i, 1, 4], AAA, leftRows, BBB, leftBackGrounds) → leftRowLinesStep
  129. Reverse(Sequence[Sequence[Polygon[(i, j), (i + 1, j), 4], i, 1, 5], j, 1, 5]) → rightBackGrounds
  130. Sequence(Sequence[If[Element[leftRows, j, i] ≟ Element[leftRows, j, i + 1] ∧ Element[leftRows, j, i] > 0, Segment[Centroid[Element[leftBackGrounds, j, i]] + segmentAdjuster, Centroid[Element[leftBackGrounds, j, i + 1]] + segmentAdjuster]], j, 1, 5], i, 1, 4) → leftRowLines
  131. Sequence(Sequence[If[Element[rightRows, j, i] ≟ Element[rightRows, j, i + 1] ∧ Element[rightRows, j, i] > 0, Segment[Centroid[Element[rightBackGrounds, j, i]] + segmentAdjuster, Centroid[Element[rightBackGrounds, j, i + 1]] + segmentAdjuster]], j, 1, 5], i, 1, 4) → rightRowLines
  132. Sequence(Sequence[If[Element[leftRows, j + 1, i] ≟ Element[leftRows, j, i] ∧ Element[leftRows, j, i] > 0, Segment[Centroid[Element[leftBackGrounds, j, i]] + segmentAdjuster, Centroid[Element[leftBackGrounds, j + 1, i]] + segmentAdjuster]], j, 1, 4], i, 1, 5) → leftColumnLines
  133. Sequence(Sequence[If[Element[rightRows, j + 1, i] ≟ Element[rightRows, j, i] ∧ Element[rightRows, j, i] > 0, Segment[Centroid[Element[rightBackGrounds, j, i]] + segmentAdjuster, Centroid[Element[rightBackGrounds, j + 1, i]] + segmentAdjuster]], j, 1, 4], i, 1, 5) → rightColumnLines
  134. Polygon((-1, 0), (1, 0), (1, 0.25), (-1, 0.25)) → timerOutline, f, g, h, i
  135. Polygon((-1, 0), (1 - (2 * timer), 0), (1 - (2 * timer), 0.25), (-1, 0.25)) → timerFill, j, k, l, m