![使用参数方程绘制三维波](https://linux22.com/image/406755/%E4%BD%BF%E7%94%A8%E5%8F%82%E6%95%B0%E6%96%B9%E7%A8%8B%E7%BB%98%E5%88%B6%E4%B8%89%E7%BB%B4%E6%B3%A2.png)
我正在尝试绘制这些曲线。
我尝试使用下面的代码。但是,输出并不完全是我想要的。我无法将其扩展到负 X 值,也无法在轴上标记这些刻度。
\documentclass[parskip]{scrartcl}
\usepackage[margin=15mm,a3paper,landscape]{geometry}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[x={(0.707cm,0.707cm)},z={(0cm,1cm)},y={(-0.866cm,0.5cm)}]
\draw[->] (-5,0,0) -- (5,0,0) node[right] {x};
\draw[->] (0,-2,0) -- (0,2,0) node[left] {y};
\draw[->] (0,0,-4) -- (0,0,4) node[above] {z};
\draw (1,0,0)
\foreach \z in {0,0.1,...,4}
{ -- ({\z},{sin(\z*150)},{2*cos(\z*150)})};
\node[rotate=90,right=1cm] at (0,0,12) {};
\end{tikzpicture}
这是我的输出。
对于第二个,我不知道该怎么做。不过它看起来像是一个余弦函数。任何帮助都将不胜感激。
答案1
不出所料,3d 绘图可以用 来制作tikz-3dplot
。你始终可以使用绘图路径构造添加参数绘图,例如
\draw plot[variable=\t,domain=-4:4,samples=101,smooth]
({\t},{sin(\t*150)},{2*cos(\t*150)});
严格来说,您不需要tikz-3dplot
,我仅使用它来获取正交视图,即免除您猜测类似的东西x={(0.707cm,0.707cm)},z={(0cm,1cm)},y={(-0.866cm,0.5cm)}
。该perspective
库还允许您安装 3D 视图。
\documentclass[tikz,border=3mm]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{70}{125}
\begin{tikzpicture}[tdplot_main_coords,line cap=round,>=stealth]
\draw[->] (-5,0,0) -- (5,0,0) node[pos=1.05] {$x$};
\draw[->] (0,-5,0) -- (0,5,0) node[pos=1.05] {$y$};
\draw[->] (0,0,-4) -- (0,0,4) node[pos=1.05] {$z$};
%
\draw plot[variable=\t,domain=-4:4,samples=101,smooth]
({\t},{sin(\t*150)},{2*cos(\t*150)});
\end{tikzpicture}
\begin{tikzpicture}[tdplot_main_coords,line cap=round,>=stealth]
\draw[->] (-5,0,0) -- (5,0,0) node[pos=1.05] {$x$};
\draw[->] (0,-5,0) -- (0,5,0) node[pos=1.05] {$y$};
\draw[->] (0,0,-4) -- (0,0,4) node[pos=1.05] {$z$};
%
\draw plot[variable=\t,domain=-4:4,samples=101,smooth]
(0,{\t},{sin(\t*150)});
\end{tikzpicture}
\end{document}