Inspired by this popular ascii donut.
This rendition of the spinning donut is commented out and uses informative variable names to make the functionality clearer. (Most other spinning donuts I've seen aim for extremely short code).
Furthermore, this program does not use any libraries, except for printing out to a standard console. However, this could be changed to output the donut text to any interface.
Trigonometric, exponential, and some common math functions are approximated using built in floating point arithmetic instead.