I would like to learn how to code within Mathematica the following picture:
I tried using
planarShadow[x_, direction_, normal_, darkShadow_: True] :=
Module[{d, n}, d = Normalize[direction];
n = Normalize[normal];
x /. Graphics3D[gr_, opts___] :>
Graphics3D[{If[darkShadow, Black],
GeometricTransformation[
If[darkShadow,
gr /. {Glow[_] -> Glow[],
r_?(MemberQ[{RGBColor, Hue, CMYKColor, GrayLevel},
Head[#]] &) -> Black}, gr],
Composition[TranslationTransform[direction],
Quiet[RotationTransform[{d, n}], {RotationMatrix::degen,
RotationTransform::spln}], ScalingTransform[10^-3, d],
Quiet@Check[ScalingTransform[1./(n.d), n - (n.d) d],
Identity]]]}, opts]]
With[{cp3d =
ParametricPlot3D[{{u - 2, u^2, u^3}, {-u + 1, (1/2) u - 4,
u^2}, {Sin[u - 0.5], 2 u - 2, (1/10) u^3}, {u - 5, u, u}, {-u,
u + 2.5, -u}}, {u, -4, 4},
PlotStyle -> {Orange, Green, Yellow, Blue, Purple},
PlotRange -> {-4, 4}] /.
Line[pts_, rest___] :> Tube[pts, 0.4, rest]},
Show[cp3d, planarShadow[cp3d, {0, 0, -4.97}, {0, 0, -1}, True],
PlotRange -> {-5, 5}]]
and got a fairly inadequate comparison.
Any help would be appreciated.