I wonder if it is possible to obtain a gradient colour fill to replicate the light position by means of TikZ. For example in these images (taken by a book) it is evident, that the light effect from above makes the figures more 3D.
My best attempt until now is the following
\documentclass[tikz, border = 1cm]{standalone}
\usetikzlibrary{positioning,shadings}
\begin{document}
\begin{tikzpicture}
[x={(0.866025403cm,-0.5cm)}, y={(0cm,1cm)}, z={(-0.8660254034cm,-0.54cm)}]
\newcommand{\f}{2}
\draw[domain = -pi/4:pi-pi/4, smooth, shading=axis, top color=red,bottom color=red,middle color=white, shading angle = 30]
plot({sin(\x r)},{cos(\x r)},{-\f/2}) -- (0.707106781,-0.707106781,-\f/2) -- (0.707106781,-0.707106781,\f/2) --
plot({cos(\x r)},{sin(\x r)},{\f/2}) -- cycle;
\draw[domain = 0:2*pi, smooth, shading=axis, top color=pink, bottom color=red, shading angle = -60]
plot({sin(\x r)},{cos(\x r)},{\f/2}) -- cycle;
\draw[domain = pi-pi/4:2*pi-pi/4, smooth, dashed]
plot({sin(\x r)},{cos(\x r)},{-\f/2});
\draw[densely dashdotted] (0,0,-\f/2) -- (0,0,\f/2);
\fill (0,0,-\f/2) circle [radius=0.5mm];
\fill (0,0,\f/2) circle [radius=0.5mm];
\end{tikzpicture}
\end{document}
Which after compilation results in
Here the light effect does not seem really natural and I do not really know how to reach a sufficient result similar to the examples above 1 and 2.



