1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Spherical-esque Coordiante System

  1. Dec 6, 2006 #1
    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?
  2. jcsd
  3. Dec 13, 2006 #2
    I don't exactly know for what application you need that, but to define an angle you have to first define a function between two axes. If what you mean is "convert" something N-1 D to N D coordinates, I think you take it as if the added value can be arbitrary.
  4. Dec 13, 2006 #3
    Use the dot product.
  5. Dec 13, 2006 #4
    This is one of doing it:

    x=r cos(phi)
    y=r sin(phi) cos(theta)
    z=r sin(phi) sin(theta) cos(omega)
    w=r sin(phi) sin(theta) sin(omega)
  6. Dec 13, 2006 #5
    Ok I think I can see how it generalizes now. If I have a coordinate system for (N-1) D, I can just define an angle between (N-1) space and the Nth dimension, and then project into (N-1) space and then use the (N-1) coordinate system with the projection prepended.

    So in 2D we have
    x = r*cos(phi)
    y = r*sin(phi).
    Then when I add a third dimension, I define theta as the angle between the 2D space and the new dimension, then project r onto the 2D space with cos(theta), and get
    x = r*cos(theta)*cos(phi)
    y = r*cos(theta)*sin(phi). Then project onto the 3rd D to get the final piece,
    z = r*sin(theta).

    So for 4D I would define omega as the angle between 3D and the 4th D, and let the projection be cos(omega) into 3D to get
    x = r*cos(omega)*cos(theta)*cos(phi)
    y = r*cos(omega)*cos(theta)*sin(phi)
    z = r*cos(omega)*sin(theta)
    w = r*sin(omega)
    where all I did was prepend cos(omega) to the (N-1) projections and then define the new coordinate as r*sin(omega).
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook