我想在 TiKz 中制作如下图形:
我尝试使用以下代码:
\begin{tikzpicture}
\begin{axis}[view={60}{30}]
\addplot3[surf,shader=flat,
samples=30,
domain=-1:0,y domain=0:2*pi,
z buffer=sort]
({((1-(x/0.3)) * cos(deg(2*y)))},
{((1-(x/0.3)) * sin(deg(2*y)))},
x);
\end{axis}
\end{tikzpicture}
生成结果:
很明显,我的代码没有产生角度变化。它看起来不像环形板的模态形状。任何帮助都值得感激。
谢谢
答案1
制作类似于您想要的图片的东西并不太难。除了更改trig format
(如 Torbjørn T. 所建议的)之外,您可能想要
- 定义适当的单位向量比并
- 使
z
坐标依赖于角度。
因此我们提出以下建议:
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[view={60}{30},unit vector ratio=1 1 1]
\addplot3[surf,shader=flat,colormap/cool,
samples=30,trig format=rad,
domain=-1:0,y domain=0:2*pi,
z buffer=sort]
({((1-(x/0.3)) * cos(2*y))},
{((1-(x/0.3)) * sin(2*y))},
{x*(1-0.7*cos(4*y))});
\end{axis}
\end{tikzpicture}
\end{document}
当然,精确的匹配需要更多的调整。