Cómo mostrar filas de círculos de colores aleatorios

Cómo mostrar filas de círculos de colores aleatorios

Me gustaría tener 5 filas de círculos de colores al azar. Aquí está mi MWE:

\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\setbeamersize{text margin left=10mm,text margin right=5mm} 
\setbeamertemplate{frametitle}[default][center]
\usepackage{tikz}

\newcommand{\tikzcircle}[2][red,fill=red]{\tikz[baseline=-0.5ex]\draw[#1,radius=#2] (0,0) circle ;}%


\begin{document}
\begin{frame}{The counting problem}
\foreach \x in {1,2,...,100}  {\tikzcircle{2pt}}
\end{frame}

\end{document}

No estoy seguro de cómo elegir los colores al azar o cómo hacer que los círculos se ajusten para que llenen el espacio que normalmente llenaría el texto.

Si es posible, sería fantástico si pudiera elegir colores al azar con reemplazo de un conjunto cuyo tamaño pueda especificar. Por ejemplo, elija los colores al azar y reemplácelos de un conjunto de 10 colores.

Respuesta1

Puedes empezar con algo como esto. El código para \randomcolorfue tomado deGenere colores aleatorios de una manera que funcione tanto con pdflatex como con lualatex

\documentclass{beamer}

\beamertemplatenavigationsymbolsempty
\setbeamersize{text margin left=10mm,text margin right=5mm} 
\setbeamertemplate{frametitle}[default][center]
\usepackage{tikz}

\newcommand{\randomcolor}{%
    \pgfmathsetmacro{\R}{random(0,10000)/10000}%
    \pgfmathsetmacro{\G}{random(0,10000)/10000}%
    \pgfmathsetmacro{\B}{random(0,10000)/10000}%
    \definecolor{randomcolor}{rgb}{\R,\G,\B}%
}

\newcommand{\tikzcircle}[1]{\randomcolor\tikz[baseline=-0.5ex]{\fill[randomcolor,radius=#1]circle;}}%


\pgfmathsetseed{\number\pdfrandomseed} % seed for random generator


\begin{document}

\begin{frame}{The counting problem}

\foreach \j in {1,2,...,5} {\foreach \i in {1,2,...,10} {\tikzcircle{.05\textwidth}}\\}

\end{frame}
\end{document}

ingrese la descripción de la imagen aquí

Actualización: colores limitados

El siguiente código muestra una alternativa para seleccionar colores de un conjunto limitado. El conjunto se define en una TikZmatriz y el color se selecciona con un índice aleatorio.

\documentclass{beamer}

\beamertemplatenavigationsymbolsempty
\setbeamersize{text margin left=10mm,text margin right=5mm} 
\setbeamertemplate{frametitle}[default][center]
\usepackage{tikz}

\def\mycolors{{"red","green","blue","brown","pink","violet","orange","cyan","yellow"}}
    
\newcommand{\tikzcircle}[1]{%
    \pgfmathsetmacro{\mycolorindex}{random(0,8)}%
    \pgfmathsetmacro{\mycolor}{array(\mycolors,\mycolorindex)}%
    \tikz[baseline=-0.5ex]{\fill[\mycolor,radius=#1]circle;}}%

\pgfmathsetseed{\number\pdfrandomseed} % seed for random generator

\begin{document}

\begin{frame}{The counting problem}

\foreach \j in {1,2,...,5}{\foreach \i in {1,2,...,10}{\tikzcircle{.05\textwidth}}\\}

\end{frame}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Intenta jugar con los parámetros del generador de números aleatorios, manteniendo la misma semilla.

Por ejemplo

\documentclass{beamer}

\beamertemplatenavigationsymbolsempty
\setbeamersize{text margin left=10mm,text margin right=5mm} 
\setbeamertemplate{frametitle}[default][center]
\usepackage{tikz}

\newcommand{\randomcolor}{%
    \pgfmathsetmacro{\R}{random(0,1)/2}%
    \pgfmathsetmacro{\G}{random(0,1)/2}%
    \pgfmathsetmacro{\B}{random(0,1)/1}%
    \definecolor{randomcolor}{rgb}{\R,\G,\B}%
}

\newcommand{\tikzcircle}[1]{\randomcolor\tikz[baseline=-0.5ex]{\fill[randomcolor,radius=#1]circle;}}%


%\pgfmathsetseed{\number\pdfrandomseed} % seed for random generator


\begin{document}

\begin{frame}{The counting problem}

\foreach \j in {1,2,...,5}{\foreach \i in {1,2,...,10}{\noindent\tikzcircle{.05\textwidth}}\\}

\end{frame}
\end{document}
    

producirá 2x2x2 = 8 colores diferentes. (R= 0 o 0,5, etc.)

menos colores

información relacionada