All Cross Sections of a Quadrangular Pyramid
Loading the math board and drawing, please wait…
① This GeoGebra example dynamically shows all possible cross sections of a quadrangular pyramid as a cutting plane moves through the solid, revealing how the intersection polygon changes shape. ② Core mathematical concepts include solid geometry, cross sections, plane-polyhedron intersections, and spatial reasoning. ③ Construction highlights: from the summary, it uses Pyramid to build the pyramid, Polygon and PolyLine for the base and edges, Intersect to find section-edge intersections, Point and PathParameter to control moving points on the cutting plane, Mirror for symmetry, RotateText for labels, and If for conditional display, with sliders (h, scale) adjusting height and zoom. ④ This is ideal for high school or introductory college geometry, serving as an interactive demonstration to help students understand section variation and improve spatial visualization.
GeoGebra Commands & Parameters
RotateText("uStas\;\&\,Т.С.", 90°) → надпись01PointIn(z = (h * scale)) → SMirror(B, Q) → DMirror(A, Q) → CPolygon(A, B, C, D) → osn, AB, BC, CD, DAPyramid(osn, S) → Π, SAB, SBC, SCD, SDA, SA, SB, SC, SDPoint(SA) → KPathParameter(K) → kPolyLine(B, S, C) → qPoint(q) → LPathParameter(L) → lPolyLine(B, C, D, A) → pPoint(p) → NPathParameter(N) → nIntersect(Line[K, L], Line[A, B]) → E1Intersect(Line[E1, N], Line[C, D]) → F1Intersect(Line[E1, N], Line[A, D]) → G12Intersect(Line[G12, K], Line[S, D]) → H12Mirror(N, Line[Q, Q + (1, 1, 0)]) → J13If(Lkl, Polygon[K, L, N, J13], If[LF1 ∧ (¬LG1), Polygon[K, L, N, F1, H12], Polygon[K, L, N, G12]]) → S1Intersect(Line[E1, N], Line[C, B]) → F23Intersect(Line[F23, L], Line[S, C]) → H23Intersect(Line[H12, H23], Line[C, D]) → J3If(l ≟ 0, Polygon[S, A, N], If[k ≟ 0, Polygon[S, B, N], If[Lkl, Polygon[K, L, C, D], If[LF2, Polygon[K, L, F23, N, H12], Polygon[K, L, H23, N, G12]]]]) → S2If(k ≟ 0, Polygon[S, B, N], If[Lkl, Polygon[K, L, J13, N], If[LF2, Polygon[K, L, F23, N], Polygon[K, L, H23, J3, N]]]) → S3Intersect(Segment[K, L], Segment[S, Q]) → E4Intersect(Ray[N, E4], Segment[S, Intersect[Ray[N, Q], Line[D, A]]]) → F4Intersect(Line[K, F4], Line[S, D]) → G4Intersect(Line[K, F4], Line[A, D]) → H4Intersect(Line[N, H4], Line[A, B]) → J4If(k ≟ 1 ∧ n ≟ 0 ∧ 0.5 < l < 1, Polygon[A, G4, L, B], Polygon[K, G4, L, N, J4]) → S4Intersect(Ray[N, E4], Segment[S, Intersect[Ray[N, Q], Line[B, A]]]) → F5Intersect(Line[K, F5], Line[S, B]) → G5Intersect(Line[K, F5], Line[A, B]) → H5Intersect(Line[N, H5], Line[A, D]) → J5Polygon(K, G5, L, N, J5) → S5, f, g, i, j, mIntersect(Ray[N, E4], Segment[S, Intersect[Ray[N, Q], Line[B, C]]]) → F6Intersect(Line[L, F6], Line[S, B]) → G6Intersect(Line[L, G6], Line[C, B]) → H6Intersect(Line[N, H6], Line[C, D]) → J6Polygon(K, G6, L, J6, N) → S6, k_2, g6, l_2, j6, n_2Point(SA, kk) → K'Point(q, (0.5 * (1 - kk))) → L'Point(p, 0.4) → N'Point(q, (0.5 * (1 + kk))) → L''