如何绘制具有表面法线的二维树突形状?

如何绘制具有表面法线的二维树突形状?

我找到了绘制光滑树突的另一个答案:画出光滑的树枝状

我希望有人能帮助我扩展这个功能,以生成如下所示的带有边框和表面法线的树突示意图。我的想法是从上面的答案中复制树突代码并旋转它。但是,我在创建中心部分时遇到了麻烦。

在此处输入图片描述

答案1

这是使用其他答案拼凑连续路径的一种方法。我没有时间进行微调。您只需从这个答案并使用 使其成为一种样式insert path。然后可以移动和旋转补丁,并且,这里重要的是,将其组合成更长的路径。

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}[thick,scale=0.4,
 dentrite leg/.style={insert path={% based on https://tex.stackexchange.com/a/182966/121799
    foreach \X in {0,...,10} 
    { -- ++(0.25,5-0.4*\X) -- ++(0.5,0) -- ++(0.25, -5+0.4*\X) -- ++(0.5,0) }
    -- ++(0.3,1) to[out=0,in=135] ++(2,-1.5) coordinate(dentrite-top-#1)
    to[out=-135,in=0] ++(-2,-1.5)   -- ++(-0.3,1)
    foreach \X in {10,9,...,0} 
    { -- ++(-0.5,0)-- ++(-0.25, -5+0.4*\X)-- ++(-0.5,0)  -- ++(-0.25,5-0.4*\X)  }
    }}]
  \path foreach \X in {0,1,2,3} {(45-90*\X:6) + (-45-90*\X:-0.5)coordinate (X\X)};
   \draw[fill=green!70!blue,rotate=45,rounded corners=1mm] (X0) [dentrite leg=0] 
   [rotate=-90] to[out=45,in=-225] (X1)   [dentrite leg=1]
   [rotate=-90] to[out=45,in=-225] (X2)   [dentrite leg=2]
   [rotate=-90] to[out=45,in=-225] (X3)   [dentrite leg=3]
   [rotate=-90] to[out=45,in=-135] cycle;
   \draw[-latex] (dentrite-top-3) -- ++ (135:1) node[above left]{$\vec n$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

我知道这可能不是您想要的图片的最终版本。您需要在这里和那里进行调整才能达到目标,我专注于简单的事情。

相关内容