@Bulleyes
I don't have a math text handy, but it sounds like you want spherical coords. Or possibly, cylindrical coords. might do. For cylindrical coords you're equations stay the same and z just becomes another variable:
x = m * cos(theta)
y = m * sin(theta)
z = C
Where C is a constant.
Spherical coords are a bit harder. Add another angle for "azimuth" (call it "gamma") - the so there are 3 coords in spherical-space: m, theta, gamma:
x = m * cos(theta) * sin(gamma)
y = m * sin(theta) * sin(gamma)
z = m * cos(gamma)
m is just the length from the origin to the point:
m = sqrt(x*x + y*y + z*z)
theta is still the angle of the line in the x-y plane:
theta = atanfull(y/x)
gamma is the angle relative to the x-y plane, we know z and we know m, so we just use the atan like the x-y case:
gamma = atanfull(z/m)
Give that a shot and see if it works for you...
Ed