
Me pregunto cómo llenar un área específica con puntos punteados. Quiero llenar el área verde con puntos aleatorios verdes y, en lugar del área roja, quiero llenarla con un punto aleatorio rojo y el área blanca con puntos aleatorios azules. Aquí está mi código:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}
%\usepackage{xcolor,pict2e}% to allow any radius
\tikzset{pics/myarc/.style args={inner #1 and outer #2 with fill #3}{
code={
\draw[very thick, #1] (1,0) arc (0:90:1cm);
\draw[very thick] (0,1) -- (0,2);
\draw[very thick, #2] (0,2) arc (90:0:2cm);
\draw[very thick] (2,0) -- (1,0);
\fill[#3] (1,0) arc (0:90:1cm) -- (0,2) arc (90:0:2cm) -- cycle;
}
}}
\begin{document}
\begin{tikzpicture}
\draw[very thick,<->] (-6,0) -- (6,0)node[anchor=north west] {$x$};
\pic [draw,very thick, rotate=-45] {myarc={inner blue and outer blue with fill green!}};
\pic [draw, very thick, rotate=45] {myarc={inner blue and outer blue with fill white}};
\pic [draw, very thick, rotate=135] {myarc={inner blue and outer blue with fill red!40}};
\pic [draw, very thick, rotate=225] {myarc={inner cyan and outer blue with fill white}};
\end{tikzpicture}
\end{document}
Cualquier ayuda será muy apreciada. Gracias
Respuesta1
Con puntos regulares.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,patterns}
%\usepackage{xcolor,pict2e}% to allow any radius
\tikzset{pics/myarc/.style args={inner #1 and outer #2 with fill #3}{
code={
\draw[very thick, #1] (1,0) arc (0:90:1cm);
\draw[very thick] (0,1) -- (0,2);
\draw[very thick, #2] (0,2) arc (90:0:2cm);
\draw[very thick] (2,0) -- (1,0);
\fill[pattern=dots,pattern color = #3] (1,0) arc (0:90:1cm) -- (0,2) arc (90:0:2cm) -- cycle;
}
}}
\begin{document}
\begin{tikzpicture}
\draw[very thick,<->] (-6,0) -- (6,0)node[anchor=north west] {$x$};
\pic [draw,very thick, rotate=-45] {myarc={inner blue and outer blue with fill green!}};
\pic [draw, very thick, rotate=45] {myarc={inner blue and outer blue with fill blue}};
\pic [draw, very thick, rotate=135] {myarc={inner blue and outer blue with fill red!40}};
\pic [draw, very thick, rotate=225] {myarc={inner cyan and outer blue with fill blue}};
\end{tikzpicture}
\end{document}
La aleatorización necesita más trabajo yesta preguntay sus respuestas deberían avisarle.
Y aquí hay un intento utilizando la estrategia deesta respuesta
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,patterns}
%\usepackage{xcolor,pict2e}% to allow any radius
\tikzset{pics/myarc/.style args={inner #1 and outer #2 with fill #3}{
code={
\draw[very thick, #1] (1,0) arc (0:90:1cm);
\draw[very thick] (0,1) -- (0,2);
\draw[very thick, #2] (0,2) arc (90:0:2cm);
\draw[very thick] (2,0) -- (1,0);
\clip (1,0) arc (0:90:1cm) -- (0,2) arc (90:0:2cm) -- cycle;
\foreach \x in {1,...,300}
{
\pgfmathrandominteger{\a}{5}{300}
\pgfmathrandominteger{\b}{5}{300}
\pgfmathrandominteger{\c}{30}{30}
\fill[#3] (0.01*\a,0.01*\b) circle (0.001*\c);
};
}
}}
\begin{document}
\begin{tikzpicture}
\draw[very thick,<->] (-6,0) -- (6,0)node[anchor=north west] {$x$};
\pic [draw,very thick, rotate=-45] {myarc={inner blue and outer blue with fill green!}};
\pic [draw, very thick, rotate=45] {myarc={inner blue and outer blue with fill blue}};
\pic [draw, very thick, rotate=135] {myarc={inner blue and outer blue with fill red!40}};
\pic [draw, very thick, rotate=225] {myarc={inner cyan and outer blue with fill blue}};
\end{tikzpicture}
\end{document}