\documentclass{standalone} \usepackage{luamplib} \begin{document} \mplibtextextlabel{enable} \begin{mplibcode} beginfig(1); path globe, gap, ring[], limb[]; globe = fullcircle scaled 2cm; gap = fullcircle xscaled 3cm yscaled .8cm; ring1 = fullcircle xscaled 4cm yscaled 1.2cm; ring2 = ring1 scaled 0.93; ring3 = ring1 scaled 0.89; limb1 = buildcycle(subpath(5,7) of ring1, subpath(8,4) of globe); limb2 = buildcycle(subpath(5,7) of gap, subpath(-2,6) of globe); picture saturn; saturn = image( fill ring1 withcolor .1 red + .1 green + .4 white; fill ring2 withcolor .2 white; fill ring3 withcolor .1 red + .1 green + .6 white; unfill gap; fill limb1 withcolor .2 red + .1 green + .7 white; fill limb2 withcolor .2 red + .1 green + .7 white; ); draw saturn rotated 30; endfig; \end{mplibcode} \end{document}