我认为这是一个相对简单的问题,但我似乎无法在任何地方找到答案。
假设我有以下一组圆柱体的参数方程:
X(s,t) = cos(s),Y(s,t) = sin(s),Z(s,t) = t
我可以使用以下代码片段进行绘图:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.6}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot3[surf,
samples=25,
z buffer = sort,
domain = 0:2*pi,
y domain = 0:1]({cos(deg(x))}, {sin(deg(x)}, {y});
\end{axis}
\end{tikzpicture}
\end{document}
生成下图:
我想将颜色阴影从当前的 z 值更改为其他参数函数,例如。w(s,t)=1+5*s^2+exp(t)
我尝试过使用该declare function
功能,但没有成功。这似乎应该是相当简单的事情,但事实证明它相当困难。我对 tikz/pgfplots 也相当陌生,这也许可以解释这一点。pgfplots
point meta
谢谢!
答案1
欢迎使用 TeX-SE!我可能遗漏了一些东西,但我只是阐明了你似乎在尝试的东西,它在这里有效。
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.6}
\begin{document}
\begin{tikzpicture}[declare function={myshader(\x,\y)=cos(deg(2*\x))-0.6*sin(deg(\y));}]
\begin{axis}
\addplot3[surf,
samples=25,
z buffer = sort,
domain = 0:2*pi,
y domain = 0:1,
point meta={myshader(x,y)}]({cos(deg(x))}, {sin(deg(x)}, {y});
\end{axis}
\end{tikzpicture}
\end{document}