Surface Area of Pyramids: Unfold Nets to Compute Base, Lateral, and Total Area
Loading the math board and drawing, please wait…
This example demonstrates how to calculate the base area, lateral area, and total surface area of a right pyramid by unfolding and folding its net. It focuses on key concepts from solid-geometry measurement: the relationship between the pyramid’s net and its surface faces, the computation of the base area, the sum of the areas of the triangular lateral faces, and the final total area obtained by adding base and lateral areas. Construction-wise, it uses GeoGebra tools to generate variable dimensions (RandomUniform, Textfield), build polygons and segments that define the net and faces (Polygon, Pyramid, Segment), locate key points for measurement and placement (Centroid, Midpoint, Distance), and transform the net between configurations (Net, Translate, Rotate, Vector). Conditional logic is used to control which objects are kept or updated (If, KeepIf), while labels present the needed quantities (Text, TextToUnicode). Suitable for grades 6–8 and for formula-based practice and classroom demonstrations.
GeoGebra Commands & Parameters
RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.3958756055353063, 0.8533786357676533, 0.004044199219652898, 0.2739489007846822, 0.32390929955138464, 0.6400266049391629, 0.7144932453044555, 0.8056432312578217, 0.2836550889873928, 0.23858909772382403, 0.28324361446946433, 0.05079331846618933, 0.4993192527327668, 0.49420030293256073, 0.9600861842660023, 0.0051241733203633765, 0.521083186262596, 0.2404841840370241, 0.03267929771955199, 0.13745159194388704, 0.9328227445246845, 0.23979697671322595, 0.9657137852929928, 0.03288983455700257, 0.12311827833552909, 0.9629842381399758, 0.2565096376804113, 0.6455830752708474, 0.9083147508516813, 0.2926144708655247, 0.03603258468383078, 0.19652024598418255, 0.32177210780988463, 0.8736420249282592, 0.9682948830339475, 0.8043254256503664, 0.49351495290328723, 0.2876288835017463, 0.5047653538012109, 0.5164382523662225, 0.7492456743589369, 0.08102090679579474, 0.6337643307619925, 0.9148076850494951, 0.9271291801470278, 0.27452665317016933, 0.08785596719447065, 0.05411852202088994, 0.10488787842817364, 0.7293867235093806, 0.6049744064914199, 0.7616547675402011, 0.5585640800634707, 0.7572498502853541, 0.2514335842239421, 0.7561747606547239, 0.08781271614431484, 0.3534871421762426, 0.7670688242780163, 0.03863218592880263, 0.590780804639442, 0.019077821588354416, 0.6045464335723592, 0.22022389087201888, 0.7345108763194677, 0.023691627656309364, 0.5863515153662204, 0.6530789255369284, 0.4743737138736718, 0.2922687823970698, 0.0641266296319264, 0.5959250480561464, 0.2982920366916876, 0.8492656005191535, 0.19588343221006665, 0.1312775716094131, 0.6684598789549232, 0.9187849550949932, 0.04714664207547015, 0.6920925599512389, 0.18489318658938406, 0.27505217630777856, 0.362313998429265, 0.24440945806696082, 0.04146559927303947, 0.4561242069000696, 0.24242851567691348, 0.9782806500017874, 0.8560895608277569, 0.8443348983116223, 0.425158318361831, 0.7722437006685167, 0.18239554627323812, 0.22978238282397684, 0.5320668378693099, 0.9267388621284618, 0.6006437554351702, 0.7881549682520774, 0.4772309537675705, 0.049208509267538246, 0.430670711433712, 0.10136877791438538, 0.10992602740436652, 0.06813624941676814, 0.409428879786247, 0.39885651247617043, 0.44244731495915984, 0.4249929562521509, 0.35012107379593876, 0.23889923235742483, 0.932173509559451, 0.5219529924734885, 0.6190621492360409, 0.9731328791125432, 0.8347034960433505, 0.18932806054608944, 0.8802187881479377, 0.1532894926869308, 0.11230897507619898, 0.0999378366030312, 0.97588420487431, 0.0873480274866843, 0.3290454761557678, 0.28809509134564354, 0.595137816665954, 0.3725726071984496, 0.6706513399092382, 0.9685296963874221, 0.17962070463967056, 0.08540596836918167, 0.37383886304734765, 0.9454101206192298, 0.5787263288161181, 0.49286395032821834, 0.0057438906360658916, 0.6936419717196365, 0.12356170107097328, 0.37694191066983124, 0.5901497542303661, 0.1838327506730329, 0.980977194859502, 0.46259681059864877, 0.8426386646488337, 0.05870794600222147, 0.49559495900371675, 0.8211085230919339, 0.6320479436746284, 0.5423478171510185, 0.28908300840324475, 0.324052572078945, 0.5605211769454356, 0.9143858031848416, 0.3419291784294029, 0.15873059017980212, 0.6690433074243902, 0.8392681929267805, 0.6736614132817266, 0.8137084755949057, 0.18963625497373532, 0.2358214647029713, 0.6728427521243387, 0.43310186220577246, 0.8193662494510643, 0.5647074711273012, 0.2482365137398107, 0.5404266429610265, 0.36497580567941323, 0.6708681296668827, 0.45729444370205174, 0.8671971349192765, 0.1103032550184504, 0.1847706748743121, 0.8475625783905448, 0.5580076971444696, 0.28168979991257825, 0.6901603136790426, 0.3807315788154499, 0.5525732184588454, 0.7392983959951726, 0.6871116023336113, 0.7778758095432655, 0.666132418223546, 0.10468117295035269, 0.9574414540309326, 0.27793183274382793, 0.8427322076294166, 0.8870317542542345, 0.0050050652991491425, 0.6496601154597305, 0.7312149967085962, 0.6023455206064645, 0.4260432085807737, 0.1602145390142153, 0.5712204399310481, 0.1711858657569975, 0.04458281430410831, 0.1610129005446904, 0.7661910954295995, 0.9519167248734645, 0.4649147858317669}Polygon({(-0.5, 1, 0), (0.5, 1, 0), (0.5, 0, 0), (-0.5, 0, 0)}) → baseSqareTake(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeedsIf(currentRandomSeeds(3) ≤ 0.5 ∨ countQuestion ≟ 0, 4, 3) → CaseIf(countQuestion ≟ 0, 4, floor((currentRandomSeeds(2) * 5)) + 1) → randomSideLengthKeepIf(Mod[randomSideLength, kk] ≟ 0, kk, Sequence[randomSideLength]) → l1If(countQuestion ≟ 0, 1, Element[l1, floor((currentRandomSeeds(4) * Length[l1])) + 1]) → heiFactIf(countQuestion ≟ 0, 2, (floor((currentRandomSeeds(1) * 3)) + 1) / heiFact) → hei_{1}Pyramid(baseSqare, (-hei_{1})) → b, T, face14, face16, face17, face15, edge26, edge27, edge28, edge29Net(b, tCil2) → d, U, face18, face20, face21, face19, edgeUV, edge33, edge36, edge30, edge31, edge34, V, edge35, edge37, edge38, edge39, edge40, edge32, L_1, S_1, T_1, U_1, V_1, W_1, face22Segment(Midpoint[edge36], V_1) → segTriHeight4Polygon((0, 0), (1, 0), 3) → poly1Centroid(poly1) → BTranslate(poly1, Vector[B, (0, 1)]) → baseTriPyramid(baseTri, hei_{1}) → a, C, face1, face3, face2, edge3, edge5, edge6Net(a, tCil2) → e, D, face4, edgeDE, edgeEF, edgeDF, edgeDW, edgeEW, edgeEZ, edgeFZ, edge11, edge8, E, F, W, Z, A_1, faceDEF, faceDEW, faceEFZSegment(Midpoint[Vertex[baseTri, 1], Vertex[baseTri, 2]], W) → segTriHeight3Segment(F, Midpoint[Vertex[baseTri, 1], Vertex[baseTri, 2]]) → triHeightMidpoint(Vertex[baseTri, 1], Vertex[baseTri, 3]) → LabelTriPosTextfield(input1) → InputBox1If(Case ≟ 3, expAns2Tri, expAns2Sq) → expAns2Segment((0, 1, 0), (1, 1, 0)) → segRad_{1}Rotate((0, 0, hei_{1}), (pi / 2 * tCil_{1}), Line[(1, 0, 0), (-1, 0, 0)]) → TopPointVector((0, cos((tCil_{1} * pi)), (-sin((tCil_{1} * pi))))) → uVector((0, sin((tCil_{1} * pi)), cos((tCil_{1} * pi)))) → vCorner(5) → App2DSizeTextToUnicode(stringA) → inputCurrentTranslate(f, Vector[(Vector[Corner[4], Corner[1]] / 500 * 16)]) → f'CornerThreeD(-1, 9) → App3DSizeVector((1; (pi / 2 * tCil2) + (pi / 6 * (1 - tCil2)); ((-pi)) / 2 + ((0.8 * pi / 2) * (1 - tCil2)))) → viewCornerThreeD(-1, 13) → ADistance(Corner[text7, 2], Corner[text7, 1]) → widLabelSideDistance(Corner[text7, 4], Corner[text7, 1]) → heiLabelSideTranslate(F, Vector[(x(Z) + 0.1, 0, 0)]) → L'Translate(LabelTriPos, Vector[(x(Z) + 0.1, 0, 0)]) → LabelTriPos'Text(randomSideLength, LabelSqPos + (0, 0.25, (0.25 * tCil2)), true, true) → text6Translate(segTriHeight4, Vector[(x(L_1) + 0.21, 0, 0)]) → segTriHeight4'Text(triHeiNum4, Translate[Midpoint[segTriHeight4], Vector[(x(L_1) + 0.25, 0, 0)]], true, true) → LabelHeight4Segment(If[Case ≟ 3, (0.5, 0.71, 0), (0.5, 0, 0)], Translate[If[Case ≟ 3, (0.5, 0.71, 0), (0.5, 0, 0)], Vector[(0, 0, hei_{1})]]) → PyrHeiText(hei2, Midpoint[PyrHei], true, true) → text5Text(randomSideLength, LabelTriPos + ((-widLabelSide), heiLabelSide, 0), true, true) → text4Vector(Midpoint[PyrHei], Vertex[PyrHei, 1]) → PyrHei2Vector(Midpoint[PyrHei], Vertex[PyrHei, 2]) → PyrHei1Translate(Midpoint[triHeight], Vector[((x(Z) * 1.1), 0)]) → GTranslate(F, Vector[((x(Z) * 1.1), 0)]) → F'Vector(G, F') → triBaseHei1Vector(G, G - triBaseHei1) → triBaseHei2Text(triHeightNum, G + (0, heiLabelSide / 2), true, true) → text8Translate(Midpoint[Midpoint[Vertex[baseTri, 1], Vertex[baseTri, 2]], W], Vector[(0.75, 0)]) → HTranslate(Midpoint[Vertex[baseTri, 1], Vertex[baseTri, 2]], (0.75, 0)) → ITranslate(W, Vector[(0.75, 0)]) → W'Vector(H, I) → triFaceHei2Vector(H, W') → triFaseHei1Text(triHeiNum3, H, true, true) → LabelHeight3Vector(PM, P1) → wVector(PM, P2) → cPyramid(baseSqare, (-hsqHint)) → pyrSqHint, J, face5, face7, face8, face6, edge1, edge2, edge4, edge7Pyramid(baseTri, hTriHint) → pyrTriHint, K, face9, face11, face10, edge12, edge14, edge15Net(pyrSqHint, If[hsqHint ≤ hei_{1}, tCil2^(2), sqrt(tCil2)]) → g, L, faceLMP, faceMNQ, faceNOR, faceLOS, edgeLM, edgeMN, edgeNO, edgeLO, edgeLP, edgeMP, M, edgeMQ, edgeNQ, edgeNR, edgeOR, edgeOS, edgeLS, N, O, P, Q, R, S, faceLMNONet(pyrTriHint, If[hTriHint ≤ hei_{1}, tCil2^(2), sqrt(tCil2)]) → h, B_1, face23, edge9, edge17, edge10, edge13, edge18, edge19, edge20, edge21, edge16, C_1, D_1, I_1, K_1, M_1, face12, face13, face24Segment(V_1, P2) → iSegment(Vertex[edge36, 1], P1) → jSegment((0, 0.5, hei_{1}), Vertex[PyrHei, 2]) → kSegment(W, Vertex[PyrHei, 2]) → lSegment(W, W') → mSegment(E, I) → nLine((0, 0, 0), Vector[((n * (e * (m * (g * (e * x(S)))))), (n * (e * (m * (g * (e * y(S)))))), (n * (e * (m * (g * (e * z(S)))))))]) → pSegment(F, F') → qSegment(E, G - triBaseHei1) → r
AI Drawing Prompt Reference
Draw a 3D figure of a right pyramid with a square base: construct the square base in space, then place the apex above the base so that the pyramid height is adjustable, and show the four lateral triangular faces and the base clearly. Next, display the unfolded net of the same pyramid on the same scene: unfold the four triangular lateral faces into a plane around the base edges, forming a connected polygonal net. Add geometric helper elements such as midpoints and segments that define the relevant triangle height for marking, and label the key quantities: the square base side length, the pyramid height, and the corresponding lateral-triangle height. Include clear text labels positioned near the corresponding regions in both the 3D pyramid and the 2D net to represent the measured components used to compute base area, lateral area, and total surface area.
The prompt above was compiled from the original drawing commands and is for reference only.