Demonstrating Pyramid Volume Formula
Loading the math board and drawing, please wait…
In collections
Area, Surface Area, Volume, Cross Section, 3D
Geometry - Area & Volume
Surface Area and Volume
Surface Area and Volume
Surface Area and Volume
Volumes and Surface Areas of Pyramids, Cones and Spheres
Volumes and Surface Areas of Pyramids, Cones and Spheres
Volumes in Ancient Chinese Mathematics 中國古算中的體積
More about Volumes and Surface Areas
Volumes and Surface Areas of Pyramids, Cones and Spheres
Volumes and Surface Areas of Pyramids, Cones and Spheres
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
If(s ≤ 0, (-s), 0) → s2If(s ≥ 0, s, 0) → s1Translate(C, Vector[B, D]) → C'Intersect(OrthogonalPlane[B, Segment[A, C]], Line[A, C]) → GTranslate(A, Vector[B, D]) → A'Intersect(OrthogonalPlane[B, Segment[A, C]], Line[A', C']) → HIntersect(OrthogonalPlane[C, Segment[A, B]], Line[A', D]) → FIntersect(OrthogonalPlane[C, Segment[A, B]], Line[A, B]) → ETranslate(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)])]) → LTranslate(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)])]) → poly2Pyramid(Polygon[A, B, C], D) → a, faceABD, faceBCD, faceACD_1, edgeAD, edgeBD, edgeCD_1Translate(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)])]) → KTranslate(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)])]) → poly3Pyramid(Polygon[A', D, C'], C) → b, faceA'CD_1, faceCC'D, faceA'CC', edgeA'C_1, edgeCD_2, edgeCC'Translate(Translate[Rotate[a, (α * s1), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]], Vector[(o2 * Vector[A, B])]) → a'Pyramid(Polygon[A, D, A'], C) → c, faceACD, faceA'CD, faceAA'C, edgeAC, edgeCD, edgeA'CTranslate(Rotate[c, (α * s1), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]) → c'Translate(Rotate[Translate[b, Vector[(o1 * Vector[A, C])]], (s1 * α), Segment[A, B]], Vector[(s1 * Vector[(0, 0, 0), (0, z(D), 0)])]) → b'Translate(Rotate[a', ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → a''Translate(Rotate[b', ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → b''Translate(Rotate[c', ((-β) * s2), Segment[A, C]], Vector[(s2 / 2 * Vector[(0, 0, 0), (z(D), 0, 0)])]) → c''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)])]) → poly1Translate(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)])]) → IDilate(poly2, 1 - h, L) → poly2'Dilate(poly1, 1 - h, I) → poly1'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)])]) → poly4Translate(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)])]) → JDilate(poly3, 1 - h, K) → poly3'Dilate(poly4, 1 - h, J) → poly4'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.