Demonstrating Pyramid Volume Formula

Demonstrating Pyramid Volume Formula
Loading the math board and drawing, please wait…
2014-11-09 16:20
This example dynamically visualizes the calculation process of a pyramid's volume, intuitively showing the formula V=1/3×base area×height. It involves core math concepts like solid geometry volume, similar triangles, polygon area calculation, transformations, and constructions. GeoGebra commands and objects used include If, Translate, Intersect, Pyramid, Dilate, Polygon, and more. Suitable for high school solid geometry teaching, helping students understand the derivation process and geometric meaning of the volume formula.

GeoGebra Commands & Parameters

  1. If(s ≤ 0, (-s), 0) → s2
  2. If(s ≥ 0, s, 0) → s1
  3. Translate(C, Vector[B, D]) → C'
  4. Intersect(OrthogonalPlane[B, Segment[A, C]], Line[A, C]) → G
  5. Translate(A, Vector[B, D]) → A'
  6. Intersect(OrthogonalPlane[B, Segment[A, C]], Line[A', C']) → H
  7. Intersect(OrthogonalPlane[C, Segment[A, B]], Line[A', D]) → F
  8. Intersect(OrthogonalPlane[C, Segment[A, B]], Line[A, B]) → E
  9. Translate(Rotate[Translate[Rotate[C, (α * s1), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]], ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → L
  10. Translate(Rotate[Translate[Rotate[Polygon[A, D, A'], (α * s1), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]], ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → poly2
  11. Pyramid(Polygon[A, B, C], D) → a, faceABD, faceBCD, faceACD_1, edgeAD, edgeBD, edgeCD_1
  12. Translate(Rotate[Translate[Rotate[D, (α * s1), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]], ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → K
  13. Translate(Rotate[Translate[Rotate[Polygon[A, C, A'], (α * s1), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]], ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → poly3
  14. Pyramid(Polygon[A', D, C'], C) → b, faceA'CD_1, faceCC'D, faceA'CC', edgeA'C_1, edgeCD_2, edgeCC'
  15. Translate(Translate[Rotate[a, (α * s1), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]], Vector[(o2 * Vector[A, B])]) → a'
  16. Pyramid(Polygon[A, D, A'], C) → c, faceACD, faceA'CD, faceAA'C, edgeAC, edgeCD, edgeA'C
  17. Translate(Rotate[c, (α * s1), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]) → c'
  18. Translate(Rotate[Translate[b, Vector[(o1 * Vector[A, C])]], (s1 * α), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]) → b'
  19. Translate(Rotate[a', ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → a''
  20. Translate(Rotate[b', ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → b''
  21. Translate(Rotate[c', ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → c''
  22. Translate(Rotate[Translate[Translate[Rotate[Polygon[A, B, D], (α * s1), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]], Vector[(o2 * Vector[A, B])]], ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → poly1
  23. Translate(Rotate[Translate[Translate[Rotate[C, (α * s1), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]], Vector[(o2 * Vector[A, B])]], ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → I
  24. Dilate(poly2, 1 - h, L) → poly2'
  25. Dilate(poly1, 1 - h, I) → poly1'
  26. Translate(Rotate[Translate[Rotate[Translate[Polygon[A', C, C'], Vector[(o1 * Vector[A, C])]], (s1 * α), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]], ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → poly4
  27. Translate(Rotate[Translate[Rotate[Translate[D, Vector[(o1 * Vector[A, C])]], (s1 * α), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]], ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → J
  28. Dilate(poly3, 1 - h, K) → poly3'
  29. Dilate(poly4, 1 - h, J) → poly4'
  30. Polygon((-6, -6), (6, -6), (6, 6), (-6, 6)) → poly5, d, e, f, g

AI Drawing Prompt Reference

Draw a 3D pyramid with a triangular base and an apex above it. Use auxiliary planes and perpendicular lines to create triangular cross-sections inside and on the sides, illustrating the volume formula derivation. Rotate and translate the pyramid along base edges, duplicating congruent or similar parts to form an unfolded geometric assembly. Use sliders to control rotation angles and scaling, dynamically showing how parts fit together, intuitively demonstrating that volume equals one-third base area times height. Add a square grid plane in the background for reference.
The prompt above was compiled from the original drawing commands and is for reference only.