选择色轮上均匀分布的颜色

选择色轮上均匀分布的颜色

在下图中

在此处输入图片描述

我想用色轮上的颜色为每个图层中的矩形分配颜色,以便相邻图层中的颜色相隔 144 度。上下文$b_{1}b_{2}b_{3}b_{4}b_{5}$是来自布尔代数的元素字符串。水平位置表示元素的“位置”。以下是代码

\documentclass[paper=letter,fontsize=12pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{amssymb}
\usepackage{mathtools}
\begin{document}
\begin{tikzpicture}
    \node (b1)  at (-1.0, 0.25) {$b_{1}$};
    \node (b2)  at  (-1.0, 0.75) {$b_{2}$};
    \node (b3)  at (-1.0, 1.25) {$b_{3}$};
    \node (b4)  at  (-1.0, 1.75) {$b_{4}$};
    \node (b5)  at (-1.0, 2.25) {$b_{5}$};
    \draw (0, 0) -- ( 3.5, 0);
    \fill[blue!50!white]    (0, 0) rectangle (1.0, 0.5);
    \fill[green!50!white]   (1.5, 0.5) rectangle (2.5, 1.0);
    \fill[red!50!white]     (0.75, 1.0) rectangle (1.75, 1.5);
    \fill[red!50!white]     (3.0, 1.0) rectangle (3.5, 1.5);
    \fill[purple!50!white]    (0.75, 1.5) rectangle (1.5, 2.0);
    \fill[yellow!50!white]   (0.75, 2.0) rectangle (1.5, 2.5);
\end{document}

如果有更好的方法来完成此任务,请随时提及。

答案1

您可以使用hsb颜色模型,并将每行的色调增加 144 度。但您需要在加载包之前xcolor使用该选项加载包,才能使其正常工作。rgbtikz

\documentclass[border=10pt]{standalone}
\usepackage[rgb]{xcolor} 
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

    \foreach \i in {1,...,10} {
        \pgfmathparse{mod(\i*144,360)}
        \definecolor{current}{Hsb}{\pgfmathresult,.5,1}
        \node[fill=current, inner sep=10pt] at (\i, 0) {};
    }

\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

与 Jasper bur 相同:

\documentclass[border=10pt]{standalone}
\usepackage[rgb]{xcolor} 
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
        \draw[dotted] (0,0) circle(2);
        \foreach \i in {1,...,10} {
            \pgfmathparse{mod(\i*144,360)}
            \definecolor{current}{Hsb}{\pgfmathresult,.5,1}
            \node[fill=current, inner sep=6pt] at (\i*36:2) () {};
        }
        
    \end{tikzpicture}
\end{document}

输出:

在此处输入图片描述

相关内容