Tikz:自定义圆形节点形状

Tikz:自定义圆形节点形状

我想制作一个带有两个节点的 tikz 绘图,就像我那张糟糕的绘图中所示的那样。(底部节点应该是圆形的,带有一些可以更薄的发散投影。顶部节点应该遵循底部节点的曲线 — 也许是一种粗弧?)

我还想在两个节点中放置一些文本(在顶部节点中,如果文本能够跟随曲线就好了。)但是,文本不是必需的。

这在 Tikz 中可能吗?

在此处输入图片描述

答案1

它实际上不是一个节点,但是运行得足够好:

代码

\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{decorations.text}

\newcommand{\StrangeNode}[4][scale=1]% options, upper text, lower text, size
{ \begin{scope}[#1]
        \clip (0,0) circle (2);
        \draw (250:1) -- ++(270:3) (290:1) -- ++(270:3);
        \draw (210:1) -- ++(230:3) (250:1) -- ++(230:3);
        \draw (290:1) -- ++(310:3) (330:1) -- ++(310:3);
        \draw (210:1) arc (210:-30:1);
        \draw (30:1.7) arc (30:-150:0.2);
        \draw (40:1.7) arc (40:30:1.7);
        \draw[postaction={decoration={text along path,
          text = {|#4|#2}, text align=center,raise=0.3ex},decorate}] (150:1.3) arc (150:30:1.3);
        \draw (150:1.3) arc (330:150:0.2);
        \draw (150:1.7) arc (150:140:1.7);
        \draw (140:1.7) -- ++(130:3) (120:1.7) -- ++(130:3);
        \draw (120:1.7) arc (120:100:1.7);
        \draw (100:1.7) -- ++(90:3) (80:1.7) -- ++(90:3);
        \draw (80:1.7) arc (80:60:1.7);
        \draw (60:1.7) -- ++(50:3) (40:1.7) -- ++(50:3);
        \begin{scope}
        \clip (0,0) circle (1);
            \node[align=center,font=#4,transform shape] at (0,0) {#3};
        \end{scope}

    \end{scope}
}

\begin{document}


\begin{tikzpicture}
\StrangeNode{A strange game}{The\\ winning\\ move is not\\ to play}{\small}
\StrangeNode[shift={(5,0)},scale=1.5,rotate=45]{|\LARGE|ABC}{DDDD\\ EEEE}{\normalsize}
\end{tikzpicture}

\end{document}

输出

在此处输入图片描述

相关内容