绘制包含单独迹线的 3D 图表

绘制包含单独迹线的 3D 图表

我正在寻找一种方法将右下方的图像转换为具有 3D 效果的图像(类似于左上角的图像:请原谅我糟糕的绘画技巧)。

在此处输入图片描述

目前我仍在寻找解决此任务的最佳方法。我很感激任何有用的提示。目前我想到 Tikz 和旋转......

亲切的问候

秒差距

答案1

我认为这里的一种方法可能是3d来自的库tikz。特别是允许您在垂直平面中绘制所需函数的选项canvas is ...,如草图中所示。

这是一个具有随机函数的简单示例,因为我不知道您的类似傅里叶的函数。

\documentclass[border=2mm]{standalone}
\usepackage    {tikz}
\usetikzlibrary{3d}
\usetikzlibrary{babel} % sometimes tikz and babel don't get along...

\begin{document}
\begin{tikzpicture}[x={(0.5cm,0.5cm)},z={(1cm,0cm)}]
% dimensions
\def\a{2}
\def\b{4}
\def\c{6}
% axes
\draw[-latex] (-4.5,0,0) -- (4.5,0,0) node [above] {$x$};
\draw[-latex] (0,0,0)  -- (0,4,0) node [above] {$A$};
\draw[-latex] (0,0,0)  -- (0,0,8) node [right] {$z$};
% auxiliary lines
\begin{scope}[canvas is xz plane at y=0]
  \foreach\i in {\a,\b,\c}
    \draw[blue,dashed] (-4,\i) -- (4,\i);
  \foreach\i in {-1,1}
    \fill[x=\i cm] (1,0) --++ (0.5,0.5) --++ (1.5,0) --++ (0,-0.5) -- cycle ;
  \draw[blue,->] (-3.5 ,0) --++ (0,\a) node [midway,above]   {$a$};
  \draw[blue,->] (-3.75,0) --++ (0,\b) node [pos=0.75,above] {$b$};
  \draw[blue,->] (-4   ,0) --++ (0,\c) node [pos=0.85,above] {$c$};
\end{scope}
% curves
\draw[red,thick,canvas is xy plane at z=\a] plot[domain=-2:2,samples=101] (\x,\x*\x);
\draw[red,thick,canvas is xy plane at z=\b] plot[domain=-2:2,samples=101] (\x,{2*sin(150*\x)+2});
\draw[red,thick,canvas is xy plane at z=\c] plot[domain=-2:2,samples=101] (\x,0.5*\x*\x*\x*\x-\x*\x+0.5);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容