Volume of a Cuboid: Formula Derivation and Applications
Loading the math board and drawing, please wait…
This GeoGebra example demonstrates how to calculate the volume of a cuboid. The core mathematical concept is the volume formula V=a×b×c and why it also applies to cubes (simplified to V=a³). Construction uses Segment commands to draw edges, Sequence to generate unit cube arrays, Textfield for interactive input, and If statements for answer verification. The visualization shows decomposing a cuboid
GeoGebra Commands & Parameters
Segment(A, B) → abSegment(A, E) → aeSegment(A, D) → adSegment(B, F) → bfSegment(E, F) → efSegment(D, H) → dhSegment(E, H) → ehSegment(C, D) → cdSegment(B, C) → bcSegment(C, G) → cgSegment(F, G) → fgSegment(G, H) → ghSpeechBubbleLeft(Bubble, 13.7, 2) → bubble1SpeechBubbleLeft(Bubble - (0, 1), 18, 2.2) → bubble2Sequence(Sequence[Polygon[A + (i, cubesVertical) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)), A + (i, cubesVertical) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeLengthWuerfel / 10, 0), A + (i, cubesVertical) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeLengthWuerfel / 10 + cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10), A + (i, cubesVertical) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10)], i, 0, cubesHorizontal - 1], j, 0, cubesDepth - 1) → cubesAD, {{0.35355339059327395}}Sequence(Sequence[Polygon[A + (cubesHorizontal, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)), A + (cubesHorizontal, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10), A + (cubesHorizontal, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10 + cubeLengthWuerfel / 10), A + (cubesHorizontal, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (0, cubeLengthWuerfel / 10)], i, 0, cubesDepth - 1], j, 0, cubesVertical - 1) → cubesBF, {{0.35355339059327306}}Textfield(aInput) → InputBox1SpeechBubbleLeft(Bubble + (-0.5, -1.3), 17.2, 3.5) → bubble3Textfield(bInput) → InputBox2If(move ≟ 4, M, If[move ≟ 7, N, If[move ≟ 10, O]]) → SelectedPointSpeechBubbleLeft(Bubble - (0, 1.6), 20, 4) → bubble5Sequence(Sequence[Polygon[P + (cubesHorizontal, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)), P + (cubesHorizontal, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10), P + (cubesHorizontal, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10 + cubeLengthWuerfel / 10), P + (cubesHorizontal, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (0, cubeLengthWuerfel / 10)], i, 0, 0], j, 0, 0) → m3, {{0.35355339059327484}}Sequence(Sequence[Polygon[A + (i, j), A + (i, j) + (cubeLengthWuerfel / 10, 0), A + (i, j) + (cubeLengthWuerfel / 10, cubeLengthWuerfel / 10), A + (i, j) + (0, cubeLengthWuerfel / 10)], i, 0, 0], j, 0, 0) → m5, {{1}}Sequence(Sequence[Polygon[A + (1, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)), A + (1, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10), A + (1, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10 + cubeLengthWuerfel / 10), A + (1, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (0, cubeLengthWuerfel / 10)], i, 0, 1], j, 0, 0) → m6, {{0.35355339059327306, 0.3535533905932722}}Sequence(Sequence[Polygon[A + (i, 1) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)), A + (i, 1) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeLengthWuerfel / 10, 0), A + (i, 1) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeLengthWuerfel / 10 + cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10), A + (i, 1) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10)], i, 0, 0], j, 0, 1) → m4, {{0.35355339059327395}, {0.35355339059327484}}Sequence(Sequence[Polygon[P + (i, j), P + (i, j) + (cubeLengthWuerfel / 10, 0), P + (i, j) + (cubeLengthWuerfel / 10, cubeLengthWuerfel / 10), P + (i, j) + (0, cubeLengthWuerfel / 10)], i, 0, 0], j, 1, 3) → m7, {{1.0000000000000036}, {0.9999999999999964}, {1}}Sequence(Sequence[Polygon[P + (i, 4) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)), P + (i, 4) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeLengthWuerfel / 10, 0), P + (i, 4) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeLengthWuerfel / 10 + cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10), P + (i, 4) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10)], i, 0, 0], j, 0, 0) → m8, {{0.35355339059327306}}Sequence(Sequence[Polygon[P + (i, 1) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)), P + (i, 1) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeLengthWuerfel / 10, 0), P + (i, 1) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeLengthWuerfel / 10 + cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10), P + (i, 1) + ((j * cubeDepthCathetersWuerfel / 10), (j * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10)], i, 1, 6], j, 0, 0) → m2, {{0.35355339059327306, 0.35355339059327306, 0.3535533905932766, 0.3535533905932695, 0.3535533905932766, 0.35355339059327306}}Sequence(Sequence[Polygon[P + (1, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)), P + (1, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10), P + (1, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (cubeDepthCathetersWuerfel / 10, cubeDepthCathetersWuerfel / 10 + cubeLengthWuerfel / 10), P + (1, j) + ((i * cubeDepthCathetersWuerfel / 10), (i * cubeDepthCathetersWuerfel / 10)) + (0, cubeLengthWuerfel / 10)], i, 0, 0], j, 1, 3) → m9, {{0.3535533905932713}, {0.35355339059327306}, {0.35355339059327484}}Sequence(Sequence[Polygon[P + (i, j), P + (i, j) + (cubeLengthWuerfel / 10, 0), P + (i, j) + (cubeLengthWuerfel / 10, cubeLengthWuerfel / 10), P + (i, j) + (0, cubeLengthWuerfel / 10)], i, 1, 6], j, 0, 0) → m1, {{1.0000000000000036, 1, 1, 0.9999999999999964, 1, 1.000000000000007}}SpeechBubbleLeft(Bubble - (0, 0.9), 18.5, 3) → bubble6Textfield(cInput) → InputBox3Textfield(dInput) → InputBox4Textfield(eInput) → InputBox5Textfield(fInput) → InputBox6SpeechBubbleLeft(Bubble + (-0.5, -3), 17.4, 5) → bubble7SpeechBubbleLeft(Bubble, 19, 2) → bubble8Sequence(Sequence[Polygon[A + (i, j), A + (i, j) + (cubeLengthWuerfel / 10, 0), A + (i, j) + (cubeLengthWuerfel / 10, cubeLengthWuerfel / 10), A + (i, j) + (0, cubeLengthWuerfel / 10)], i, 0, cubesHorizontal - 1], j, 0, cubesVertical - 1) → cubesAB, {{1}}SpeechBubbleLeft(Bubble - (0, 1.1), 16, 3.2) → bubble4Textfield(gInput) → InputBox7Textfield(hInput) → InputBox8SpeechBubbleLeft(Bubble - (0, 3), 20, 5.35) → bubble5_1Textfield(iInput) → InputBox9Sequence(Sequence[Polygon[P + (i, j), P + (i, j) + (cubeLengthWuerfel / 10, 0), P + (i, j) + (cubeLengthWuerfel / 10, cubeLengthWuerfel / 10), P + (i, j) + (0, cubeLengthWuerfel / 10)], i, 1, 2], j, 0, 0) → m1_1, {{1.0000000000000036, 1}}Sequence(Sequence[Polygon[A + (i, j), A + (i, j) + (cubeLengthWuerfel / 10, 0), A + (i, j) + (cubeLengthWuerfel / 10, cubeLengthWuerfel / 10), A + (i, j) + (0, cubeLengthWuerfel / 10)], i, 0, 3 - 1], j, 0, cubesVertical - 1) → cubesAB_1, {{1, 1, 1}}Sequence(Sequence[Polygon[A + (3, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)), A + (3, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)) + (cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8), A + (3, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)) + (cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8 + cubeLengthWuerfel / 10), A + (3, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)) + (0, cubeLengthWuerfel / 10)], i, 0, cubesDepth], j, 0, cubesVertical - 1) → cubesBF_1, {{0.4419417382415922, 0.4419417382415922}}Sequence(Sequence[Polygon[A + (i, cubesVertical) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)), A + (i, cubesVertical) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)) + (cubeLengthWuerfel / 10, 0), A + (i, cubesVertical) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)) + (cubeLengthWuerfel / 10 + cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8), A + (i, cubesVertical) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)) + (cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8)], i, 0, 3 - 1], j, 0, cubesDepth) → cubesAD_1, {{0.4419417382415922, 0.4419417382415922, 0.4419417382415922}, {0.4419417382415922, 0.4419417382415922, 0.4419417382415922}}Sequence(Sequence[Polygon[A + (1, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)), A + (1, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)) + (cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8), A + (1, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)) + (cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8 + cubeLengthWuerfel / 10), A + (1, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)) + (0, cubeLengthWuerfel / 10)], i, 0, 2], j, 0, 0) → m6_1, {{0.4419417382415922, 0.4419417382415922, 0.4419417382415922}}Sequence(Sequence[Polygon[A + (i, 1) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)), A + (i, 1) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)) + (cubeLengthWuerfel / 10, 0), A + (i, 1) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)) + (cubeLengthWuerfel / 10 + cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8), A + (i, 1) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)) + (cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8)], i, 0, 0], j, 0, 2) → m4_1, {{0.4419417382415922}, {0.4419417382415922}, {0.4419417382415922}}Sequence(Sequence[Polygon[P + (3, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)), P + (3, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)) + (cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8), P + (3, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)) + (cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8 + cubeLengthWuerfel / 10), P + (3, j) + ((i * cubeDepthCathetersWuerfel / 8), (i * cubeDepthCathetersWuerfel / 8)) + (0, cubeLengthWuerfel / 10)], i, 0, 0], j, 0, 0) → m3_1, {{0.4419417382415922}}Sequence(Sequence[Polygon[P + (i, par) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)), P + (i, par) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)) + (cubeLengthWuerfel / 10, 0), P + (i, par) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)) + (cubeLengthWuerfel / 10 + cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8), P + (i, par) + ((j * cubeDepthCathetersWuerfel / 8), (j * cubeDepthCathetersWuerfel / 8)) + (cubeDepthCathetersWuerfel / 8, cubeDepthCathetersWuerfel / 8)], i, 1, 2], j, 0, 0) → m2_1, {{0.44194173824159044, 0.441941738241594}}