如何用 Tikz 绘制三角形的圆覆盖

如何用 Tikz 绘制三角形的圆覆盖

我想修改答案这个帖子有两种方式:

  • 打包三角形
  • 在每个圆的中心放置一个点,标签为 y_1,y_2,...

如何实现?提前致谢 :)

答案1

一种方法可能是用 s 替换绘制的圆圈node。下面是一个如何执行此操作的示例,但我会将解决方案中的一些问题留给您自己解决,包括三角形的最佳方向和大小等,这些在很大程度上取决于您的用例。

\documentclass[tikz]{standalone}
\usetikzlibrary{shapes.geometric,fit}
\pgfdeclarelayer{background}
\pgfsetlayers{background,main}
\begin{document}

\begin{tikzpicture}[x=3cm,y=3cm]
    \pgfmathsetmacro\rad{1.1}
    \begin{scope}[every node/.style={regular polygon,regular polygon sides=3,inner sep=0cm,minimum width=1.3cm}]
        \node[fill=blue!40!red,inner sep=.12cm] at (0,0) {};
        \foreach \i in {0,...,6}
            \node[fill=blue!30!red] at (60*\i:.30*\rad) {y$_\i$};
        \foreach \n [count=\i] in {7,...,18}
            \node[fill=blue!20!red] at  ({15+30*\i}:0.57*\rad) {y$_{\n}$};
        \foreach \n [count=\i] in {19,...,36}
            \node[fill=blue!10!red] (outer\i) at ({10+20*\i}:0.86*\rad) {y$_{\n}$};
    \end{scope}

    \begin{pgfonlayer}{background}
        \node[fit=(outer1) (outer10),circle,fill=red!40,minimum width=\rad,inner sep=0cm]{};    
    \end{pgfonlayer}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容