Prism to Pyramid Transformation
Loading the math board and drawing, please wait…
This example demonstrates the geometric transformation of a prism into a pyramid, involving key math concepts like solid geometry, area calculation, and geometric transformations (translation, dilation). It utilizes GeoGebra commands such as Translate, Intersect, Pyramid, Dilate, and Polygon, with objects like height (h), base (s), s1, s2, D, C, B, C', A, G, A', H, etc. Suitable for high school and above students studying spatial geometry, transformations, and geometric constructions.
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