使用参数方程绘制三维波

使用参数方程绘制三维波

我正在尝试绘制这些曲线。

在此处输入图片描述

在此处输入图片描述

我尝试使用下面的代码。但是,输出并不完全是我想要的。我无法将其扩展到负 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}

在此处输入图片描述

相关内容