Superfície de revolução a partir de dados

Superfície de revolução a partir de dados

Gostaria de traçar uma superfície de revolução obtida pela rotação de uma determinada curvade dados, ou seja, tenho pontos de dados para duas funções f(y)e g(y)gostaria de fazer algo como segue (para obter um exemplo mínimo de trabalho, coloquei f(y)=sin(y)and g(y)=cos(y), mas meu principal problema é obter essas funções a partir dos dados):

\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}

Observe que tenho muitos pontos de dados suficientes para as funções f e g, portanto, nenhuma extrapolação adicional deve ser necessária para um gráfico de aparência suave.

Qual é a melhor maneira de fazer isso? Em particular, não sei como importar meus dados como funções que tikz/pgfplots possam entender neste contexto.

informação relacionada