如何在 TikZ 中创建下图(平滑闭合曲线)

如何在 TikZ 中创建下图(平滑闭合曲线)

我想绘制下图:

在此处输入图片描述

中间的四叶草形状使用极坐标绘制并不难,例如,

\begin{tikzpicture}

\draw[domain=0:360, scale=1,samples=500] plot (\x: {1.5*sin(2*\x)});
\draw[domain=180:270, scale=1,samples=500] plot (\x: {sin(2*\x)});

\end{tikzpicture}

但我在其他循环上遇到了问题。我尝试使用

\draw plot[smooth cycle]

并手动插入合适的坐标,我无法获得平滑的曲线。有什么建议吗?

PS:最终结果不必与图中所示完全相同。但是,两个小形状和两个大形状应该相互对称。

提前致谢!

答案1

这可能是一个起点:

\documentclass[tikz,border=7mm]{standalone}
\begin{document}
  \begin{tikzpicture}[rotate=90,fill opacity=.1,scale=3]
    \draw[red]
      (0,0) to[relative,in=190,out=0] (0,1)
      (0,0) to[relative,in=170,out=0] (-1,0);
    \draw[red,scale=.5] (0,0) .. controls +(-.5,0) and +(-.1,-.1) .. (-.5,.5) .. controls +(.1,.1) and +(0,.5) .. (0,0);

    \foreach~in{0,90,180,270}
      \filldraw[rotate=~] (0,0) .. controls +(-.5,0) and +(-.1,-.1) .. (-.5,.5) .. controls +(.1,.1) and +(0,.5) .. (0,0);

    \foreach~in{1,-1}
      \filldraw[yscale=~,rotate=45-~*45]
        (0,0) .. controls +(0,.55) and +(-.1,-.1) .. (-.3,.7) .. controls +(.1,.1) and +(0,.55) .. (0,0)
        (0,0) .. controls +(0,.8) and +(-.4,.1) .. (0,1) .. controls +(.3,-.1) and +(0,.7) .. (0,0);
  \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容