summaryrefslogtreecommitdiff
path: root/info/drawing-with-metapost/src/gons.mp
blob: 417c598690942d588c2dfb575f1e2fe6f2393cd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
input colorbrewer-rgb
vardef gcd(expr a, b) = 
    if b = 0: a else: gcd(b, a mod b) fi 
enddef;
beginfig(1);
for n=2 upto 24: 
    for s=1 upto floor n/2:
        pair p; p = (12n - 24s, -24n);
        path gon; gon = (
            for t=0 upto n/gcd(s,n) - 1:
                10 up rotated (360/n * s * t) -- 
            endfor cycle);
        if (n mod s = 0): 
            fill gon shifted p withcolor PuBuGn[9][1+floor (n/s/6)];
            label("$" & decimal (n/s) & "$", p);
        fi
        draw gon shifted p withpen pencircle scaled 1/8;
    endfor
endfor
endfig;
\end{mplibcode}
\end{document}