Superficie de revolución a partir de datos.

Superficie de revolución a partir de datos.

Me gustaría trazar una superficie de revolución obtenida al rotar una curva dada.de datos, es decir, tengo puntos de datos para dos funciones f(y)y g(y)me gustaría hacer algo de la siguiente manera (para obtener un ejemplo de trabajo mínimo, puse f(y)=sin(y)y g(y)=cos(y), pero mi problema principal es obtener estas funciones a partir de datos):

\documentclass{article}

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}

\begin{tikzpicture}
\begin{axis}
    [
    view={30}{30}
    ]
\addplot3[surf,
    domain=0:360,
    samples=51,
    y domain=0:180, %% the domain should be as given in data
    z buffer=sort
]
({sin(y)*cos(x)}, %% want to replace sin(y) by f(y) from data
{sin(y)*sin(x)},
{cos(y)}); %%% want to replace cos(y) by g(y) from data
\end{axis}
\end{tikzpicture}

\end{document}

Tenga en cuenta que tengo suficientes puntos de datos para las funciones f y g, por lo que no debería ser necesaria una extrapolación adicional para obtener una gráfica fluida.

¿Cuál es la mejor manera de hacer esto? En particular, no sé cómo importar mis datos como funciones que tikz/pgfplots puedan entender en este contexto.

información relacionada