以特定方式使用 tikz 绘制包含曲线的独特图形

以特定方式使用 tikz 绘制包含曲线的独特图形

我有兴趣用 tikz 绘制下图

在此处输入图片描述

我(认为)知道如何使用 \draw 和填充来绘制贝塞尔曲线,但我希望顶部曲线是依赖于参数的函数的精确图形,如 f(x)=cos(kx) 或 f(x)=exp(kx),我可以调整参数 k 以便稍后为我的 tikz 图形制作动画。我的问题是我不知道如何使用 \draw 将所有内容连接在一起,以及如何使用实际函数绘制顶部曲线以及下方的绿色填充。我将不胜感激所有帮助。

答案1

plot您可以使用同一个命令添加点和\draw

像这样:

\documentclass[tikz,border=2mm]{standalone}

% example of a function with a parameter \k
\tikzset{declare function={f(\x,\k)=0.5*cos(2*\x r)+\k;}}

\begin{document}
\begin{tikzpicture}
\draw (0,3) |- (4,0) -- (4,3);
\draw[fill=green!20] plot[samples=101,domain=0:4] (\x,{f(\x,2)}) -- (4,0) -| cycle;
\end{tikzpicture}

\begin{tikzpicture}
\draw (0,3) |- (4,0) -- (4,3);
\foreach[count=\ii]\i in {green,orange,yellow}
  \draw[fill=\i!20] plot[samples=101,domain=0:4] (\x,{f(\x,2.5-0.5*\ii)}) -- (4,0) -| cycle;
\end{tikzpicture}
\end{document}

第一个图

第二幅图

相关内容