Very neat. The use of COS and SIN is quite CPU expensive, however.
Search for Bresenham's Circle Algorithm and you can find code that will draw a circle using only integer variables with simple addition/subtraction!
Combine this with a circle's symmetry and algorithms to check for screen...