在下图中
我想用色轮上的颜色为每个图层中的矩形分配颜色,以便相邻图层中的颜色相隔 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
使用该选项加载包,才能使其正常工作。rgb
tikz
\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}
输出: