使用 TikZ 平滑凹陷圆圈

使用 TikZ 平滑凹陷圆圈

我尝试创建一个带有凹口的圆圈。

我的代码没有产生预期的结果,因为有些区域看起来不平滑,并且在位置 (3,0) 处线条出现断点。我设置的控制点是猜测的。

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture} 
    \draw (0,0) .. controls (1,1)   and (2,1)    .. (3,0);
    \draw (0,0) .. controls (-1,0)  and (-3,3)   .. (0,5);
    \draw (0,5) .. controls (1,5.5) and (2,5.5)  .. (3,5);
    \draw (3,5) .. controls (5.5,4) and (4.5,0)  .. (3,0);    
\end{tikzpicture}

\end{document}

TikZ 中是否有任何(自动)功能可以创建平滑的凹痕圆圈?

谢谢。

在此处输入图片描述

答案1

这可以使用贝塞尔曲线来完成而不会出现任何问题,但最好在一条曲线中完成,并对控制点进行精细控制:

贝塞尔曲线

\documentclass{article}
\usepackage{tikz}

\begin{document}

    \begin{tikzpicture}[line width=2pt,cyan] 
        \draw   (0,0)   .. controls ++(.75,0)   and ++ (-.75,0) ..
                (2,.5)  .. controls ++(.75,0)   and ++ (-.75,0) ..
                (4,0)   .. controls ++(3,0)     and ++ (4,0) ..
                (2,6)   .. controls ++(-4,0)    and ++ (-3,0) ..
                (0,0) ;
    \end{tikzpicture}

\end{document}

这里我使用了控制点的相对位置(因此带有++controls,这样就可以移动绘图点而不必更改所有内容。只需尝试一下即可。

答案2

在形状上覆盖一个网格(描图纸?),添加尽可能多的点,然后生成连接它们的平滑图。

\documentclass{standalone}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture} 
    \draw[smooth cycle] plot[tension=0.9] coordinates{(-0.5,0) (1.5,0.5) (3.5,0) (4.5,2.5) (3,5) (0,5) (-1.5,2.5)};
\end{tikzpicture}

\end{document}

相关内容