使用展开图计算棱柱的表面积
几何画板及绘图内容加载中,请稍等……
本范例通过逐步探索活动演示如何展开棱柱的展开图并计算三角棱柱和矩形棱柱的表面积。涉及的核心数学概念包括展开图、表面积计算、多边形面积等。作图要点——从下方『构造摘要』提炼用到了哪些 GeoGebra 命令/对象:Shuffle, Zip, Mod, If, Polygon, Prism, Net, Translate, Line, Text, Append, OrthogonalLine, Segment, TableText, Vector;对象:selectedSurfaces, Bases2, Bases1, heights, labels, countQuestion, Case, expectedSurfaces, fold, Base1, Base2, RectBase, height, prism0, A, B, C, D, face1, face3, face4, face2, faceABCD, edge1, edge2, edge3, edge4, edgeAB, edgeBC, edgeCD, edgeAD, net0, V1, V2, V3, V4, V8, V7, V9, V10。适合的学段或用途:6-8年级,用于学习如何使用展开图或公式计算棱柱、金字塔和圆柱的表面积。
GeoGebra 命令及参数
Shuffle(Sequence[3, 4]) → Bases2, {4, 3}Shuffle(Sequence[3, 6]) → Bases1, {5, 4, 6, 3}Shuffle(Sequence[3, 5]) → heights, {5, 3, 4}Zip((("\textsf{" * TT) * "}"), TT, Flatten[{"", Zip[("Rectangle " * tt), tt, {"A", "B", "C", "D", "E", "F"}], {"Rectangle A", "Triangle B", "Rectangle C", "Rectangle D", "Triangle E"}}]) → labelsMod(countQuestion, 2) → CaseIf(countQuestion ≟ 0, 3, Element[Bases1, Mod[countQuestion, Length[Bases1]] + 1]) → Base1If(countQuestion ≟ 0, 3, Element[Bases2, Mod[countQuestion, Length[Bases2]] + 1]) → Base2Polygon({(((-Base1)) / 2, ((-Base2)) / 2), (Base1 / 2, ((-Base2)) / 2), (Base1 / 2, Base2 / 2), (((-Base1)) / 2, Base2 / 2)}) → RectBaseIf(countQuestion ≟ 0, 4, Min[Element[heights, Mod[countQuestion, Length[heights]] + 1], 8 - Base2]) → heightPrism(RectBase, height) → prism0, A, edge1, edge2, edge3, edge4, edgeAB, edgeBC, edgeCD, edgeAD, B, C, D, face1, face3, face4, face2, faceABCDNet(prism0, fold) → net0, V1, V12, V13, V14, V6, V5, face01, face05, face06, face03, face04, V2, face02, Edge3, Edge10, Edge4, Edge9, Edge12, Edge2, Edge13, Edge15, Edge11, V3, Edge17, Edge19, Edge5, Edge18, Edge16, Edge8, Edge14, Edge7, Edge1, Edge6, V4, V8, V7, V9, V10, V11Translate(V11, Vector[(1, 0, 0)]) → V11'Polygon({(((-Base1)) / 2, ((-Base2)) / 2), (Base1 / 2, ((-Base2)) / 2), Element[{(Base1 / 2, Base2 / 2), (0, Base2 / 2), (If[Base1 ≟ 2, 0, -1], Base2 / 2)}, PosVertex]}) → TrianBasePrism(TrianBase, height) → prism1, E, edge7, edgeEF, edgeFG, edgeEG, F, G, face5, face7, face6, faceEFG, edge5, edge6Net(prism1, fold) → net1, W1, W9, facet05, facet01, facet02, facet03, facet04, edget1, edget3, edget6, edget10, W2, edget2, edget11, edget12, edget4, edget13, edget14, edget8, edget9, edget5, edget7, W3, W10, W8, W4, W5, W6, W7Translate(W6, Vector[W7, W6] / Distance[W7, W6]) → W6'_{1}Translate(W3, Vector[W7, W6] / Distance[W7, W6]) → W3'Translate(V3, Vector[(1, 0, 0)]) → V3'_{2}Translate(V3, Vector[(1 + (fold * height), 0, 0)]) → V3'_{1}Translate(V2, Vector[(1 + (fold * height), 0, 0)]) → V2'Zip(Element[resultsPrism, kk], kk, selectedSurfaces) → resultsPrismOrderedZip(floor(nn), nn, resultsPrismOrdered) → resultsPrismOrderedFloorShuffle(Sequence[1, 3]) → posVerts, {2, 3, 1}Line(W8, W10) → line2Text(edget3, Midpoint[edget3], true, true) → text8Text(edget6, Midpoint[edget6], true, true) → text9Zip((If[nn ≟ expectedSurfaces + 1 ∧ calculate ≟ expectedSurfaces + 1, "+\;", "\phantom{+\;}"] * Element[formulas, kk]), kk, selectedSurfaces, nn, Sequence[expectedSurfaces + 1]) → formulasToShowZip((If[nn ≟ expectedSurfaces + 1 ∧ calculate ≟ expectedSurfaces + 1, "+\;", "\phantom{+\;}"] * Element[labels, kk]), kk, selectedSurfaces, nn, Sequence[expectedSurfaces + 1]) → labelsToShowText(Base1, (-1, ((-Base2)) / 2, -0.5 + fold / 2), true, true) → labelBase1foldedAppend("", Sequence["=", ii, 1, expectedSurfaces]) → equalListAppend("", Take[Zip[Text[nn], nn, resultsPrismOrdered], 2]) → resultsPrismToShowOrthogonalLine(W3, edget1, space) → heiLine1Segment(Intersect[OrthogonalLine[W3, line2, space], line2], W9) → heiSegment2Text(Base1, Midpoint[W1, W2], true, true) → text7Line(W1, W2) → line1Segment(Intersect[OrthogonalLine[W3, line1, space], line1], W3) → heiSegment1Text(height, Midpoint[Edge19] + (0, 1, 0), true, true) → labelheightfoldedText(height, Midpoint[W5, W3] + (0, 1.2, 0), true, true) → text10Text(Base2, (Base1 / 2, Base2 / 2, -0.5 + fold / 2), true, true) → labelBase2foldedTranslate(V6, Vector[(0, (-fold), 1 - fold)]) → V6'_{1}Translate(V5, Vector[(0, (-fold), 1 - fold)]) → V5'_{1}Translate(V14, Vector[((-fold), 0, 1 - fold)]) → V14'Translate(V13, Vector[((-fold), 0, 1 - fold)]) → V13'Translate(V3, Vector[(0, 1, 0)]) → V3'Translate(V10, Vector[(0, 1, 0)]) → V10'Zip(If[kk ≟ 0, "", Text[kk]], kk, resultsPrismOrderedFloor) → l1_{1}Zip(nn - floor(nn), nn, resultsPrismOrdered) → resultsPrismOrderedDecZip(Split[Text[dd], {"."}], dd, resultsPrismOrderedDec) → resultsPrismOrderedDecTextZip(If[Length[LL] ≥ 2, ("." * Element[LL, 2]), ""], LL, resultsPrismOrderedDecText) → l2_{1}Zip(Length[tt], tt, l2_{1}) → l3Zip(tt + (If[kk ≟ 0, "\phantom{.00}", kk ≟ 2, qq + "\phantom{0}", qq + ""]), kk, l3, tt, l1_{1}, qq, l2_{1}) → l4TableText(labelsToShow, Sequence[(("\hspace{" * If[Case ≟ 1, 0, 20]) * "}"), ii, 1, Length[labelsToShow]], formulasToShow, Take[equalList, 1, Max[calculate, 1]], Take[l4, 1, Max[calculate, 1]], "vlcrrr") → text11Vector(Midpoint[V2', V3'_{1}], V3'_{1}) → l1Vector(Midpoint[V2', V3'_{1}], V2') → l2Translate(W7, Vector[W1, W7] / height) → W7'Translate(W6, Vector[W1, W7] / height) → W6'Segment(W7', W6') → edget8'Vector(Midpoint[W7', W6'], W7') → c1Vector(Midpoint[W7', W6'], W6') → c2Text(("c=" * Length[edget7]), PosLabelc, true, true) → labelcTranslate(V1, Vector[(0, -1 - (fold * (Base2 + height)), 0)]) → V1'Translate(V2, Vector[(0, -1 - (fold * (Base2 + height)), 0)]) → V2'_{1}Segment(V1', V2'_{1}) → Edge3'Vector(Midpoint[V1', V2'_{1}], V1') → w1Vector(Midpoint[V2'_{1}, V1'], V2'_{1}) → w2Text(((If[Case ≟ 1, "b", "l"] * "=") * Base2), PointLabell, true, true) → labellText(((If[Case ≟ 1, "a", "w"] * "=") * Base1), (0, 0), true, true) → labelwVector(Corner[labelw, 1], Corner[labelw, 3]) → labelwsizeTranslate(Midpoint[V1', V2'_{1}], Vector[((-labelwsize)) / 2 - (0, 0, (1 - fold) / 2)]) → posLabelwVector(Corner[labell, 1], Corner[labell, 3]) → labellsizeTranslate(Midpoint[V2', V3'_{1}], Vector[(0.3, y(labellsize) / 2, 0)]) → posLabellText(labell, posLabell, true, true) → labellposText(("h=" * height), (0, 0), true, true, 0, 0) → labelhVector(Corner[labelh, 1], Corner[labelh, 3]) → labelhsizeIf(Case ≟ 0, V3'_{2}, W3') → EndPointh1If(Case ≟ 0, V11', W6'_{1}) → EndPointh2Vector(Midpoint[EndPointh1, EndPointh2], EndPointh2) → h1Vector(Midpoint[EndPointh1, EndPointh2], EndPointh1) → h2Translate(Midpoint[EndPointh1, EndPointh2], Vector[(0, (y(labelhsize) * If[Case ≟ 0 ∧ fold ≟ 1, 1 / 2, 1]), 0)]) → PosLabelhText(labelh, PosLabelh, true, true) → labelhPosText(("\hspace{6}" * labelw), posLabelw, true, true) → labelwposVector(Corner[labelc, 1], Corner[labelc, 3]) → labelcsizeTranslate(Midpoint[W7', W6'], Vector[((-x(labelcsize)), y(labelcsize), 0)]) → poslabelcText(labelc, poslabelc, true, true) → labelcposText(text3, (-4.5, Base2 / 2 + height + 4, 0), true, true) → onboardingSegmentsText(text5, (-6, Base2 / 2 + height + 4.2, 0), true, true) → onboardingSurfacesTableText({(("\color{" * colorBlue_{1}) * "}\rule{45mm}{0.5mm}"), "", (((((If[Case ≟ 0, "\hspace{12}", ""] * "\color{") * colorBlue_{1}) * "}\rule{") * If[Case ≟ 0, 50, 65]) * "mm}{0.5mm}")}, {(("\color{" * colorBlue_{1}) * "}\textsf{Surface Area =}"), "", (Sum[resultsPrismOrdered] * "\text{ sq. units}")}, "lcr") → text1Vector((0, 9.5, 0), (0, 7.5, 0)) → uText("B", Centroid[face04] - (0.55, -0.5), true, true) → labelRecBText("A", Centroid[face03] - (0.55, -0.5), true, true) → labelRecAText("C", Centroid[face01] - (0.55, -0.5), true, true) → labelRecCText("D", Centroid[face06] - (0.55, -0.5), true, true) → labelRecDText("E", Centroid[face05] - (0.55, -0.5), true, true) → labelRecEText("F", Centroid[face02] - (0.55, -0.5), true, true) → labelRecFText("A", Centroid[facet03] - (0.55, -0.5), true, true) → labelFaceAText("B", Centroid[facet05] - (0.55, -0.5), true, true) → labelFaceBText("C", Centroid[facet02] - (0.55, -0.5), true, true) → labelFaceCText("D", Centroid[facet01] - (0.55, -0.5), true, true) → labelFaceDText("E", Centroid[facet04] - (0.55, -0.5), true, true) → labelFaceFText(text6, Corner[text11, 2] + (-0.7, 0.5), true, true, -1, -1) → text14Text(text12, Corner[text11, 1] + (0, 0.5), true, true, 1, -1) → text13
AI 绘图提示语参考
绘制一个三棱柱和一个四棱柱的展开图。首先绘制一个底面为三角形的三棱柱,然后绘制一个底面为正方形的四棱柱。接着,将两个棱柱的展开图分别展开,并标注它们的底面、侧面和高度。最后,确保展开图中的每个面都正确连接,形成完整的展开图。
以上提示语为根据原始绘图命令整理而来,仅供参考。