All Cross Sections of a Quadrangular Pyramid

All Cross Sections of a Quadrangular Pyramid
Loading the math board and drawing, please wait…
2016-07-01 06:00
① 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

  1. RotateText("uStas\;\&\,Т.С.", 90°) → надпись01
  2. PointIn(z = (h * scale)) → S
  3. Mirror(B, Q) → D
  4. Mirror(A, Q) → C
  5. Polygon(A, B, C, D) → osn, AB, BC, CD, DA
  6. Pyramid(osn, S) → Π, SAB, SBC, SCD, SDA, SA, SB, SC, SD
  7. Point(SA) → K
  8. PathParameter(K) → k
  9. PolyLine(B, S, C) → q
  10. Point(q) → L
  11. PathParameter(L) → l
  12. PolyLine(B, C, D, A) → p
  13. Point(p) → N
  14. PathParameter(N) → n
  15. Intersect(Line[K, L], Line[A, B]) → E1
  16. Intersect(Line[E1, N], Line[C, D]) → F1
  17. Intersect(Line[E1, N], Line[A, D]) → G12
  18. Intersect(Line[G12, K], Line[S, D]) → H12
  19. Mirror(N, Line[Q, Q + (1, 1, 0)]) → J13
  20. If(Lkl, Polygon[K, L, N, J13], If[LF1 ∧ (¬LG1), Polygon[K, L, N, F1, H12], Polygon[K, L, N, G12]]) → S1
  21. Intersect(Line[E1, N], Line[C, B]) → F23
  22. Intersect(Line[F23, L], Line[S, C]) → H23
  23. Intersect(Line[H12, H23], Line[C, D]) → J3
  24. If(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]]]]) → S2
  25. If(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]]]) → S3
  26. Intersect(Segment[K, L], Segment[S, Q]) → E4
  27. Intersect(Ray[N, E4], Segment[S, Intersect[Ray[N, Q], Line[D, A]]]) → F4
  28. Intersect(Line[K, F4], Line[S, D]) → G4
  29. Intersect(Line[K, F4], Line[A, D]) → H4
  30. Intersect(Line[N, H4], Line[A, B]) → J4
  31. If(k ≟ 1 ∧ n ≟ 0 ∧ 0.5 < l < 1, Polygon[A, G4, L, B], Polygon[K, G4, L, N, J4]) → S4
  32. Intersect(Ray[N, E4], Segment[S, Intersect[Ray[N, Q], Line[B, A]]]) → F5
  33. Intersect(Line[K, F5], Line[S, B]) → G5
  34. Intersect(Line[K, F5], Line[A, B]) → H5
  35. Intersect(Line[N, H5], Line[A, D]) → J5
  36. Polygon(K, G5, L, N, J5) → S5, f, g, i, j, m
  37. Intersect(Ray[N, E4], Segment[S, Intersect[Ray[N, Q], Line[B, C]]]) → F6
  38. Intersect(Line[L, F6], Line[S, B]) → G6
  39. Intersect(Line[L, G6], Line[C, B]) → H6
  40. Intersect(Line[N, H6], Line[C, D]) → J6
  41. Polygon(K, G6, L, J6, N) → S6, k_2, g6, l_2, j6, n_2
  42. Point(SA, kk) → K'
  43. Point(q, (0.5 * (1 - kk))) → L'
  44. Point(p, 0.4) → N'
  45. Point(q, (0.5 * (1 + kk))) → L''