To learn about the 'clever list' that chromatic refers to, check 'binary space partitioning' on Wikipedia.
in reply to Creating a circle in a data structure
If you intend to draw circles and you get ovals, check to make sure that your pixels are square, and that the X and Y axes of your graphics system have the same scale factors. To check this, draw a square first. That way you won't have trigonometric problems or rounding problems while you verify your graphical coordinate system.
It should work perfectly the first time! - toma