Hi there,
I think I have found a bug. screentosphere() returns the wrong value on the iPhone, both in the device and in the simulator. I was able to fix the problem by dividing the "x" and "y" values by 2 before calling screentosphere().
All the best,
Manuel