This is my code, as you can see it is pretty simple.
But I know it can be written way more easily with the appropriate use of \for.
Unfortunately, I am still learning and can't seem to make it work with arc. My main concern is with the origin of the arc, it should go around somehow...
\documentclass[letterpaper, 12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[yscale=-1]
\foreach \a in {0, 5,...,45}
\draw[Azure4] (\a:6.7) -- (\a:7);
\draw[very thick] (7,0) arc (0:45:7cm);
\foreach \a in {90, 95,...,135}
\draw[Azure4] (\a:6.7) -- (\a:7);
\draw[very thick] (0,7) arc (90:135:7cm);
\foreach \a in {180, 185,...,225}
\draw[Azure4] (\a:6.7) -- (\a:7);
\draw[very thick] (-7,0) arc (180:225:7cm);
\foreach \a in {270, 275,...,315}
\draw[Azure4] (\a:6.7) -- (\a:7);
\draw[very thick] (0,-7) arc (270:315:7cm);
\foreach \a in {45, 50,...,90}
\draw[Azure4] (\a:4.7) -- (\a:5);
\draw[very thick] (0,5) arc (90:45:5cm);
\foreach \a in {135, 140,...,180}
\draw[Azure4] (\a:4.7) -- (\a:5);
\draw[very thick] (-5,0) arc (180:135:5cm);
\foreach \a in {225, 230,...,270}
\draw[Azure4] (\a:4.7) -- (\a:5);
\draw[very thick] (0,-5) arc (270:225:5cm);
\foreach \a in {315, 320,...,359}
\draw[Azure4] (\a:4.7) -- (\a:5);
\draw[very thick] (5,0) arc (360:315:5cm);
%Main rays
\foreach \a in {0, 45,...,359}
\draw[very thick] (\a:0) -- (\a:7);
%Main rays
\foreach \a in {0, 90,...,359}
\draw[very thick] (0, 0) -- (\a:7);
%Central point
\draw[fill=black] (0,0) circle(0.7mm);
\end{tikzpicture}
\end{center}
\end{document}
So I already can simplify some stuff, but I am still not able to simplify the arc part.
\documentclass[letterpaper, 12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[yscale=-1]
\foreach \a in {0, 5,...,45, 90, 95,...,135, 180, 185,...,225, 270, 275,...,315}
\draw[Azure4] (\a:6.7) -- (\a:7);
\draw[very thick] (7,0) arc (0:45:7cm);
\draw[very thick] (0,7) arc (90:135:7cm);
\draw[very thick] (-7,0) arc (180:225:7cm);
\draw[very thick] (0,-7) arc (270:315:7cm);
\foreach \a in {45, 50,...,90, 135, 140,...,180, 225, 230,...,270, 315, 320,...,359}
\draw[Azure4] (\a:4.7) -- (\a:5);
\draw[very thick] (0,5) arc (90:45:5cm);
\draw[very thick] (-5,0) arc (180:135:5cm);
\draw[very thick] (0,-5) arc (270:225:5cm);
\draw[very thick] (5,0) arc (360:315:5cm);
%Main rays
\foreach \a in {0, 45,...,359}
\draw[very thick] (\a:0) -- (\a:7);
%Main rays
\foreach \a in {0, 90,...,359}
\draw[very thick] (0, 0) -- (\a:7);
%Central point
\draw[fill=black] (0,0) circle(0.7mm);
\end{tikzpicture}
\end{center}
\end{document}
Mainly because of the origin, I know where it goes but don't know how to implement it in a for loop. I am able to do the math necessary for the (beginAngle:endAngle:5cm) though... :)



\tikz\foreachinstead of the "usual"\begin{tikz}. Also, if you could explain the use of[evaluate={\r=mod(\i/45,2)*1+4;}]which I think is the most important part to understand, in order to modify the drawing. thanks in advance. – Sebastien Comtois Mar 04 '16 at 17:56