The planet and a ring are easily drawn. The challenge is to layer them in such a way that the far side of the ring is hidden from view behind the planet, and the near side of the ring eclipses the planet in the foreground. My instinct tells me that this can be done using clipping, scopes, or the backgrounds package, but I apparently lack the cleverness to turn the trick.

Instead of filling the interior of the ring with white, the code uses option even odd rule for filling. The "white" interior is specified twice for filling. According to that rule, it is not filled with the fill color.

I tried to learn MetaPost a bit, did not see buildcycle yet. You made a lot of impressive examples here. Would you like to write a MetaPost article on LaTeX-Community.org on MetaPost which explains some clever features, motivating potential learners with such nice images? I gladly return the favor with a 500 bounty, but more important is that readers there will like it for sure and we will bring MetaPost again in a focus. You could contact me via stefan@texblog.net if you like.
–
Stefan Kottwitz♦Jan 28 at 15:37