使用 tikz 复制皇冠

使用 tikz 复制皇冠

我试图适应以下王冠:

在此处输入图片描述

到目前为止我想到的是这个草图:

在此处输入图片描述

\documentclass[tikz]{standalone}
\usepackage{tikzpagenodes}
\usetikzlibrary{arrows.meta}
\usepackage{xcolor-material}
\usepackage{graphicx}
\usepackage{fontspec}

\tikzstyle{linha} = [line width=7pt,MaterialGrey300]
\tikzstyle{linhafina} = [line width=3pt,MaterialGrey300]

\begin{document}

\begin{tikzpicture}
[every node/.append style={text=MaterialGrey300, 
font=\Huge},]
%\clip[fill=MaterialGrey800] (0,0) rectangle (20,20);
\fill[MaterialGrey800] (0,0) rectangle (20,20);
\draw[help lines,xstep=1,ystep=1] (0,0) grid (20,20);
\foreach \x in {0,1,...,20} { \node [anchor=north] at (\x,0) {\normalsize\x}; }
\foreach \y in {0,1,...,20} { \node [anchor=east] at (0,\y) {\normalsize \y}; }

%%%% crown %%%%%
\draw[linhafina%,{Round Cap[]}-{Round Cap[]}
] (8.75,14) -- (11.25,14);
\draw[linha,yshift=-6] (9,14) -- (11,14);
\draw[linhafina%,{Round Cap[]}-{Round Cap[]}
,yshift= -12] (8.75,14) -- (11.25,14);

\draw[linhafina,-{Circle[length=5pt,yellow!80!black]}] (10,14) -- (10,15.15);
\draw[linhafina,line width=2pt] (9.6,14) -- (10,15);
\draw[linhafina,line width=2pt] (10.4,14) -- (10,15);
\draw[linhafina,line width=1.5pt] (10,14.3) -- (10.5,15);
\draw[linhafina,line width=1.5pt] (10,14.3) -- (9.5,15);

\draw[linha,line width=1.5pt,-{Circle[length=3pt]}] (10,14.1) -- (9,15);
\draw[linha,line width=1.5pt,-{Circle[length=3pt]}] (10,14.1) -- (11,15);



\draw[linhafina,line width=1.5pt,-{Circle[length=3.5pt]}] (10,14.3) -- (10.5,15);
\draw[linhafina,line width=1.5pt,-{Circle[length=3.5pt]}] (10,14.3) -- (9.5,15);

\draw[linha,line width=1pt,-{Circle[length=3pt]}] (10,14.1) -- (9.3,14.9);
\draw[linha,line width=1pt,-{Circle[length=3pt]}] (10,14.1) -- (10.7,14.9);

\draw[linha,line width=1pt,-{Circle[length=3pt]}]  (9.6,14) -- (8.75,15);
\draw[linha,line width=1pt]  (9.25,14) -- (8.75,15);
\draw[linha,line width=1pt,-{Circle[length=3pt]}] (10.4,14) -- (11.25,15);
\draw[linha,line width=1pt] (10.75,14) -- (11.25,15);
\draw[linha,line width=1.5pt] (9.6,14) -- (9,15);
 \draw[linha,line width=1.5pt] (10.4,14) -- (11,15);

 \draw[linha,line width=1pt] (10.4,14) -- (10.7,14.9); 
  \draw[linha,line width=1pt] (9.6,14) -- (9.3,14.9);

\draw[linha,line width=1pt] (10.4,14) -- (10.45,14.95);
\draw[linha,line width=1pt] (9.6,14) -- (9.3,14.9);
%%%%%%%%%%%%

\end{tikzpicture}

\end{document}

我相信还有一种更简单的方法,即使用节点绘制线条,但此刻困扰我的是线条的尖端略微凸出圆圈(如果放大图像你就会注意到)。

顶部有一个十字架,就像模型图像那样(或者甚至是一个百合花,也很好),尽管这不是我现在的首要任务。

任何建议都将非常感激。

答案1

我并不是说这是一个完美的复制品,但我想提请你注意pic,这在绘制(或多或少)重复的东西时可以说有很大帮助。

\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[line join=round,pics/corona/.style={code={
 \draw[line width=2.5mm,fill] 
  (-8,0) -- (-10,5)-- (-6+#1,0) -- (-5+#1,5) -- (0,0) -- (5-#1,5)-- (6-#1,0) -- (10,5) --
  (8,0) -- (9.4,4) -- (6-#1,0) -- (4.8-#1,4) -- (0,0) -- (-4.8+#1,4) -- (-6+#1,0) --
  (-9.4,4) -- cycle foreach \X in {-10,\the\numexpr-5+#1,\the\numexpr5-#1,10}
  {(\X,5) circle[radius=3mm]};}},
  pics/bar/.style={code={\draw (-0.4,0) -- (0.4,0);}}]
  \path pic{corona=0} pic[scale=0.8]{corona=2};
  \draw[line width=3mm,fill] (-5,0) -- (0,6) -- (5,0) -- (0,5) -- cycle;
  \draw[line width=7mm] (0,0) -- (0,5.5);
  \fill (-8.4,0.2) -- (8.4,0.2) |- (8,-1) |- (8.4,-2) |- (-8.4,-3) |- (-8,-2)
  |- (-8.4,-1) -- cycle;
  \draw[line width=2mm]  (0,6) -- (0,8)  pic[pos=0.2]{bar} pic[pos=0.8]{bar}
   (-1,7) -- (1,7) pic[pos=0.2,rotate=90]{bar} pic[pos=0.8,rotate=90]{bar};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容