Maṇḍala means "circle" in Sanskrit. Mandalas are concentric diagrams, which have a spiritual and ritual meaning in both Buddhism and Hinduism.
Here we use TikZ for drawing such geometric patterns. The fading slows down the compilation.
Edit and compile if you like:
% Mandala % Author: Elena Botoeva \documentclass{article} \usepackage[margin=0.3cm, paperwidth=8.4cm, paperheight=8.4cm]{geometry} \usepackage{tikz} \usetikzlibrary{shadows} \usetikzlibrary{fadings} \tikzfading[name=fade out, inner color=transparent!0, outer color=transparent!100] \def\petal { [rounded corners=0.5] % (-1,0)% .. controls (-1,0.6) and (-0.07,0.8).. (0,1)% .. controls (0.07,0.8) and (1,0.6).. (1,0)% .. controls (0.7,-1) and (-0.7,-1).. (-1,0)% } %%%%% circles in the background %%%%% \def\background[#1,#2]{ \fill[#1] (0,0) circle (3.9); \fill[#2] (0,0) circle (1); } %%%%% star and small circle in the center %%%%% \def\center[#1]{ \foreach \a in {51.4285,102.857,...,360} { % \draw[color=yellow,rotate=\a,fill=#1] (-0.08,0) -- (0,0.46) -- (0.08,0); % } \draw[color=yellow,fill=#1] (0,0) circle (0.1); } %%%%%%%%%% Mandala with fixed colouring %%%%%%%%%% \def \mandala { \background[red!30!blue!70!black,blue!70!yellow!50]; % ysh - yshift % xs - xscale % ys - yscale % af - first angle in foreach % as - second angle in foreach % y - number in the color specification after yellow % b - number in the color specification before blue % r - number in the color specification of the shading after red % bl - number in the color specification of the shading before black \foreach \ysh/\xs/\ys/\af/\as/\y/\b/\w/\r/\bl in {% 3.06/0.72/0.8/ 25.71425/51.4285/ 70/100/100/ 100/100,% 2.34/1/0.9/ 25.71425/77.14275/ 6/90/92/ 80/80,% 1.8/0.8/0.9/ 51.4285/102.857/ 0/75/100/ 60/70,% 1.5/0.6/0.6/ 25.71425/77.14275/ 0/55/100/ 40/60,% 1.1/0.53/0.58/ 51.4285/102.857/ 0/40/100/ 20/50,% 0.8/0.37/0.45/ 25.71425/77.14275/ 0/45/85/ 20/40,% 0.53/0.1/0.24/ 25.71425/77.14275/ 0/10/100/ 0/30,% 0.49/0.22/0.32/ 51.4285/102.857/ 0/10/100/ 0/50% } { \foreach \a in {\af,\as,...,360} { \begin{scope}[rotate=\a,shift={(0,\ysh)},xscale=\xs,yscale=\ys] \draw[color=yellow,fill=yellow!\y!red!\b!blue!\w] % [drop shadow={shadow xshift=0.5pt, shadow yshift=-0.5pt}] \petal; \end{scope} \begin{scope}[transform canvas={rotate=\a},shift={(0,\ysh)},xscale=\xs,yscale=\ys] \clip \petal; % \fill[path fading=fade out,fill=red!\r!blue!\bl!black, opacity=0.7]% (0,-0.35) ellipse (1.2 and 0.75); \fill[path fading=fade out,fill=red!\r!blue!\bl!black, opacity=0.3]% (0,-0.2) ellipse (1.2 and 0.4); \fill[path fading=fade out,fill=red!\r!blue,opacity=0.2] % (-0.4,0.6) -- (0,0.9) -- (0.4,0.6); \end{scope} } } \center[blue] } %%%%%%%%%% End of Mandala with fixed colouring %%%%%%%%%% %%%%% one layer of petals %%%%% \def\mainbody{ \foreach \a in {\af,\as,...,360} { \begin{scope}[rotate=\a,shift={(0,\ysh)},xscale=\xs,yscale=\ys] \draw[color=yellow,fill=\c] % [drop shadow={shadow xshift=0.5pt, shadow yshift=-0.5pt}] \petal; \end{scope} % fadings \begin{scope}[transform canvas={rotate=\a}, shift={(0,\ysh)},xscale=\xs,yscale=\ys] \clip \petal; % \fill[path fading=fade out,fill=\fc, opacity=0.7]% (0,-0.35) ellipse (1.2 and 0.75); \fill[path fading=fade out,fill=\fc, opacity=0.3]% (0,-0.2) ellipse (1.2 and 0.4); \fill[path fading=fade out,fill=\fc,opacity=0.2] % (-0.4,0.6) -- (0,0.9) -- (0.4,0.6); \end{scope} } } %%%%%%%%%%% Mandalas with parametrized colouring %%%%%%%%%% % #1 - the color of the outer most (first) layer % #2 - the color of the third layer % #3 - the color of the fifth layer % #4 - the color of the seventh layer % #5 - the color of the fading, gets denser closer to the center \def \mandalac[#1,#2,#3,#4,#5]{ \background[#3!30!#4!70!#5,#4!70!#2!50]; % ysh - yshift % xs - xscale % ys - yscale % af - first angle in foreach % as - second angle in foreach % c - color of the petal % fc - color of the fading \foreach \ysh/\xs/\ys/\af/\as/\c/\fc in {% 3.06/0.72/0.8/ 25.71425/51.4285 /#1/#1!50!#2!90!#5,% 2.34/1/0.9/ 25.71425/77.14275/#1!50!#2/#2!80!#5,% 1.8/0.8/0.9/ 51.4285/102.857 /#2/#2!50!#3!70!#5,% 1.5/0.6/0.6/ 25.71425/77.14275/#2!50!#3/#3!60!#5,% 1.1/0.53/0.58/ 51.4285/102.857 /#3/#3!50!#4!50!#5,% 0.8/0.37/0.45/ 25.71425/77.14275/#3!50!#4/#4!40!#5,% 0.53/0.1/0.24/ 25.71425/77.14275/#4/#4!50!#5,% 0.49/0.22/0.32/ 51.4285/102.857 /#4/#4!50!#5% } { \mainbody } \center[#4] } % #1 - the color of the outer most (first) layer % #2 - the color of the second layer % #3 - the color of the third layer % #4 - the color of the forth layer % #5 - the color of the fifth layer % #6 - the color of the sixth layer % #7 - the color of the seventh layer % #8 - the color of the fading, gets denser closer to the center \def \mandalab[#1,#2,#3,#4,#5,#6,#7,#8]{ \background[#6!30!#7!70!#8,#7!70!#4!50]; % ysh - yshift % xs - xscale % ys - yscale % af - first angle in foreach % as - second angle in foreach % c - color of the petal % fc - color of the fading \foreach \ysh/\xs/\ys/\af/\as/\c/\fc in {% 3.06/0.72/0.8/ 25.71425/51.4285 /#1/#2!90!#8,% 2.34/1/0.9/ 25.71425/77.14275/#2/#3!90!#8,% 1.8/0.8/0.9/ 51.4285/102.857 /#3/#4!80!#8,% 1.5/0.6/0.6/ 25.71425/77.14275/#4/#5!80!#8,% 1.1/0.53/0.58/ 51.4285/102.857 /#5/#6!70!#8,% 0.8/0.37/0.45/ 25.71425/77.14275/#6/#7!70!#8,% 0.53/0.1/0.24/ 25.71425/77.14275/#7/#7!50!#8,% 0.49/0.22/0.32/ 51.4285/102.857 /#7/#7!50!#8% } { \mainbody } \center[#7] } %%%%%%%%%%% End of Mandalas with parametrized colouring %%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%% BEGIN DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%% \pagestyle{empty} \setlength{\parindent}{0pt} \begin{document} \tikz\mandala; \tikz\mandalac[magenta!30!,magenta,purple,violet,]; \tikz\mandalac[blue!40!black,violet,purple,pink,]; \tikz\mandalac[lime!90!black,yellow!95!black,orange,red,]; \tikz\mandalac[green!80!black,yellow,pink,purple!90!,red]; \tikz\mandalab[green!50!black, green!60!black, green!70!black!80!, green!50!, green!10!, pink!40!, red!40!,]; \tikz\mandalab[blue!30!black, blue!40!black, blue!60!black, blue!70!black!80!, blue!50!, yellow!40!, yellow!70!,]; \end{document}
Click to download: mandala.tex • mandala.pdf
Open in Overleaf: mandala.tex