Cuboid Volume Explorer: Decompose into Unit Cubes and Verify the Formula

Cuboid Volume Explorer: Decompose into Unit Cubes and Verify the Formula
Loading the math board and drawing, please wait…
2023-04-05 16:01
This GeoGebra example demonstrates how the volume of a cuboid can be found by decomposing it into unit cubes (counting by volume pieces) and then validating the result with the standard volume idea. The key math concepts are cuboid volume, the unit-cube decomposition/counting approach, applying and justifying the formula V = a·b·c, and examining how changing edge lengths affects related geometric quantities. Construction and interaction are driven by the provided commands and objects: Polygon, Segment to build the relevant shapes; Rotate and Shuffle to generate/transform decomposition views; lists such as listC, listA, listB, listeExVal with variables like exNum/exVal and maxExNum to manage parameters and exercise data; Textfield and dropdowns (dropdown1–dropdown5, selectedDropdown) for student input and selection; If and SelectedIndex for logic control; validate plus showanswer/showsolution and buttons (btnValidate, btnTryAgain, btnNew) for correctness checking and feedback; and SpeechBubbleLeft, showhint/hintText for guidance. Suitable for grades 5–6 and introductory solid-geometry practice where students learn volume through decomposition and formula reasoning.

GeoGebra Commands & Parameters

  1. Join({{0}, Shuffle[Sequence[1, maxExNum, 1]]}) → listeExVal
  2. If(exVal ≟ 1 ∨ exVal ≟ 4 ∨ exVal ≟ 5, dropdown1, If[exVal ≟ 2, dropdown2, If[exVal ≟ 3, dropdown3, If[exVal ≟ 6, dropdown4, If[exVal ≟ 7, dropdown5]]]]) → selectedDropdown
  3. SelectedIndex(selectedDropdown) → studentAnswer
  4. Textfield(aInput) → InputBox1
  5. Textfield(bInput) → InputBox2
  6. Polygon(PtopLeftCornerFeedback, PtopRightCornerFeedback, PbottomRightCornerFeedback, PbottomLeftCornerFeedback) → rectangleCorrect, ptopleftcornerfeedback, ptoprightcornerfeedback, pbottomrightcornerfeedback, pbottomleftcornerfeedback
  7. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForX, {0, 1, 10, 0, 2, 3, 2, 0, 9, 1, 5, 8, 0, 6, 5, 1, 6, 4, 10, 6, 7, 0, 1, 10, 9, 2, 2, 2, 3, 10, 7, 7, 3, 6, 9, 5, 4, 1, 6, 3, 0, 9, 4, 1, 3, 10, 6, 10, 2, 5, 9, 9, 9, 9, 6, 5, 9, 1, 6, 1, 7, 2, 7, 7, 7, 2, 6, 8, 0, 8, 7, 4, 1, 6, 6, 7, 4, 10, 5, 4, 6, 0, 3, 7, 0, 1, 6, 1, 4, 10, 6, 9, 7, 7, 2, 10, 8, 8, 2, 3}
  8. Element(randomNosForX, Mod[questionCount, 100] + 1) → numX
  9. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForY, {2, 6, 0, 9, 5, 6, 1, 1, 7, 8, 3, 3, 5, 7, 10, 5, 4, 2, 9, 0, 6, 10, 1, 6, 7, 6, 1, 7, 1, 7, 3, 10, 3, 2, 1, 5, 0, 6, 8, 5, 2, 8, 5, 4, 2, 2, 8, 5, 0, 5, 6, 2, 7, 3, 5, 2, 0, 4, 0, 2, 3, 3, 5, 8, 6, 3, 10, 10, 6, 9, 8, 5, 7, 6, 0, 0, 4, 3, 3, 8, 7, 9, 10, 2, 7, 8, 3, 7, 6, 1, 1, 0, 4, 7, 10, 6, 0, 7, 6, 6}
  10. Element(randomNosForY, Mod[questionCount, 100] + 1) → numY
  11. Segment(P5, P6) → f
  12. Segment(P6, P7) → g
  13. Segment(P7, P8) → h
  14. Segment(P8, P9) → i
  15. Segment(P9, P10) → j
  16. Segment(P10, P11) → k
  17. Segment(P11, P5) → l
  18. Rotate(B + ((sliderB_1 * verzerrung), 0), winkel, B) → C
  19. Rotate(A + ((sliderB_1 * verzerrung), 0), winkel, A) → D
  20. Rotate(F + ((sliderB_1 * verzerrung), 0), winkel, F) → G
  21. Rotate(E + ((sliderB_1 * verzerrung), 0), winkel, E) → H
  22. Segment(A, B) → m
  23. Segment(B, F) → n
  24. Segment(F, G) → p
  25. Segment(G, H) → q
  26. Segment(H, E) → r
  27. Segment(E, A) → s
  28. Segment(A, D) → t
  29. Segment(D, C) → a
  30. Segment(C, B) → b
  31. Segment(C, G) → c
  32. Segment(F, E) → d
  33. Segment(H, D) → e
  34. Rotate(B_1 + ((sliderB * verzerrung), 0), winkel, B_1) → C_1
  35. Rotate(A_1 + ((sliderB * verzerrung), 0), winkel, A_1) → D_1
  36. Rotate(F_1 + ((sliderB * verzerrung), 0), winkel, F_1) → G_1
  37. Rotate(E_1 + ((sliderB * verzerrung), 0), winkel, E_1) → H_1
  38. Segment(A_1, B_1) → f_1
  39. Segment(B_1, C_1) → g_1
  40. Segment(C_1, G_1) → h_1
  41. Segment(F_1, G_1) → i_1
  42. Segment(F_1, E_1) → j_1
  43. Segment(E_1, A_1) → k_1
  44. Segment(A_1, D_1) → l_1
  45. Segment(H_1, G_1) → m_1
  46. Segment(E_1, H_1) → n_1
  47. Segment(D_1, C_1) → p_1
  48. Segment(H_1, D_1) → q_1
  49. Segment(B_1, F_1) → r_1
  50. Polygon(A_1 - (0.3, 0.6), (x(C_1) + 1.7, y(A_1 - 0.6)), (x(C_1) + 1.7, y(G_1) + 0.3), (x(A_1) - 0.3, y(G_1) + 0.3)) → q1, s_1, t_1, a_1, b_1
  51. SpeechBubbleLeft(O + (0.6, -0.5), 8, 2.5) → poly1
  52. SpeechBubbleLeft(O + (0.4, -0.3), 8, 2.5) → poly2

AI Drawing Prompt Reference

Draw a cuboid volume explorer, containing a cuboid that can be decomposed into unit cubes, and verify its volume formula. The cuboid's edge lengths are input by the user, with four input boxes for the edge lengths. The user can explore the cuboid's volume by rotating and generating random unit cubes.
The prompt above was compiled from the original drawing commands and is for reference only.