# Generic Symmetric Drawing

I'm trying to prove something and I need a clear drawing to be able to derive the angles and so on. So I thought why not draw it LaTeX !

Okay so my drawing is as such

Those are the cases of 8/6 and 6/4 I need to get up to higher orders with accurate drawings. The ones labeled with red are the ones to be always aligned in all the drawings.

Can someone help me create something generic or at least a sample for me to start from so that I could reach 12/8 , 16/14 and so on ? Some cases like 6/8 are to be considered as well.

## 2 Answers

pics are very powerful tikz components, because they accept input arguments besides being treated the same way as nodes (small differences though).

\documentclass[tikz,border=2pt]{standalone}

\begin{document}

\tikzset{
pics/numcirc/.style args={#1/#2}{
code = {
\draw circle (1);
\foreach \i in {1,...,#1}
\draw (90+\i*360/#1:1) -- (90+\i*360/#1:1.5);
\foreach \i in {1,...,#2}
\draw (90+\i*360/#2:0) -- (90+\i*360/#2:0.5);
}}}

\begin{tikzpicture}

\draw pic at(0,0) {numcirc=8/6};
\draw pic at(4,0) {numcirc=6/4};
\draw pic at(8,0) {numcirc=12/8};

\end{tikzpicture}

\end{document}


Here is a starting point. The idea is to use polar coordinates (I love polar coordinates) given by (angle:radius).

\documentclass{report}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[thick]
\foreach \a in {0,45,...,315}{
\draw (\a:2)--(\a:3);
}
\foreach \a in {0,60,...,300}{
\draw[red] (0,0)--(90+\a:1.8);
}

\draw (0,0) circle (2cm);
\end{tikzpicture}
\end{document}


Some improvements: thanks for @AboAmmar

\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\def\numA{}
\def\numB{}
\newcommand{\target}[2]{%
\renewcommand{\numA}{#1}
\renewcommand{\numB}{#2}
\begin{tikzpicture}[thick]
\foreach \i in {1,...,\numA}{%
\draw (\i*360/\numA:2) -- (\i*360/\numA:3);
}
\foreach \i in {1,...,\numB}{%
\draw[red] (0,0) -- (90+\i*360/\numB:1.7);
}

\draw (0,0)node[below=3cm]{\Large$\numA/\numB$} circle (2cm);
\end{tikzpicture}
}

\begin{document}
\target{8}{6}\target{6}{4}\target{12}{6}
\end{document}