Re: Converting between Spherical and Cartesian coordinates
- To: mathgroup at smc.vnet.net
- Subject: [mg53372] Re: Converting between Spherical and Cartesian coordinates
- From: Alain Cochard <alain at geophysik.uni-muenchen.de>
- Date: Sat, 8 Jan 2005 23:02:32 -0500 (EST)
- References: <16858.22033.555637.91757@localhost.localdomain>
- Reply-to: alain at geophysik.uni-muenchen.de
- Sender: owner-wri-mathgroup at wolfram.com
Alain Cochard writes: > I use spherical coordinates: > > In[1]:= << Calculus`VectorAnalysis` ; > > In[2]:= SetCoordinates[Spherical] > > Out[2]= Spherical[Rr, Ttheta, Pphi] > > and I convert: > > In[3]:= CoordinatesFromCartesian[{x,y,z}] > > 2 2 2 z > Out[3]= {Sqrt[x + y + z ], ArcCos[------------------], ArcTan[x, y]} > 2 2 2 > Sqrt[x + y + z ] > > Now, if I use the expressions for x, y, and z, I expect to get back to > Rr, Ttheta, Pphi, but: > > In[4]:= FullSimplify[%3/.{ > x->Rr Sin[Ttheta]Cos[Pphi], > y->Rr Sin[Ttheta]Sin[Pphi], > z->Rr Cos[Ttheta]}, > Rr>=0 && 0 <= Ttheta <= Pi && -Pi < Pphi <= Pi] > > Out[4]= {Rr, Ttheta, ArcTan[Rr Cos[Pphi] Sin[Ttheta], > > > Rr Sin[Pphi] Sin[Ttheta]]} > > > Even if I remove the equalities from the assumptions, I am not quite > there: > > In[5]:= FullSimplify[%3/.{ > x->Rr Sin[Ttheta]Cos[Pphi], > y->Rr Sin[Ttheta]Sin[Pphi], > z->Rr Cos[Ttheta]}, > Rr>0 && 0 < Ttheta < Pi && -Pi < Pphi < Pi] > > Out[5]= {Rr, Ttheta, ArcTan[Cos[Pphi], Sin[Pphi]]} > > But I would have thought that for a given Pphi in (-Pi,Pi), there is a > unique value for ArcTan[Cos[Pphi], Sin[Pphi]], which is... Pphi. And > this seems to me consistent with the fact that a given (single) point > is unique, or, in other words, that to a given (perhaps > not-too-specific) {x,y,z} corresponds a unique {Rr, Ttheta, Pphi}, and > vice versa. > > > What am I missing here? In fact I had not properly searched the archives. While looking for something else I found the solution, namely by use of the PowerExpand transformation function: In[5]:= FullSimplify[%3/.{ x->Rr Sin[Ttheta]Cos[Pphi], y->Rr Sin[Ttheta]Sin[Pphi], z->Rr Cos[Ttheta]}, Rr>0 && 0 < Ttheta < Pi && -Pi < Pphi < Pi, TransformationFunctions -> {Automatic, PowerExpand}] Out[5]= {Rr, Ttheta, Pphi} AC