I follow the
algebra in the midpoint circle algorithm article, but at the end, I'm still somehow skeptical? Even after implementing it and seeing how it works!
Squaring the previous x value then subtracting twice the current y value and also 1 and taking the square root of all of that gets you the next x value in the circle? Symbolic manipulation magic!
I suppose you can think of it as the square of x dropping by double y every time you go up a y (in the first quadrant). That's a bit easier to swallow.
Anyway, I'm a math caveman now.