Decimal Multiplication Demo

Decimal Multiplication Demo
Loading the math board and drawing, please wait…
2019-03-14 14:15
This example demonstrates the geometric interpretation of decimal multiplication by visualizing the product as a rectangle's area. It involves core concepts like decimal operations, rectangle area, vector calculations, and special points (e.g., orthocenter). GeoGebra commands like Segment, Polygon, Sequence, If, Join, Element, Intersect, Point, Vector, and Translate are used to construct the dynamic model. Suitable for middle school and above learners exploring multiplication principles and geometric applications.

GeoGebra Commands & Parameters

  1. Segment(A, D) → f
  2. Segment(D, C) → g
  3. Segment(C, B) → h
  4. Segment(B, A) → i
  5. Segment(E, F) → j
  6. Segment(F, G) → k
  7. Segment(G, H) → l
  8. Segment(H, E) → m
  9. Segment(I, J) → n
  10. Segment(J, K) → p
  11. Segment(K, L) → q
  12. Segment(I, L) → r
  13. Polygon((0, 20), (10, 20), (10, 21), (0, 21)) → q1, s, t, a, b
  14. Polygon((0, 22), (10, 22), (10, 23), (0, 23)) → q2, c, d, e, f_1
  15. Sequence((k, 24), k, 0, 7) → l1
  16. Sequence((k, 25), k, 0, 7) → l2
  17. Sequence(Polygon[Element[l1, k], Element[l1, k + 1], Element[l2, k + 1], Element[l2, k]], k, 1, 8, 2) → l3
  18. Sequence(Vector[Element[l4, k], Element[l5, k]], k, 1, 6) → l6
  19. If(0 < o < 1, Vector[Dilate[Element[l6, 1], o]], Vector[If[o ≥ 1, Vector[Element[l6, 1]]]]) → u
  20. If(1 ≤ o < 2, Vector[Dilate[Element[l6, 2], o - 1]], Vector[If[o ≥ 2, Vector[Element[l6, 2]]]]) → v
  21. If(2 ≤ o < 3, Vector[Dilate[Element[l6, 3], o - 2]], Vector[If[o ≥ 3, Vector[Element[l6, 3]]]]) → w
  22. If(3 ≤ o < 4, Vector[Dilate[Element[l6, 4], o - 3]], Vector[If[o ≥ 4, Vector[Element[l6, 4]]]]) → u_1
  23. If(4 ≤ o < 5, Vector[Dilate[Element[l6, 5], o - 4]], Vector[If[o ≥ 5, Vector[Element[l6, 5]]]]) → v_1
  24. If(5 ≤ o < 6, Vector[Dilate[Element[l6, 6], o - 5]], Vector[If[o ≥ 6, Vector[Element[l6, 6]]]]) → w_1
  25. Join({l8, l3}) → l9
  26. Sequence((0, k), k, 0, 9) → l11
  27. Sequence((10, k), k, 0, 9) → l12
  28. Sequence((12, k), k, 0, 9) → l13
  29. Sequence((22, k), k, 0, 9) → l14
  30. Sequence((24, k), k, 0, 9) → l15
  31. Sequence((25, k), k, 0, 9) → l16
  32. Sequence((26, k), k, 0, 9) → l17
  33. Sequence((27, k), k, 0, 9) → l18
  34. Sequence((28, k), k, 0, 9) → l19
  35. Sequence(Polygon[Element[l11, 11 - k], Element[l11, 10 - k], Element[l12, 10 - k], Element[l12, 11 - k]], k, 1, o - 5) → l20
  36. Sequence(Polygon[Element[l13, 11 - k], Element[l13, 10 - k], Element[l14, 10 - k], Element[l14, 11 - k]], k, 1, o - 5) → l21
  37. Sequence(Polygon[Element[l15, 11 - k], Element[l15, 10 - k], Element[l16, 10 - k], Element[l16, 11 - k]], k, 1, o - 5) → l22
  38. Sequence(Polygon[Element[l16, 11 - k], Element[l16, 10 - k], Element[l17, 10 - k], Element[l17, 11 - k]], k, 1, o - 5) → l23
  39. Sequence(Polygon[Element[l17, 11 - k], Element[l17, 10 - k], Element[l18, 10 - k], Element[l18, 11 - k]], k, 1, o - 5) → l24
  40. Sequence(Polygon[Element[l18, 11 - k], Element[l18, 10 - k], Element[l19, 10 - k], Element[l19, 11 - k]], k, 1, o - 5) → l25
  41. Sequence(Translate[Element[l9, k], Vector[Element[l7, k]]], k, 1, 2) → l10
  42. Sequence(Translate[Element[l9, k], Vector[Element[l7, k]]], k, 3, 6) → l26
  43. Sequence(Segment[Element[l13, 11 - k], Element[l14, 11 - k]], k, 1, o - 4) → l27
  44. Sequence(Segment[Element[l11, 11 - k], Element[l12, 11 - k]], k, 1, o - 4) → l28
  45. Sequence((k, 10), k, 1, 9) → l29
  46. Sequence((k, 0), k, 1, 9) → l30
  47. Sequence((24, k), k, 0, 10) → l34
  48. Sequence((28, k), k, 0, 10) → l35
  49. Element(l9, 3) → q3
  50. Element(l9, 4) → q4
  51. Element(l9, 5) → q5
  52. Element(l9, 6) → q6
  53. Intersect(f, i) → D_1
  54. Intersect(f, g) → E_1
  55. Intersect(g, h) → F_1
  56. Intersect(h, i) → G_1
  57. Polygon(D_1, E_1, F_1, G_1) → q7, d_1, e_1, g_1, h_1
  58. Intersect(j, k) → H_1
  59. Intersect(k, l) → I_1
  60. Intersect(l, m) → J_1
  61. Intersect(j, m) → K_1
  62. Polygon(H_1, I_1, J_1, K_1) → q8, i_1, j_1, k_1, l_1
  63. Point(r) → L_1
  64. Point(r) → O_1
  65. Sequence(Segment[Element[l35, 11 - k], Element[l34, 11 - k]], k, 1, o - 4) → l36
  66. Sequence((k, 0), k, 25, 28) → l32
  67. Sequence((k, 10), k, 25, 28) → l31
  68. Sequence(Segment[Element[l31, k], Element[l32, k]], k, 1, 4) → l33
  69. Sequence(k, k, 0.1, 1, 0.1) → l37
  70. Sequence(Dilate[Element[l33, 1], Element[l37, k], Element[l31, 1]], k, 1, o - 4) → l38
  71. Sequence(Dilate[Element[l33, 2], Element[l37, k], Element[l31, 2]], k, 1, o - 4) → l39
  72. Sequence(Dilate[Element[l33, 3], Element[l37, k], Element[l31, 3]], k, 1, o - 4) → l40
  73. Sequence(Dilate[Element[l33, 4], Element[l37, k], Element[l31, 4]], k, 1, o - 4) → l41
  74. Intersect(n, p) → M_1
  75. Point(l38) → N_1
  76. Point(r) → P_1
  77. Point(r) → Q_1
  78. Polygon(M_1, N_1, P_1, Q_1) → q9, m_1, n_1, p_1, r_1
  79. Point(l39) → R_1
  80. Point(r) → S_1
  81. Polygon(N_1, R_1, S_1, P_1) → q10, s_1, t_1, f_2, g_2
  82. Point(l40) → T_1
  83. Point(r) → U_1
  84. Polygon(R_1, T_1, U_1, S_1) → q11, h_2, i_2, j_2, k_2
  85. Point(l41) → V_1
  86. Point(r) → W_1
  87. Polygon(T_1, V_1, W_1, U_1) → q12, l_2, m_2, n_2, p_2
  88. Segment(Z_1, A_2) → q_2
  89. Segment(A_2, B_2) → r_2
  90. Segment(B_2, C_2) → s_2
  91. Segment(C_2, Z_1) → t_2
  92. Segment(D_2, E_2) → a_2
  93. Segment(E_2, F_2) → b_2
  94. Segment(F_2, G_2) → c_2
  95. Segment(G_2, D_2) → d_2
  96. Segment(H_2, I_2) → e_2
  97. Segment(I_2, J_2) → f_3
  98. Segment(J_2, K_2) → g_3
  99. Segment(K_2, H_2) → h_3
  100. Segment(L_2, M_2) → i_3
  101. Segment(M_2, N_2) → j_3
  102. Segment(N_2, O_2) → k_3
  103. Segment(O_2, L_2) → l_3
  104. Point(n) → P_2
  105. Point(p) → S_2
  106. Point(p) → V_2
  107. Point(p) → Z_2
  108. Intersect(s_2, t_2) → A_3
  109. Intersect(q_2, r_2) → B_3
  110. Intersect(a_2, d_2) → C_3
  111. Intersect(b_2, c_2) → D_3
  112. Point(e_2) → E_3
  113. Intersect(f_3, g_3) → F_3
  114. Intersect(i_3, l_3) → G_3
  115. Intersect(j_3, k_3) → H_3
  116. Intersect(s, b) → I_3
  117. Intersect(t, a) → J_3
  118. Intersect(c, f_1) → K_3
  119. Intersect(d, e) → L_3
  120. Point(f) → M_3
  121. Intersect(g, h) → N_3
  122. Point(j) → O_3
  123. Intersect(k, l) → P_3
  124. Vector(I_3, M_3) → u_2
  125. Vector(J_3, N_3) → v_2
  126. If(0 < o < 1, Vector[Dilate[u_2, o]]) → w_2
  127. If(0 < o < 1, Vector[Dilate[v_2, o]]) → u_3
  128. Translate(s, w_2) → s'
  129. Translate(b, w_2) → b'
  130. Translate(a, u_3) → a'
  131. Translate(t, u_3) → t'
  132. Point(h) → Q_3
  133. Segment(M_3, Q_3) → s_3
  134. Vector(K_3, O_3) → v_3
  135. Vector(L_3, P_3) → w_3
  136. If(1 < o < 2, Vector[Dilate[v_3, o - 1]]) → a_3
  137. If(1 < o < 2, Vector[Dilate[w_3, o - 1]]) → b_3
  138. Translate(f_1, a_3) → t_3
  139. Translate(c, a_3) → c_3
  140. Translate(e, b_3) → e'
  141. Translate(d, b_3) → d'
  142. Point(l) → R_3
  143. Segment(O_3, R_3) → d_3
  144. Vector(A_3, P_2) → e_3
  145. Vector(B_3, Z_2) → u_4
  146. If(2 < o < 3, Vector[Dilate[e_3, o - 2]]) → v_4
  147. If(2 < o < 3, Vector[Dilate[u_4, o - 2]]) → w_4
  148. Translate(C_2, v_4) → S_3
  149. Translate(Z_1, v_4) → T_3
  150. Segment(S_3, T_3) → f_4
  151. Translate(B_2, v_4) → U_3
  152. Translate(C_2, v_4) → V_3
  153. Segment(U_3, V_3) → g_4
  154. Translate(Z_1, w_4) → W_3
  155. Translate(A_2, w_4) → Z_3
  156. Segment(W_3, Z_3) → h_4
  157. Translate(A_2, w_4) → A_4
  158. Translate(B_2, w_4) → B_4
  159. Segment(A_4, B_4) → i_4
  160. Point(n) → T_2
  161. Point(l26) → U_2
  162. Segment(T_2, U_2) → m_3
  163. Point(p) → W_2
  164. Segment(U_2, W_2) → n_3
  165. Intersect(m_3, n_3) → C_4
  166. Segment(C_4, D_4) → p_3
  167. Segment(D_4, V_2) → q_3
  168. Segment(D_4, E_4) → r_3
  169. Segment(E_4, S_2) → j_4
  170. Vector(C_3, C_4) → a_4
  171. Vector(D_3, V_2) → b_4
  172. If(3 < o < 4, Vector[Dilate[a_4, o - 3]]) → c_4
  173. If(3 < o < 4, Vector[Dilate[b_4, o - 3]]) → d_4
  174. Translate(D_2, c_4) → F_4
  175. Translate(E_2, c_4) → G_4
  176. Segment(F_4, G_4) → k_4
  177. Translate(G_2, c_4) → H_4
  178. Translate(D_2, c_4) → I_4
  179. Segment(H_4, I_4) → l_4
  180. Translate(E_2, d_4) → J_4
  181. Translate(F_2, d_4) → K_4
  182. Segment(J_4, K_4) → m_4
  183. Translate(F_2, d_4) → L_4
  184. Translate(G_2, d_4) → M_4
  185. Segment(L_4, M_4) → n_4
  186. Vector(E_3, D_4) → e_4
  187. Vector(F_3, S_2) → p_4
  188. If(4 < o < 5, Vector[Dilate[e_4, o - 4]]) → q_4
  189. If(4 < o < 5, Vector[Dilate[p_4, o - 4]]) → r_4
  190. Translate(H_2, q_4) → N_4
  191. Translate(I_2, q_4) → O_4
  192. Segment(N_4, O_4) → s_4
  193. Translate(K_2, q_4) → P_4
  194. Translate(H_2, q_4) → Q_4
  195. Segment(P_4, Q_4) → t_4
  196. Translate(I_2, r_4) → R_4
  197. Translate(J_2, r_4) → S_4
  198. Segment(R_4, S_4) → f_5
  199. Translate(J_2, r_4) → T_4
  200. Translate(K_2, r_4) → U_4
  201. Segment(T_4, U_4) → g_5
  202. Vector(G_3, E_4) → u_5
  203. Vector(H_3, R_2) → v_5
  204. If(5 < o < 6, Vector[Dilate[u_5, o - 5]]) → w_5
  205. If(5 < o < 6, Vector[Dilate[v_5, o - 5]]) → a_5
  206. Translate(L_2, w_5) → V_4
  207. Translate(M_2, w_5) → W_4
  208. Segment(V_4, W_4) → h_5
  209. Translate(O_2, w_5) → Z_4
  210. Translate(L_2, w_5) → A_5
  211. Segment(Z_4, A_5) → i_5
  212. Translate(M_2, a_5) → B_5
  213. Translate(N_2, a_5) → C_5
  214. Segment(B_5, C_5) → j_5
  215. Translate(N_2, a_5) → D_5
  216. Translate(O_2, a_5) → E_5
  217. Segment(D_5, E_5) → k_5