I'd like to combine 3D curve and surface with Show in Mathematica 13.3. It is strange that the curve could not be hiden by the surface effectively even though the curve is behind the surface. The code is given as following,
\[CurlyPhi] = \[Pi] {1/4, 1/2, 3/4};
x[t_] := 2 + Cos[t];
z[t_] := Sin[t];
g1 = RevolutionPlot3D[{x[t], z[t]}, {t, 0, 2 \[Pi]}, {\[Phi], 0,
2 \[Pi]}, PlotPoints -> 100, Mesh -> None];
g2 = Table[
ParametricPlot3D[{x[t] Cos[\[CurlyPhi][[i]]],
x[t] Sin[\[CurlyPhi][[i]]], z[t]}, {t, 0, 2 \[Pi]}], {i, 3}];
Show[g2, g1, ViewVector -> {{2.8, 0, 0}, {0, 2.5, 0}},
ViewAngle -> 70 °, Boxed -> False, Axes -> False, PlotRange -> All]
The result is shown in the attached figure. Beside that there is no different If the curve is replaced by Mesh method as mesh thickness is set explicitly.
Attachments: