Base X Subtraction Machine

Base X Subtraction Machine
Loading the math board and drawing, please wait…
2020-04-16 23:59
This example demonstrates the visual process of subtraction in any base, clearly showing the digit-by-digit subtraction and borrowing logic through bar charts. Core math concepts include base conversion, natural number operations, bar graph representation, functions, and geometric shapes like parabolas, ellipses, and pyramids. Construction highlights from the summary involve commands/objects such as Join, Polygon, IndexOf, First, If, Shuffle, Random, Textfield, and Point in GeoGebra for dynamic display. Suitable for middle school and above learners to understand different base operations and data visualization.

GeoGebra Commands & Parameters

  1. Join({x31N, x32N}) → rx3N
  2. Join({x31P, x32P}) → rx3P
  3. Join({x11N, x12N}) → rx1N
  4. Join({x11P, x12P}) → rx1P
  5. Join({x21N, x22N}) → rx2N
  6. Join({x21P, x22P}) → rx2P
  7. Polygon(I_3, J_3, K_3, L_3) → X31, a14, a16, a32, a29
  8. Polygon(L_3, M_3, N_3, K_3) → X21, a1, a27, a28, a3
  9. Polygon(M_3, P_3, O_3, N_3) → X11, a5, a25, a26, a7
  10. Polygon(P_3, Q_3, R_3, O_3) → X01, a9, a17, a24, a10
  11. Polygon(S_3, V_3, U_3, T_3) → X32, a23, a20, a21, a22
  12. Polygon(V_3, W_3, Z_3, U_3) → X22, a11, a19, a18, a12
  13. Polygon(W_3, B_4, A_4, Z_3) → X12, a13, a4, a2, a15
  14. Polygon(B_4, C_4, D_4, A_4) → X02, a31, a6, a8, a30
  15. Polygon(I_3, L_3, U_3, T_3) → Rx3, r11, r10, r9, r7
  16. Polygon(L_3, M_3, Z_3, U_3) → Rx2, r5, r4, r2, r3
  17. Polygon(M_3, P_3, A_4, Z_3) → Rx1, r6, r1, r14, r12
  18. Polygon(P_3, Q_3, D_4, A_4) → Rx0, r16, r15, r13, r8
  19. IndexOf(false, FP) → tmpI
  20. IndexOf(false, FN12) → NDtmpI
  21. First(x31P) → TAtmpI
  22. If(NDtmpI ≟ NDtmpI, true, false) → NDH
  23. If(Length[x31P] - Length[x31N] ≟ Element[Coef1, IndexOf["x^3", Order1]], true, false) → Bx31
  24. If(Length[x21P] - Length[x21N] ≟ Element[Coef1, IndexOf["x^2", Order1]], true, false) → Bx21
  25. If(Length[x11P] - Length[x11N] ≟ Element[Coef1, IndexOf["x", Order1]], true, false) → Bx11
  26. If(Length[x01P] - Length[x01N] ≟ Element[Coef1, IndexOf["", Order1]], true, false) → Bx01
  27. Shuffle({1, 2, 3, 4}) → OrderS, {3, 2, 1, 4}
  28. Random(-5, 5) → L23Co01
  29. Random(-5, 5) → L23Co02
  30. Random(-5, 5) → L23Co32
  31. Random(-5, 5) → L23Co31
  32. Random(-5, 5) → L23Co22
  33. Random(-5, 5) → L23Co21
  34. Random(-5, 5) → L23Co12
  35. Random(-5, 5) → L23Co11
  36. Join({x01N, x02N}) → rx0N
  37. Join({x01P, x02P}) → rx0P
  38. If(TAPP ≟ true ∧ TANN ≟ true, true, false) → TAPN
  39. First(rx0P) → tmpP
  40. First(rx0N) → tmpN
  41. If(Element[tmpP, 1] ≟ Element[tmpP, 1], true, false) → tP
  42. If(Element[tmpN, 1] ≟ Element[tmpN, 1], true, false) → tN
  43. Textfield(Br3) → Ir3
  44. Textfield(Br2) → Ir2
  45. Textfield(Br1) → Ir1
  46. Textfield(Br0) → Ir0
  47. Random(0, 5) → L1Co01
  48. Random(0, 5) → L1Co02
  49. Random(0, 5) → L1Co11
  50. Random(0, 5) → L1Co12
  51. Random(0, 5) → L1Co21
  52. Random(0, 5) → L1Co22
  53. Random(0, 5) → L1Co31
  54. Random(0, 5) → L1Co32
  55. Random(1, 2) → SignL1
  56. Polygon(A, B, C, D) → Background, a, b_1, c, d
  57. IndexOf(false, FP) → PDtmpI
  58. If(PDtmpI ≟ PDtmpI, true, false) → PDH
  59. Polygon(E, F, K, J) → X33, b1, b3, b4, b2
  60. Polygon(F, G, L, K) → X23, b5, b6, b7, b8
  61. Polygon(G, H, M, L) → X13, b9, b10, b11, b12
  62. Polygon(H, I, N, M) → X03, b13, b16, b15, b14
  63. If(Length[x33P] - Length[x33N] ≟ Element[Coef2, IndexOf["x^3", Order2]], true, false) → Bx33
  64. If(Length[x23P] - Length[x23N] ≟ Element[Coef2, IndexOf["x^2", Order2]], true, false) → Bx23
  65. If(Length[x13P] - Length[x13N] ≟ Element[Coef2, IndexOf["x", Order2]], true, false) → Bx13
  66. If(Length[x03P] - Length[x03N] ≟ Element[Coef2, IndexOf["", Order2]], true, false) → Bx03
  67. If(Length[x32P] - Length[x32N] ≟ (-Element[Coef2, IndexOf["x^3", Order2]]), true, false) → Bx32
  68. If(Length[x22P] - Length[x22N] ≟ (-Element[Coef2, IndexOf["x^2", Order2]]), true, false) → Bx22
  69. If(Length[x12P] - Length[x12N] ≟ (-Element[Coef2, IndexOf["x", Order2]]), true, false) → Bx12
  70. If(Length[x02P] - Length[x02N] ≟ (-Element[Coef2, IndexOf["", Order2]]), true, false) → Bx02
  71. Point(xAxis) → R
  72. Polygon(O, P, Q, R) → PolyP2a, o, p, q, r
  73. If(SelectedIndex[Level] ≟ 3 ∧ Stage ≟ 1, true, false) → BL3
  74. If(SelectedIndex[Level] ≟ 2 ∧ Stage ≟ 1, true, false) → BL2
  75. If(SelectedIndex[Level] ≟ 1 ∧ Stage ≟ 1, true, false) → BL1
  76. If(SelectedIndex[Level] ≟ 3, true, false) → BL3N
  77. If(SelectedIndex[Level] ≟ 2, true, false) → BL2N
  78. If(SelectedIndex[Level] ≟ 1, true, false) → BL1N
  79. If(x11P ≠ {}, true, false) → TAPH
  80. If(x11N ≠ {}, true, false) → TANH

AI Drawing Prompt Reference

Draw a base X subtraction machine that visually demonstrates the subtraction process of two numbers in any base. Use four bar charts to represent each digit of the two numbers, with the difference in bar length showing the subtraction result. Connect the endpoints of the bars with polygons to illustrate the borrowing process. Finally, use text boxes to display the calculation steps.
The prompt above was compiled from the original drawing commands and is for reference only.