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.