Multiplication by Repeated Addition: Visualizing the Essence of Multiplication

Multiplication by Repeated Addition: Visualizing the Essence of Multiplication
Loading the math board and drawing, please wait…
2020-07-21 17:14
① This example visually demonstrates that multiplication is equivalent to repeated addition by translating and duplicating identical images (e.g., apples or blocks) across the canvas, making the concept intuitive for learners. ② Core mathematical concepts include the relationship between multiplication and addition, integer multiples, vector translation, and basic counting/summation. ③ Construction highlights: using GeoGebra commands such as Vector and Translate to duplicate image objects (pic1, pic2, etc.) along specified vectors, Random to generate varying quantities, Polygon to build background frames, Textfield for inputting multiplier and multiplicand, If for conditional display logic, and a button (button1) to trigger the dynamic animation. ④ Suitable for upper elementary or early middle school students learning multiplication, and for teachers to demonstrate the transition from additive to multiplicative thinking in class.

GeoGebra Commands & Parameters

  1. Vector(A, C) → u
  2. Translate(pic1, u) → pic1'
  3. Translate(pic1', u) → pic1''
  4. Translate(pic1, u) → pic1'_1
  5. Translate(pic1'', u) → pic1'''
  6. Translate(pic1''', Vector[(0.019999999999999574, 0)]) → pic2
  7. Translate(pic2, u) → pic2'
  8. Vector(A, D) → v
  9. Translate(pic1, v) → pic1'_2
  10. Translate(pic1'_1, v) → pic3
  11. Translate(pic1'', v) → pic1'''_1
  12. Translate(pic2, v) → pic2'_1
  13. Translate(pic2', v) → pic2''
  14. Random(0, 10) → a
  15. Random(0, 10) → b
  16. Translate(pic4, Vector[(0.020000000000000018, 0.040000000000000036)]) → pic4'
  17. Translate(pic4', u) → pic4''
  18. Translate(pic4'', u) → pic4'''
  19. Translate(pic4''', u) → pic5
  20. Translate(pic5, u) → pic5'
  21. Translate(pic4', v) → pic4''_1
  22. Translate(pic4''_1, u) → pic6
  23. Translate(pic6, u) → pic6'
  24. Translate(pic6', u) → pic6''
  25. Translate(pic6'', Vector[(0, 0.040000000000000036)]) → pic6'''
  26. Translate(pic6''', u) → pic7
  27. Translate(pic8, u) → pic8'
  28. Translate(pic8', u) → pic8''
  29. Translate(pic8'', u) → pic8'''
  30. Translate(pic8''', u) → pic9
  31. Translate(pic8, v) → pic8'_1
  32. Translate(pic8', v) → pic8''_1
  33. Translate(pic8'', v) → pic8'''_1
  34. Translate(pic8''', v) → pic10
  35. Translate(pic9, v) → pic9'
  36. Translate(C, Vector[(0.26000000000000045, -0.08000000000000007)]) → C'
  37. Translate(pic11, u) → pic11'
  38. Translate(pic11', u) → pic11''
  39. Translate(pic11'', u) → pic11'''
  40. Translate(pic11''', u) → pic12
  41. Translate(pic11, v) → pic11'_1
  42. Translate(pic11'_1, u) → pic13
  43. Translate(pic13, u) → pic13'
  44. Translate(pic13', u) → pic13''
  45. Translate(pic13'', u) → pic13'''
  46. Translate(pic14, u) → pic14'
  47. Translate(pic14', u) → pic14''
  48. Translate(pic14'', u) → pic14'''
  49. Translate(pic14''', u) → pic15
  50. Translate(pic14, v) → pic14'_1
  51. Translate(pic14'_1, u) → pic16
  52. Translate(pic16, u) → pic16'
  53. Translate(pic16', u) → pic16''
  54. Translate(pic16'', u) → pic16'''
  55. Translate(pic17, Vector[(-0.020000000000000018, 0.019999999999999574)]) → pic17'
  56. Translate(pic17', u) → pic17''
  57. Translate(pic17'', u) → pic17'''
  58. Translate(pic17''', u) → pic18
  59. Translate(pic18, u) → pic18'
  60. Translate(pic17', v) → pic17''_1
  61. Translate(pic17''_1, u) → pic19
  62. Translate(pic19, u) → pic19'
  63. Translate(pic19', u) → pic19''
  64. Translate(pic19'', u) → pic19'''
  65. Translate(pic20, u) → pic20'
  66. Translate(pic20', u) → pic20''
  67. Translate(pic20'', u) → pic20'''
  68. Translate(pic20''', u) → pic21
  69. Translate(pic20, v) → pic20'_1
  70. Translate(pic20'_1, u) → pic22
  71. Translate(pic22, u) → pic22'
  72. Translate(pic22', Vector[(0.040000000000000036, 0)]) → pic22''
  73. Translate(pic22', Vector[(0.040000000000000036, 0.04)]) → pic22''_1
  74. Translate(pic22, u) → pic22'_1
  75. Translate(pic22'_1, u) → pic23
  76. Translate(pic23, u) → pic23'
  77. Translate(pic24, u) → pic24'
  78. Translate(pic24', u) → pic24''
  79. Translate(pic24'', u) → pic24'''
  80. Translate(pic24''', u) → pic25
  81. Translate(pic24, v) → pic24'_1
  82. Translate(pic24'_1, u) → pic26
  83. Translate(pic26, u) → pic26'
  84. Translate(pic26', u) → pic26''
  85. Translate(pic26'', u) → pic26'''
  86. Translate(pic27, u) → pic27'
  87. Translate(pic27', u) → pic27''
  88. Translate(pic27'', u) → pic27'''
  89. Translate(pic27''', u) → pic28
  90. Translate(pic27, v) → pic27'_1
  91. Translate(pic27'_1, Vector[(0, -0.020000000000000018)]) → pic29
  92. Translate(pic29, u) → pic29'
  93. Vector(A_1, P) → w
  94. Translate(pic29', w) → pic29''
  95. Translate(pic29', Vector[(3.040000000000001, 0)]) → pic29''_1
  96. Translate(pic29''_1, u) → pic30
  97. Translate(pic30, u) → pic30'
  98. Translate(pic32, u) → pic32'
  99. Translate(pic32', u) → pic32''
  100. Translate(pic32'', u) → pic32'''
  101. Translate(pic32''', u) → pic31
  102. Translate(pic32, v) → pic32'_1
  103. Translate(pic32'_1, u) → pic33
  104. Translate(pic33, u) → pic33'
  105. Translate(pic33', Vector[(0.020000000000000018, 0)]) → pic33''
  106. Translate(pic33', Vector[(0.020000000000000018, 0)]) → pic33''_1
  107. Translate(pic33', Vector[(0, 0)]) → pic33''_2
  108. Translate(pic33', u) → pic33''_3
  109. Translate(pic33''_3, Vector[(0.040000000000000036, 0.020000000000000018)]) → pic34
  110. Translate(pic33', u) → pic33''_4
  111. Translate(pic33''_4, u) → pic35
  112. Polygon(G_1, H_1, J_1, I_1) → q1, g_1, h_1, j_1, i_1
  113. Translate(G_1, u) → K_1
  114. Translate(H_1, u) → L_1
  115. Translate(J_1, u) → M_1
  116. Translate(I_1, u) → N_1
  117. Polygon(K_1, L_1, M_1, N_1) → q1', k_1, l_1, m_1, n_1
  118. Translate(K_1, u) → O_1
  119. Translate(L_1, u) → P_1
  120. Translate(M_1, u) → Q_1
  121. Translate(N_1, u) → R_1
  122. Polygon(O_1, P_1, Q_1, R_1) → q1'', o_1, p_1, q_1, r_1
  123. Translate(O_1, u) → S_1
  124. Translate(P_1, u) → T_1
  125. Translate(Q_1, u) → U_1
  126. Translate(R_1, u) → V_1
  127. Polygon(S_1, T_1, U_1, V_1) → q1''', s_1, t_1, u_1, v_1
  128. Translate(S_1, u) → W_1
  129. Translate(T_1, u) → Z_1
  130. Translate(U_1, u) → A_2
  131. Translate(V_1, u) → B_2
  132. Polygon(W_1, Z_1, A_2, B_2) → q2, w_1, z_1, a_2, b_2
  133. Vector(G_1, I_1) → c
  134. Translate(G_1, c) → C_2
  135. Translate(H_1, c) → D_2
  136. Translate(J_1, c) → E_2
  137. Translate(I_1, c) → F_2
  138. Polygon(C_2, D_2, E_2, F_2) → q1'_1, c_2, d_2, e_2, f_2
  139. Translate(C_2, u) → G_2
  140. Translate(D_2, u) → H_2
  141. Translate(E_2, u) → I_2
  142. Translate(F_2, u) → J_2
  143. Polygon(G_2, H_2, I_2, J_2) → q3, g_2, h_2, i_2, j_2
  144. Translate(G_2, u) → K_2
  145. Translate(H_2, u) → L_2
  146. Translate(I_2, u) → M_2
  147. Translate(J_2, u) → N_2
  148. Polygon(K_2, L_2, M_2, N_2) → q3', k_2, l_2, m_2, n_2
  149. Translate(K_2, u) → O_2
  150. Translate(L_2, u) → P_2
  151. Translate(M_2, u) → Q_2
  152. Translate(N_2, u) → R_2
  153. Polygon(O_2, P_2, Q_2, R_2) → q3'', o_2, p_2, q_2, r_2
  154. Translate(O_2, u) → S_2
  155. Translate(P_2, u) → T_2
  156. Translate(Q_2, u) → U_2
  157. Translate(R_2, u) → V_2
  158. Polygon(S_2, T_2, U_2, V_2) → q3''', s_2, t_2, u_2, v_2
  159. Random(0, 10) → a_1
  160. Random(0, 10) → a_3
  161. Random(0, 10) → a_4
  162. Random(0, 10) → a_5
  163. Random(0, 10) → a_6
  164. Random(0, 10) → a_7
  165. Textfield(e) → InputBox1
  166. If(e ≟ text14, text15, text16) → text17
  167. If(e ≟ text14, pic37, pic36) → pic38

AI Drawing Prompt Reference

Place a set of identical small icons (like apples or blocks) on the canvas. Duplicate them by translating horizontally at equal intervals to form a row, representing repeated addition. Then translate the entire row vertically to create multiple rows, forming a rectangular array where each row has the same count)Skip. Use a light-colored polygon to frame the whole array. Add input fields and a button nearby to adjust the multiplier and multiplicand, dynamically changing the array size. The layout is clear, emphasizing the connection between multiplication and addition.
The prompt above was compiled from the original drawing commands and is for reference only.