Pyramid Volume Demonstration by Mohammed Tbatit

Pyramid Volume Demonstration by Mohammed Tbatit
Loading the math board and drawing, please wait…
2016-02-14 15:10
In collections Investigating Volume
This example dynamically demonstrates the formula for the volume of a pyramid: volume equals one third of the base area times the height. It involves core mathematical concepts such as volume calculation, geometric construction, and fraction operations. Key GeoGebra commands like If, Translate, Intersect, Pyramid, Dilate, Polygon are used, with objects like height (h), base (s), s1, s2, D, C, etc., to construct the pyramid and illustrate the relationship between its volume, base area, and height. Suitable for middle school students and above learning solid geometry volume formulas, or for mathematical teaching demonstrations.

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