Is there a generalization of the 2D or 3D spherical coordinate system to N-dimensions? I want to represent points in the space as a distance r from something, and then a bunch of angles. If this works for arbitrary dimensions, what's the rule for defining the newest angle each time I add a dimension? In case that's not clear, what I want to know is, if I have a point in 3D (x,y,z) I can also call it (r,phi,theta). But if I have a point in 4D (x,y,z,w), and I want to call it (r,phi,theta,omega), how do I compute omega?