Поверхность вращения из данных

Поверхность вращения из данных

Я хотел бы построить поверхность вращения, полученную вращением заданной кривой.из данных, т. е. у меня есть точки данных для двух функций f(y)и , g(y)и я хотел бы сделать что-то следующее (чтобы получить минимальный рабочий пример, я ставлю f(y)=sin(y)и g(y)=cos(y), но моя главная проблема — получить эти функции из данных):

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

Обратите внимание, что у меня достаточно много точек данных для функций f и g, поэтому для получения гладкого графика не требуется никакой дополнительной экстраполяции.

Как лучше всего это сделать? В частности, я не знаю, как импортировать мои данные в виде функций, которые tikz/pgfplots сможет понять в этом контексте.

Связанный контент