用 Polygon 吧,比如把 e 改成(最后的 0.01 是步长):
e = Graphics3D[
Polygon[{{0, 0, 0}}~Join~
Table[{l Cos[t], l Sin[t],
0}, {t, -\[Beta] + 0.0001, \[Delta] - \[Beta], 0.01}]]]
完整的代码:
Manipulate[
l = Sqrt[r^2 + h^2]; \[Alpha] = (2 Pi r)/l; \[Beta] =
Pi/2 - ArcTan[r/h]; \[Delta] = \[Gamma]/(2 Pi)*\[Alpha];
a = Graphics3D[{Opacity[.3], Cone[{{0, -h, 0}, {0, 0, 0}}, r]},
Boxed -> False, PlotRange -> {{-4, 4}, {-4, 4}, {-3, 3}},
PlotLabel ->
Column[{{"底面积:\!\(\*SuperscriptBox[\(\[Pi]r\), \(2\)]\)="} <>
"2\[CapitalPi]*" <> ToString[r^2] <> "=" <>
ToString[
N[Pi*r^2.,
4]], {"侧面展开扇形面积:\[CapitalPi]rL=\[CapitalPi]r\!\(\*SqrtBox[\
\(\*SuperscriptBox[\(r\), \(2\)] + \*SuperscriptBox[\(h\), \
\(2\)]\)]\)="} <> "\[Pi]*" <> ToString[r] <> "*" <>
ToString[Sqrt[r^2 + h^2]] <> "=" <> ToString[N[Pi r l]]}],
ImageSize -> {420, 400}, ViewPoint -> {0, -2.4, 2.2}];
b = Graphics3D[{{Blue, PointSize[.02], Point[{{r, -h, 0}}]}, {Red,
Dashed, Line[{{0, -h, 0}, {0, 0, 0}}]}, {Green, Dashed,
Line[{{0, -h, 0}, {r, -h, 0}}]}, {Red, Thickness[.005], Dashed,
Line[{{r, -h, 0}, {0, 0, 0}}]}, {Opacity[.4], Green,
Polygon[{{0, 0, 0}, {0, -h, 0}, {r, -h, 0}}]}}];
c = Graphics3D[{Red, Thickness[.005],
Line[{{l Cos[\[Delta] - \[Beta]], l Sin[\[Delta] - \[Beta]],
0}, {0, 0, 0}}]}];
d = Graphics3D[
GeometricTransformation[b[[1]],
RotationTransform[\[Gamma], {0, 1, 0}]]];
e = Graphics3D[
Polygon[{{0, 0, 0}}~Join~
Table[{l Cos[t], l Sin[t],
0}, {t, -\[Beta] + 0.0001, \[Delta] - \[Beta], 0.01}]]];
f = Graphics3D[
GeometricTransformation[a[[1]],
ScalingTransform[10^-3, {0, -.5, 0}, #]] & /@ {{0, k, 0}}];
Show[a, b, c, d, e, f],
{{r, 1, "底面半径r"}, 0.1, 1.5, ImageSize -> Small}, {{h, 2, "圆锥的高h"},
0.5, 2.5, ImageSize -> Small}, {{\[Gamma], 0.0001, "旋转的角\[Gamma]"},
0.0001, 2 Pi,
ImageSize -> Small}, {{k, -h - 0.2, "底面距离k"}, -h, -h - 1,
ImageSize -> Small}, ControlPlacement -> {Left, Left, Left, Left},
ContentSize -> {450, 420}, SaveDefinitions -> True]