Register to reply 
Rotation of Gridded Spherical Coordinates to the Same Grid 
Share this thread: 
#1
Feb1813, 10:26 PM

P: 2

I have a uniform grid of data in spherical coordinates. e.g. theta = 0, 1, 2, ... 180 and phi = 0, 1, 2, ... 359 which forms a 2D matrix. I wish to rotate these points around a cartesian axis (x, y, zaxis) by some angle alpha. To accomplish this I currently do the following:
1. Convert to cartesian coordinates 2. Multiply by rotation matrix 3. Convert back to spherical coordinates 4. Nonuniform interpolation over the original uniform grid The problem with this is twofold: 1. The nonuniform interpolation of step 4 e.g. using MATLAB's griddata function is slow. For instance a nonuniform interpolation of a 360 x 181 matrix on my machine takes about 1.8 seconds. 2. Most nonuniform interpolation functions such as MATLAB's griddata are not in spherical coordinates which means that convex hull typically does not contain theta = 0 and 180 or phi = 0 or 360. I currently get around this by seeding the nonuniform data with points outside of phi = 0,360 and theta = 0,180 which is both inaccurate and adds to the computation time. My main problem is speed. It's simply too slow for what I need. It seems like this would be a common problem that must have some elegant solution that I have not heard of. My question is simply: Is there a better way to do this? 


#2
Feb1913, 04:54 AM

Mentor
P: 11,589

Do you need this special point density (denser at small and large theta), which depends on the choice of your coordinate system anyway? 


#3
Feb1913, 10:53 AM

P: 2

It is uniform in the sense that phi and theta angle increments are the same. I understand that this means they have nonuniform distance on a sphere.
If it helps, these are measurements of an antenna's radiation pattern. This uniform angle spacing is typical of many setups which measure the radiation pattern. As for your other question about whether it is necessary: I do not control the data I obtain. They are obtained by instruments for me. I could, of course, interpolate this to obtain your version of uniform but this would just require another interpolation and thus more time. I do not care if you want to call this uniform of not, my problem still remains. 


#4
Apr1414, 07:12 AM

P: 1

Rotation of Gridded Spherical Coordinates to the Same Grid
Hi antennaist!
I found this post when searching for a solution for the exact same problem: I have several nearfield measurements of the same antenna which were taken in different mounting positions and want to compare them  so I need to rotate this vector field on the spere. Actually I have not started to implement the stuff in Matlab yet, but was already puzzeled by the same problems as you describe (nonuniform sampling points) and the necessary locally dependent transformation of the unit vectors. Interestingly, I could not find anything online  and my idea of doing it is basically identical to yours. I would be happy if you could provide me some code to have something to start with.. One thing that came to my mind was doing the rotation in the sperical mode domain  I will talk to one college who is doing NFFF transform stuff. 


Register to reply 
Related Discussions  
Magnetic Field Equation in Spherical Coordinates to Cartesian Coordinates  Advanced Physics Homework  26  
Vector Spherical harmonics/spherical coordinates question  General Physics  0  
Triple Integral in Rectangular Coordinates Converting to Spherical Coordinates  Calculus & Beyond Homework  2  
Spherical Coordinates to Rectangular Coordinates  Advanced Physics Homework  7 