| Thread Closed |
16 different spherical coordinate systems |
Share Thread | Thread Tools |
| Aug21-09, 01:33 PM | #1 |
|
|
16 different spherical coordinate systems
I've tabulated 16 possible ways of creating different spherical coord systems, and attached an image below to demonstrate them all. They are all spheres, though the coordinate system is different for each one. Assume an orthographic projection.
Some are blanked out, since they are similar to the others but simply rotated, so essentially, there are 10 systems really in total. System "I" is the one in common use, used for the geographical coord system (and effectively a rotation of the standard spherical coord system). For that one, all of the 'curved' vertical lines meet at the north and south pole (creating a terry's chocolate orange type effect), whilst all the straight horizontal lines are parallel with each other. On the other hand, something like system "G", has 4 of these points where all the lines meet (west and east sides, as well as the 2 usual north and south poles). What I want to know is do some of the other nine systems have special names too (and what are they?). And why does (the rotated version of) system 'I' get exclusive access to the name of "spherical coords", when some of the others look just as interesting and useful (particularly systems A, B, D, and G which are more 'symmetric') ?
|
| Aug24-09, 10:13 PM | #2 |
|
Recognitions:
|
Why do you want to pay somebody for the solutions? Is this a homework assignment?
Anyway, A is trivial. It already IS in cartesian coordinates. Just use the equation of a sphere [tex]x^2 + y^2 + z^2 = r^2[/tex] and solve for x. |
| Aug24-09, 10:55 PM | #3 |
|
Blog Entries: 3
|
I'm going to presume they all have a radial coordinate.
So for A [tex]x=r*x'[/tex] [tex]y=r*y'[/tex] [tex]z=\pm \sqrt{r^2-((r \ x')^2+(r \ y')^2)}[/tex] [tex]r=sqrt(x^2+y^2+z^2)[/tex] [tex]x'=x/r[/tex] [tex]y'=y/r[/tex] For B [tex]x=r*sin(x') \ \ -\pi<x'<\pi[/tex] [tex]y=r*sin(y') \ \ -\pi<y'<\pi[[/tex] [tex]z= \pm \sqrt{r^2-(r*cos(x'))^2-(r*sin(x'))^2}[/tex] [tex]r=sqrt(x^2+y^2+z^2)[/tex] [tex]x'=asin(x/r)[/tex] [tex]y'=asin(y/r)[/tex] For C [tex]x=r*sin(x') \ \ -\pi<x'<\pi[/tex] [tex]y=r*y'[/tex] [tex]z= \pm \sqrt{r^2-(r*sin(x'))^2-(r*y')^2}[/tex] [tex]r=sqrt(x^2+y^2+z^2)[/tex] [tex]x'=asin(x/r)[/tex] [tex]y'=y/r[/tex] I'll have to think about the other ones but what is the difference between H3 and H4? |
| Aug24-09, 11:45 PM | #4 |
|
|
16 different spherical coordinate systems
I think you are maybe confusing a few things.
A geographical coordinate system, like your "I" diagram, is an arbitrary designation of lines of reference on a surface. These lines could be crazy zig-zag diagonals or whatever you want. The only point is that you have a common set of references (e.g., one degree above the primary equatorial zig-zag line, etc.) so everybody can understand what everyone else is referring to. A mathematical coordinate system is entirely different. The way the lines are specified is not arbitrary. The coordinate directions must satisfy the property of mutual orthogonality. Also, the coordinate directions are not necessarily fixed at the origin, and instead, they may depend on where you are referencing from the point in space. For example, in cartesian coordinates, anywhere you look in space, the coordinate directions are fixed. Whereas in spherical coordinates, the radial vector points in a different direction for every point in space. In other words, you can't just draw a series of lines on a globe and then talk about it as another type of coordinate system. You aren't talking about new mathematical coordinate systems, you are just talking about different sets of lines on the surface of a sphere. That's why there aren't any names for the things you've drawn; they don't have any mathematical significance. |
| Aug25-09, 01:35 AM | #5 |
|
Blog Entries: 3
|
Anyway, continuing. For G you need to use equations like:
[tex][x,y,z] \cdot [0,sin(y'),cos(y')]=0[/tex] [tex]x^2+y^2+z^2=r^2[/tex] [tex][x,y,z] \cdot [sin(x'),0,cos(x')]=0 [/tex] I'll skip the algebra for now as I don't feel like it. For J you need [tex]y=ry'[/tex] [tex]x=sqrt(r^2-(ry')^2)sin(x')[/tex] [tex]z=sqrt(r^2-(ry')^2)cos(x')[/tex] [tex]r=sqrt(x^2+y^2+z^2)[/tex] [tex]y'=y/r[/tex] [tex]x'=asin(x/sqrt(r^2-(ry')^2))[/tex] |
| Aug25-09, 01:58 AM | #6 |
|
Blog Entries: 3
|
Just for fun, I'm going to make up some names:
A: Radial-Cartesian B: Radial-Latitudinal C: Radial-cylindrical G: Radial-ByLongitudinal J: Radial-Longitudinal As I side note, I now see there difference between H3 and H4 but I don't feel like doing it now. |
| Aug25-09, 05:39 PM | #7 |
|
|
In any case, my post was removed, which is fair enough - this is apparently against the forum guidelines. I shall post again (edited): Okay, my initial post is in more philosophical territory admittedly, though I would still love an answer to that if possible, but for now, I would like some answers to some concrete mathematical questions. I know many of you are more clever/knowledgeable than I am, so it should be fairly simple for some of you I reckon. I basically want 4x2 sets of formulae to convert from spherical/polar coord systems to Cartesian and back again. I want to keep to the simple format shown below preferably. Here is the example for system "I" which of course is the standard spherical coord system (taken from Wikipedia). The two formula sets for this system include: Convert from polar to cartesian with system "I" Code:
x = radius * cos(azimuth) * sin(elevation) y = radius * sin(azimuth) * sin(elevation) z = radius * cos(elevation) Code:
radius = sqrt(x*x + y*y + z*z) elevation = atan2( sqrt(x*x + y*y), z ) azimuth = atan2(y,x) Okay so that's one of the systems for converting both ways. If anyone could do the above but with systems A, B, D & G, (and converting back to cartesian) as shown in the picture, then that would be great (I have code to easily test if each one works). Bear in mind that each system in the picture is supposed to be a sphere. For example, system A looks like a circle with a simple grid on it, but obviously, the center part of the grid will be nearest to the observer (front part of the sphere facing the camera), and the left/right/up/down part of the grid will be further away following the curvature of the sphere, and corresponding with the west, east, north, and south part of the sphere. Of course, those lines will go round the back as well (just as system I's lines/curves do). My preference is B & G if you don't have enough time to work on A and D. If anyone has any questions, or would like clarification of the nature of each grid on the spheres (perhaps showing them at a different angle), I would be happy to help. ********** EDIT: Thanks to John, note that G has already been partially solved, J has been solved apart from a quadrant issue that I might be able to sort out. Though I am having issues with A and B at the mo. |
| Aug25-09, 07:25 PM | #8 |
|
Recognitions:
|
|
| Aug25-09, 08:09 PM | #9 |
|
Blog Entries: 3
|
For coordinate systems A and B, I put in the missing square roots. The problem is if we know x',y', and r there are two possible values for z.
We could overcome this by maybe splitting one of these coordinates into two parts or we could introduce a binary coordinate to say which side of the sphere the point is on. If we were to divide the number range up based on the side of the sphere then maybe something like this would work: [-r/sqrt(r^2-y'^2),+r/sqrt(r^2-y'^2)] To get continuity on the boundaries perhaps something like and for the other side: [-2r/sqrt(r^2-y'^2),-r/sqrt(r^2-y'^2)]U[+r/sqrt(r^2-y'^2),2r/sqrt(r^2-y'^2)] I think though really, it is best to simplify things and remember that the sign of the z coordinate depends on the side of the sphere which is being transformed back to Cartesian. |
| Aug25-09, 08:34 PM | #10 |
|
Blog Entries: 3
|
I'm going to return to A
So for A [tex]x=r*x'[/tex] [tex]y=r*y'[/tex] [tex]z=\pm \sqrt{r^2-((r \ x')^2+(r \ y')^2)}[/tex] [tex]r=sqrt(x^2+y^2+z^2)[/tex] [tex]x'=x/r[/tex] [tex]y'=y/r[/tex] In the second set of equations it is important to remember as the equations are stated the x' and y' coordinates do not distinguish which side of the sphere the object is one. Therefore if you are going to map to x' and map back again it is important to remember which side of the sphere the object was on. This will determine the sign of z. |
| Aug25-09, 08:56 PM | #11 |
|
|
mordechai9, I see how you think I could be confused, and I think I see what you mean when talking about referencing from different points in space. However, my diagrams still stand. To show you more easily what I mean, take sphere A. This is a mockup of how it could look from different angles:
http://www.skytopia.com/stuff/sphereA-shouldbe.png Do you see now that it's a valid coord system? Also I inputted John's formula for J, and my program came up with this (very close to what I want, apart from the quadrant thing): http://www.skytopia.com/stuff/sphereJ.png Hi John, Ignoring the quadrant business for now, the first view (front) in the PM I sent still shows a grid in a square, when it should be a grid in a circle. See the PM for more details, though here is the picture again for the record: http://www.skytopia.com/stuff/sphereA2.png |
| Aug25-09, 09:06 PM | #12 |
|
Blog Entries: 3
|
Choose r as a constant and points x',y' such that x'^2+y'^2<1 |
| Aug25-09, 09:50 PM | #13 |
|
|
John, thanks - okay I'll look into that (modulus or something may help actually).
|
| Aug26-09, 02:03 AM | #14 |
|
Recognitions:
|
Regarding some of your earlier pictures showing only half the sphere, you should be aware that most of your coordinate systems are in fact well-defined over only one hemisphere. While the lines of a coordinate system may intersect at almost any angle, they may NOT be parallel, because then they cease to distinguish different points. For example, your systems D and B suffer from this on the circle where the sphere intersects the y-z plane.
These places where the coordinate systems breaks down are called "coordinate singularities". In general, coordinate systems on curved surfaces can cover only a part of the surface, which is referred to as a "coordinate patch". In order to locate all the points on a curved surface, we must in general resort to several overlapping coordinate patches, together with a set of functions that describe how the coordinates correspond in the areas where the patches overlap. The sphere in particular may be covered by a minimum of 2 coordinate patches. The ordinary spherical coordinate system has two coordinate singularities, at the north and south poles. To get a second coordinate patch to cover these singularities, we can take a rotated system, say with east and west poles. It is possible to have a coordinate patch on the sphere with only one singularity; this is achieved via stereographic projection. Still, however, a second patch is required to completely cover the sphere. |
| Aug26-09, 07:05 PM | #15 |
|
|
Interesting post Ben thanks. Does system A suffer from the problem as B and D as well?
Definition for this post to avoid confusion:- "coord set" means the x' and y' coords that define any point on a sphere's surface. Are you saying that in systems D and B, and given certain limitations we can add on if necessary (such as hemisphere restricition for a coord), that a particular coord set may describe different points. Or are you saying the reverse - that a point could be described by two (or more) different coord sets? The first sounds terrible, but the second although a bit kludgy isn't too bad - one would just need to make sure one coord has preference over the other for a certain hemisphere etc. As I'm sure you know, unless hemisphere restriction is used for a coord, even system "I" has this problem - where a point on the surface of the sphere can be described in 2 different ways (2 coord sets). John, I'm having slight difficulty converting the square grid to go round the 'back of the sphere' (not least because of the ambiguity that's Ben's probably implying). I understand what you mean about the "x'^2+y'^2<1", but often I won't have the luxury of confining it to that region, because a point's number may be doubled or incremented etc., so it would need to be somehow converted. I imagine the formula might be fairly easy to adjust because as I said in the PM, when I convert from 'polar' to cartesian, then back to 'polar', then back to cartesian again, the problem goes away. Maybe I can use this technique (even if it's kludgy and slows things down a bit). Don't worry too much if you're busy though, since I'm more keen on system G at the moment which doesn't have the ambiguity problems that system B may suffer from. Many thanks all for your help. |
| Aug26-09, 09:53 PM | #16 |
|
Recognitions:
|
No, system G has a huge ambiguity problem. Look at what happens on the circle in the y-z plane (I'm assuming the x axis is the one pointing directly at us). On this circle, your coordinate lines are parallel (in fact, they are coincident), and so it's no longer possible for the coordinates to specify a unique point.
Systems A, B, C, D, G, and H all have this issue: on the circle in the y-z plane, the coordinate lines are parallel. Systems E, F, I, and J are much nicer: they only have singularities at the north and south poles. |
| Aug26-09, 10:04 PM | #17 |
|
Recognitions:
|
By the way, what is the purpose of this? You seem to be writing some kind of program...
Whatever you are doing, the standard spherical coordinate system is probably going to be the easiest to use. If you are planning to do a bunch of rotations in three dimensions, the most efficient way is to use Cayley-Klein parameters (or quaternions). |
| Thread Closed |
| Thread Tools | |
Similar Threads for: 16 different spherical coordinate systems
|
||||
| Thread | Forum | Replies | ||
| Coordinate systems for divergence | Calculus & Beyond Homework | 0 | ||
| Coordinate Systems | Calculus & Beyond Homework | 1 | ||
| Conversion Between Coordinate Systems | Calculus & Beyond Homework | 7 | ||
| Converting between coordinate systems? | Calculus & Beyond Homework | 3 | ||
| Vectors and Coordinate Systems | Calculus & Beyond Homework | 1 | ||