Dome with Pendentives: Solid Geometry Construction and Rotational Symmetry
Loading the math board and drawing, please wait…
① This example demonstrates a dome with pendentives, the transitional curved surfaces that connect a square base to a circular dome, typical in Byzantine and Renaissance architecture. ② Core mathematical concepts include solid geometry involving prisms, cylinders, surfaces of revolution (arcs or circles), intersections of planes and surfaces, symmetry transformations, and spatial coordinate positioning. ③ Construction highlights: from the summary, GeoGebra commands such as Segment, Point, Polygon, Prism, Surface, Line, Circle, Cylinder, Midpoint, CircumcircleArc, Rotate, Plane, Intersect, CircleArc, Translate, and Sequence are used. The process builds a prismatic base, generates the dome via cylinders or circular arcs, and creates symmetric pendentive surfaces through rotation and translation, resulting in a complete 3D structure. ④ Suitable for high school or early college solid geometry instruction, architectural mathematics, or CAD demonstrations, helping students understand surface construction and geometric transformations in three-dimensional space.
GeoGebra Commands & Parameters
Segment(A, AA) → fPoint(f) → ISegment(A, I) → gPolygon(A, B, C, D) → veelhoek1, a_1, b_1, c, dPrism(veelhoek1, -1) → e, E, Ribbe1, Ribbe2, Ribbe3, Ribbe4, Ribbe5, Ribbe6, Ribbe7, Ribbe8, F, G, H, zijvlak1, zijvlak2, zijvlak3, zijvlak4, zijvlak5Surface(cos(α), sin(α), sin(α), α, 0°, 180°, α, 0°, 180°) → bSurface(cos(α), sin(α), cos(β), α, 0°, 360°, β, 0, 90°) → aSurface((sqrt(1 - h^(2)) * cos(θ)), (sqrt(1 - h^(2)) * sin(θ)), h, θ, 0, 6.28319, h, 0, 1) → hLine((0, 0, 0), (0, 0, 2)) → asCircle(O, 1, as) → kCylinder(k, 1.5) → i_3, i_2, i_3Segment(A, D) → nSegment(C, D) → i_1Midpoint(A, B) → WCircumcircleArc(F, W, E) → pRotate(p, 90°, as) → p'Rotate(p, -90°, as) → p'_1Rotate(p, 180°, as) → p'_2Plane((0, 0, -0.2), (0, 1, -0.2), (2, 2, -0.2)) → jIntersect(j, p') → J, KIntersect(j, p) → L, MCircleArc(N, J, M) → qTranslate(j, Vector[(0, 0, 0.1)]) → j'Intersect(j', p) → P, QIntersect(j', p') → R, SCircleArc((0, 0, -0.1), Q, R, xOyPlane) → rTranslate(j, Vector[(0, 0, -0.1)]) → j'_1Intersect(j'_1, p) → T, UIntersect(j'_1, p') → V, ZCircleArc((0, 0, -0.3), V, U) → sTranslate(j, Vector[(0, 0, -0.2)]) → j'_2Intersect(j'_2, p) → A_1, B_1Intersect(j'_2, p') → C_1, D_1CircleArc((0, 0, -0.4), C_1, B_1) → tTranslate(j, Vector[(0, 0, -0.3)]) → j'_3Intersect(j'_3, p) → E_1, F_1Intersect(j'_3, p') → G_1, H_1CircleArc((0, 0, -0.5), G_1, F_1) → c_1Translate(j, Vector[(0, 0, -0.4)]) → j'_4Intersect(j'_4, p) → I_1, J_1Intersect(j'_4, p') → K_1, L_1CircleArc((0, 0, -0.6), K_1, J_1) → d_1Translate(j, Vector[(0, 0, 0.15)]) → j'_5Intersect(j'_5, p) → M_1, N_1Intersect(j'_5, p') → O_1, P_1CircleArc((0, 0, -0.05), O_1, N_1) → e_1Sequence(Rotate[r, ((hoe * 90))°, as], hoe, 1, 3) → lijst1Sequence(Rotate[q, ((hoe * 90))°, as], hoe, 1, 3) → lijst2Sequence(Rotate[s, ((hoe * 90))°, as], hoe, 1, 3) → lijst3Sequence(Rotate[t, ((hoe * 90))°, as], hoe, 1, 3) → lijst4Sequence(Rotate[c_1, ((hoe * 90))°, as], hoe, 1, 3) → lijst5Sequence(Rotate[d_1, ((hoe * 90))°, as], hoe, 1, 3) → lijst6