The camera is at (0,0,1000) and the viewing window is the X-Y plane. You are looking “down” on the ball.
Based on the algorithm described here.
I also want to add more features to it, like different shapes, translucency, and reflection. At that point it may become too slow to run in the browser, at least at this resolution.
I need to figure out how to write bitmaps in node. That’s going to be a bit of a challenge since there doesn’t appear to be an existing implementation and the asynchronous file API is awkward for streaming data to disk.