Visualizing Multiplication of Two-Digit Numbers

Visualizing Multiplication of Two-Digit Numbers
Loading the math board and drawing, please wait…
2012-10-22 16:05
① This example demonstrates the area model for multiplying two‑digit numbers, turning multiplication into a visual rectangle‑area calculation. ② Core mathematical concepts include integer multiplication, the correspondence between area and multiplication, place‑value decomposition, and geometric transformations such as translation and vectors. ③ Construction highlights: the applet uses GeoGebra commands Point, Ray, Vector, Translate, Segment, If, Polygon, and Textfield; objects A, B, C, D, etc., are created and translated via vectors to build partial rectangles, Polygon forms the area regions, and Textfield displays intermediate results. ④ Suitable for upper primary to lower secondary grades as an introductory or review tool for multiplication, and for teacher demonstrations or student self‑exploration.

GeoGebra Commands & Parameters

  1. Point(xAxis) → A
  2. Ray(A, B) → a
  3. Point(xAxis) → C
  4. Ray(C, D) → b
  5. Ray(E, W) → c
  6. Ray(F, Z) → d
  7. Ray(G, A_1) → e
  8. Ray(H, B_1) → f
  9. Ray(I, C_1) → g
  10. Ray(J, D_1) → h
  11. Ray(K, E_1) → i
  12. Ray(L, F_1) → j
  13. Ray(M, G_1) → k
  14. Ray(N, H_1) → l
  15. Vector(W, Z) → u
  16. Translate(N, u) → N'
  17. Translate(H_1, u) → I_1
  18. Ray(N', I_1) → l'
  19. Translate(N', u) → N''
  20. Translate(I_1, u) → J_1
  21. Ray(N'', J_1) → l''
  22. Translate(N'', u) → N'''
  23. Translate(J_1, u) → K_1
  24. Ray(N''', K_1) → l'''
  25. Translate(N''', u) → L_1
  26. Translate(K_1, u) → M_1
  27. Ray(L_1, M_1) → m
  28. Translate(L_1, u) → N_1
  29. Translate(M_1, u) → O_1
  30. Ray(N_1, O_1) → m'
  31. Vector(W, Z) → v
  32. Translate(N_1, v) → P_1
  33. Translate(O_1, v) → Q_1
  34. Ray(P_1, Q_1) → m''
  35. Translate(P_1, v) → R_1
  36. Translate(Q_1, v) → S_1
  37. Ray(R_1, S_1) → m'''
  38. Translate(R_1, v) → T_1
  39. Translate(S_1, v) → U_1
  40. Ray(T_1, U_1) → n
  41. Translate(T_1, v) → V_1
  42. Translate(U_1, v) → W_1
  43. Ray(V_1, W_1) → n'
  44. Translate(V_1, v) → Z_1
  45. Translate(W_1, v) → A_2
  46. Ray(Z_1, A_2) → n''
  47. Translate(Z_1, v) → B_2
  48. Translate(A_2, v) → C_2
  49. Ray(B_2, C_2) → n'''
  50. Translate(B_2, v) → D_2
  51. Translate(C_2, v) → E_2
  52. Ray(D_2, E_2) → p
  53. Translate(D_2, v) → F_2
  54. Translate(E_2, v) → G_2
  55. Ray(F_2, G_2) → p'
  56. Translate(F_2, v) → H_2
  57. Translate(G_2, v) → I_2
  58. Ray(H_2, I_2) → p''
  59. Translate(H_2, v) → J_2
  60. Translate(I_2, v) → K_2
  61. Ray(J_2, K_2) → p'''
  62. Translate(J_2, v) → L_2
  63. Translate(K_2, v) → M_2
  64. Ray(L_2, M_2) → q
  65. Translate(L_2, v) → N_2
  66. Translate(M_2, v) → O_2
  67. Ray(N_2, O_2) → q'
  68. Translate(N_2, v) → P_2
  69. Translate(O_2, v) → Q_2
  70. Ray(P_2, Q_2) → q''
  71. Translate(P_2, v) → R_2
  72. Translate(Q_2, v) → S_2
  73. Ray(R_2, S_2) → q'''
  74. Translate(R_2, v) → T_2
  75. Translate(S_2, v) → U_2
  76. Ray(T_2, U_2) → r
  77. Translate(T_2, v) → V_2
  78. Translate(U_2, v) → W_2
  79. Ray(V_2, W_2) → r'
  80. Translate(V_2, v) → Z_2
  81. Translate(W_2, v) → A_3
  82. Ray(Z_2, A_3) → r''
  83. Translate(Z_2, v) → B_3
  84. Translate(A_3, v) → C_3
  85. Ray(B_3, C_3) → r'''
  86. Translate(B_3, v) → D_3
  87. Translate(C_3, v) → E_3
  88. Ray(D_3, E_3) → s
  89. Translate(D_3, v) → F_3
  90. Translate(E_3, v) → G_3
  91. Ray(F_3, G_3) → s'
  92. Translate(F_3, v) → H_3
  93. Translate(G_3, v) → I_3
  94. Ray(H_3, I_3) → s''
  95. Translate(H_3, v) → J_3
  96. Translate(I_3, v) → K_3
  97. Ray(J_3, K_3) → s'''
  98. Translate(J_3, v) → L_3
  99. Translate(K_3, v) → M_3
  100. Ray(L_3, M_3) → t
  101. Translate(L_3, v) → N_3
  102. Translate(M_3, v) → O_3
  103. Ray(N_3, O_3) → t'
  104. Ray(P_3, Q_3) → a_1
  105. Vector(A, Q_3) → w
  106. Translate(P_3, w) → R_3
  107. Translate(Q_3, w) → S_3
  108. Ray(R_3, S_3) → b_1
  109. Translate(R_3, w) → T_3
  110. Translate(S_3, w) → U_3
  111. Ray(T_3, U_3) → c_1
  112. Translate(T_3, w) → V_3
  113. Translate(U_3, w) → W_3
  114. Ray(V_3, W_3) → d_1
  115. Translate(V_3, w) → Z_3
  116. Translate(W_3, w) → A_4
  117. Ray(Z_3, A_4) → e_1
  118. Translate(Z_3, w) → B_4
  119. Translate(A_4, w) → C_4
  120. Ray(B_4, C_4) → f_1
  121. Translate(B_4, w) → D_4
  122. Translate(C_4, w) → E_4
  123. Ray(D_4, E_4) → g_1
  124. Translate(D_4, w) → F_4
  125. Translate(E_4, w) → G_4
  126. Ray(F_4, G_4) → h_1
  127. Translate(F_4, w) → H_4
  128. Translate(G_4, w) → I_4
  129. Ray(H_4, I_4) → i_1
  130. Translate(H_4, w) → J_4
  131. Translate(I_4, w) → K_4
  132. Ray(J_4, K_4) → j_1
  133. Translate(J_4, w) → L_4
  134. Translate(K_4, w) → M_4
  135. Ray(L_4, M_4) → k_1
  136. Translate(L_4, w) → N_4
  137. Translate(M_4, w) → O_4
  138. Ray(N_4, O_4) → l_1
  139. Translate(N_4, w) → P_4
  140. Translate(O_4, w) → Q_4
  141. Ray(P_4, Q_4) → m_1
  142. Translate(P_4, w) → R_4
  143. Translate(Q_4, w) → S_4
  144. Ray(R_4, S_4) → n_1
  145. Translate(R_4, Vector[(0, 0)]) → T_4
  146. Translate(S_4, Vector[(0, 0)]) → U_4
  147. Ray(T_4, U_4) → p_1
  148. Translate(T_4, w) → V_4
  149. Translate(U_4, w) → W_4
  150. Ray(V_4, W_4) → q_1
  151. Translate(V_4, w) → Z_4
  152. Translate(W_4, w) → A_5
  153. Ray(Z_4, A_5) → r_1
  154. Translate(Z_4, w) → B_5
  155. Translate(A_5, w) → C_5
  156. Ray(B_5, C_5) → s_1
  157. Translate(B_5, w) → D_5
  158. Translate(C_5, w) → E_5
  159. Ray(D_5, E_5) → t_1
  160. Translate(D_5, w) → F_5
  161. Translate(E_5, w) → G_5
  162. Ray(F_5, G_5) → a_2
  163. Translate(F_5, w) → H_5
  164. Translate(G_5, w) → I_5
  165. Ray(H_5, I_5) → b_2
  166. Translate(H_5, w) → J_5
  167. Translate(I_5, w) → K_5
  168. Ray(J_5, K_5) → c_2
  169. Translate(J_5, w) → L_5
  170. Translate(K_5, w) → M_5
  171. Ray(L_5, M_5) → d_2
  172. Translate(L_5, w) → N_5
  173. Translate(M_5, w) → O_5
  174. Ray(N_5, O_5) → e_2
  175. Translate(N_5, w) → P_5
  176. Translate(O_5, w) → Q_5
  177. Ray(P_5, Q_5) → f_2
  178. Translate(P_5, w) → R_5
  179. Translate(Q_5, w) → S_5
  180. Ray(R_5, S_5) → g_2
  181. Translate(R_5, w) → T_5
  182. Translate(S_5, w) → U_5
  183. Ray(T_5, U_5) → h_2
  184. Translate(T_5, w) → V_5
  185. Translate(U_5, w) → W_5
  186. Ray(V_5, W_5) → i_2
  187. Translate(V_5, w) → Z_5
  188. Translate(W_5, w) → A_6
  189. Ray(Z_5, A_6) → j_2
  190. Translate(Z_5, w) → B_6
  191. Translate(A_6, w) → C_6
  192. Ray(B_6, C_6) → k_2
  193. Translate(B_6, w) → D_6
  194. Translate(C_6, w) → E_6
  195. Ray(D_6, E_6) → l_2
  196. Translate(D_6, w) → F_6
  197. Translate(E_6, w) → G_6
  198. Ray(F_6, G_6) → m_2
  199. Translate(F_6, w) → H_6
  200. Translate(G_6, w) → I_6
  201. Ray(H_6, I_6) → n_2
  202. Translate(H_6, w) → J_6
  203. Translate(I_6, w) → K_6
  204. Ray(J_6, K_6) → p_2
  205. Translate(J_6, w) → L_6
  206. Translate(K_6, w) → M_6
  207. Ray(L_6, M_6) → q_2
  208. Translate(L_6, w) → N_6
  209. Translate(M_6, w) → O_6
  210. Ray(N_6, O_6) → r_2
  211. Translate(N_6, w) → P_6
  212. Translate(O_6, w) → Q_6
  213. Ray(P_6, Q_6) → s_2
  214. Translate(P_6, w) → R_6
  215. Translate(Q_6, w) → S_6
  216. Ray(R_6, S_6) → t_2
  217. Translate(R_6, w) → T_6
  218. Translate(S_6, w) → U_6
  219. Ray(T_6, U_6) → a_3
  220. Translate(T_6, w) → V_6
  221. Translate(U_6, w) → W_6
  222. Ray(V_6, W_6) → b_3
  223. Translate(V_6, w) → Z_6
  224. Translate(W_6, w) → A_7
  225. Ray(Z_6, A_7) → c_3
  226. Translate(Z_6, w) → B_7
  227. Translate(A_7, w) → C_7
  228. Ray(B_7, C_7) → d_3
  229. Vector(B_1, A_1) → z
  230. Translate(A, z) → A'
  231. Translate(B, z) → B'
  232. Ray(A', B') → a'
  233. Vector(B_1, H) → u_1
  234. Translate(P_3, u_1) → D_7
  235. Translate(Q_3, u_1) → E_7
  236. Ray(D_7, E_7) → e_3
  237. Segment(F_7, H_7) → f_3
  238. Segment(H_7, G_7) → g_3
  239. If(tallA ≥ 40, førti, tretti) → yover30
  240. If(tallA ≥ 30, yover30, 20) → yover20
  241. If(tallA ≥ 20, yover20, 10) → yover10
  242. If(tallA ≥ 10, yover10, 0) → yover0
  243. If(tallB ≥ 40, førti, tretti) → xover30
  244. If(tallB ≥ 30, xover30, 20) → xover20
  245. If(tallB ≥ 20, xover20, 10) → xover10
  246. If(tallB ≥ 10, xover10, 0) → xover0
  247. Segment(I_7, K_7) → h_3
  248. Segment(K_7, J_7) → i_3
  249. Vector(I_7, F_7) → v_1
  250. Translate(K_7, v_1) → L_7
  251. Vector(J_7, G_7) → w_1
  252. Translate(K_7, w_1) → M_7
  253. Segment(K_7, M_7) → j_3
  254. Segment(K_7, L_7) → k_3
  255. Polygon(A', I_7, K_7, J_7) → mangekant1, a'_1, i_7, k_7, j_7
  256. Textfield() → tekstfelt1
  257. Polygon(J_7, G_7, M_7, K_7) → mangekant2, j_4, g_7, m_7, k_4
  258. Textfield() → tekstfelt2
  259. Polygon(I_7, F_7, L_7, K_7) → mangekant3, i_4, f_7, l_7, k_5
  260. Textfield() → tekstfelt3
  261. Polygon(K_7, M_7, H_7, L_7) → mangekant4, k_6, m_3, h_7, l_3
  262. Textfield() → tekstfelt4

AI Drawing Prompt Reference

Draw an area model for multiplying two‑digit numbers: place two origin points on a horizontal axis, emit rays representing the tens and ones digits, use a translation vector to repeatedly shift and create a series of parallel rectangles, then form polygons to enclose each partial rectangle showing its area, and finally add text boxes at key locations to display the intermediate products.
The prompt above was compiled from the original drawing commands and is for reference only.