What are effective techniques for making the depth of a 3D curve clear when it twists and turns, making its depth ambiguous from a static perspective?
points = Table[RandomReal[{0, 10}, 3], 25];
spline = BSplineFunction[points];
ParametricPlot3D[
spline[t],
{t, 0, 1},
PlotRange -> {{0, 10}, {0, 10}, {0, 10}},
Boxed -> False,
AxesLabel -> {"u", "t", "s"},
AxesOrigin -> {0, 0, 0},
FaceGrids -> {{{0,
0, -1}, {{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {0, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10}}}},
PlotStyle -> Directive[Black, Thin],
ViewPoint -> {5/6, -1.5, 0},
ImageSize -> Large,
Ticks -> False,
AxesStyle -> {Arrowheads[{{1/100, 1, arrow[]}}], Automatic}
] /. Line -> Arrow
Preferably keeping the presentation static, e.g. not animating it to spin, because then it would make the curve hard to trace and study by eye. Although, I remember seeing a technique where an image is animated to rotate back and forth just a small number of degrees—enough parallax to give the sense of depth—that might be fine, or at least interesting to see. But I'm more interested in general techniques—employing colors, lighting or shadows, opacity, and other properties I'm not imagining—that have been used in publications to address this exact issue.
Tube[]
. This creates a surface for the curve that reacts with the lighting to better, umm, "reflect" its 3D nature. Odd that nobody mentions this. Especially since so many answer uses, while emphasizing second-order effects. $\endgroup$