Warp, thanks for code snippet, it's actually pretty useful to trying to understand all this. Unfortunately, I'm at my parent's place for the holiday's without access to my development tools so I won't be able to try anything out. But I figure once I get a handle on this "difference between consecutive circles" idea I should be able to develop an algorithm for calculating where the nth pixel goes given some sort of "speed" variable.
For trig functions:
CORDIC is used very frequently in DSP applications where you may not have a FPU (or even Fixed Point) multiply/divide unit available.