coords - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


Coordinate Systems Supported in Maple

 

Description

References

Description

• 

This help page describes the coordinate systems known, on one hand, to Maple's plotting library and to the changecoords command, and on the other hand, Maple's VectorCalculus package. The VectorCalculus package imposes stricter requirements on its coordinate systems than the plotting library and the changecoords command; for example, it requires that the coordinate systems are orthogonal. For this reason, the plotting library and the changecoords command support more coordinate systems than the VectorCalculus package.

• 

At present, Maple supports the following coordinate systems:

  

In two dimensions, the following coordinate systems are supported by the plotting library, the changecoords command, and the VectorCalculus package: bipolar, cardioid, cartesian, cassinian, elliptic, hyperbolic, invcassinian, logarithmic, logcosh, parabolic, polar, rose, and tangent. The plotting library and the changecoords command additionally support the coordinate systems invelliptic and maxwell.

  

In three dimensions, the following coordinate systems are supported by the plotting library, the changecoords command, and the VectorCalculus package: bipolarcylindrical, bispherical, cardioidal, cardioidcylindrical, cartesian (*), casscylindrical, conical, cylindrical, ellcylindrical, hypercylindrical, invcasscylindrical, logcoshcylindrical, logcylindrical, oblatespheroidal, paraboloidal, paracylindrical, prolatespheroidal, rosecylindrical, sixsphere, spherical_math (**), spherical_physics (**), tangentcylindrical, tangentsphere, and toroidal. The plotting library and the changecoords command additionally support the coordinate systems confocalellip, confocalparab, ellipsoidal, invellcylindrical, invoblspheroidal, invprospheroidal, maxwellcylindrical, rectangular (*), and paraboloidal2.

  

(*): For technical reasons, the plotting library and the changecoords command understand cartesian to mean the two-dimensional Cartesian coordinate system, and use rectangular to mean the three-dimensional version. The VectorCalculus package uses cartesian for both dimensions.

  

(**): There are two widely used conventions for how to represent spherical coordinates: one is used more in physics and the other more in mathematics. The only difference is a swap of the second and third coordinate: the vector represented by u,v,w in one convention is represented by u,w,v in the other. The plotting library, the changecoords command, and the VectorCalculus package allow you to use the coordinate system names spherical_math and spherical_physics to refer to these coordinate systems unambiguously. You can also use the name spherical; its behavior is as follows:

– 

If neither of the Physics and VectorCalculus packages has been loaded (using the with command), then the plotting library and the changecoords command will interpret spherical as spherical_math.

– 

If either of the packages Physics or VectorCalculus has been loaded, then the plotting library and the changecoords command will interpret spherical as spherical_physics.

– 

The VectorCalculus package will always interpret spherical as spherical_physics.

  

Note: Only the positive roots have been used for the following transformations:

  

In two dimensions: cassinian, hyperbolic, invcassinian, and rose.

  

In three dimensions: casscylindrical, confocalellip, confocalparab, conical, ellipsoidal, hypercylindrical, invcasscylindrical, paraboloidal2, and rosecylindrical.

• 

The conversions from the various coordinate systems to cartesian (rectangular) coordinates in two-dimensional space

u,v→x,y

are given by the following equations. The author is indicated where necessary.

  

bipolar:  (Spiegel)

  

x=sinh⁡vcosh⁡v−cos⁡u

  

y=sin⁡ucosh⁡v−cos⁡u

  

 

  

cardioid:

  

x=u2−v22⁢u2+v22

  

y=u⁢vu2+v22

  

 

  

cartesian:

  

x=u

  

y=v

  

 

  

cassinian:  (Cassinian-oval)

  

x=a⁢2⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1+ⅇu⁢cos⁡v+12

  

y=a⁢2⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1−ⅇu⁢cos⁡v−12

  

 

  

elliptic:

  

x=cosh⁡u⁢cos⁡v

  

y=sinh⁡u⁢sin⁡v

  

 

  

hyperbolic:

  

x=u2+v2+u

  

y=u2+v2−u

  

 

  

invcassinian:  (inverse Cassinian-oval)

  

x=a⁢2⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1+ⅇu⁢cos⁡v+12⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1

  

y=a⁢2⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1−ⅇu⁢cos⁡v−12⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1

  

 

  

invelliptic:  (inverse elliptic; only supported in the plotting library and changecoords)

  

x=a⁢cosh⁡u⁢cos⁡vcosh⁡u2−sin⁡v2

  

y=a⁢sinh⁡u⁢sin⁡vcosh⁡u2−sin⁡v2

  

 

  

logarithmic:

  

x=a⁢ln⁡u2+v2π

  

y=2⁢a⁢arctan⁡vuπ

  

 

  

logcosh:  (ln cosh)

  

x=a⁢ln⁡cosh⁡u2−sin⁡v2π

  

y=2⁢a⁢arctan⁡tanh⁡u⁢tan⁡vπ

  

 

  

maxwell:  (only supported in the plotting library and changecoords)

  

x=a⁢u+1+ⅇu⁢cos⁡vπ

  

y=a⁢v+ⅇu⁢sin⁡vπ

  

 

  

parabolic:

  

x=u22−v22

  

y=u⁢v

  

 

  

polar:

  

x=u⁢cos⁡v

  

y=u⁢sin⁡v

  

 

  

rose:

  

x=u2+v2+uu2+v2

  

y=u2+v2−uu2+v2

  

 

  

tangent:

  

x=uu2+v2

  

y=vu2+v2

• 

The conversions from the various coordinate systems to cartesian coordinates in three-dimensional space

u,v,w→x,y,z

  

are given as follows:

  

bipolarcylindrical:  (Spiegel)

  

x=a⁢sinh⁡vcosh⁡v−cos⁡u

  

y=a⁢sin⁡ucosh⁡v−cos⁡u

  

z=w

  

 

  

bispherical:

  

x=sin⁡u⁢cos⁡wd

  

y=sin⁡u⁢sin⁡wd

  

z=sinh⁡vd  where d=cosh⁡v−cos⁡u

  

 

  

cardioidal:

  

x=u⁢v⁢cos⁡wu2+v22

  

y=u⁢v⁢sin⁡wu2+v22

  

z=u2−v22⁢u2+v22

  

 

  

cardioidcylindrical:

  

x=u2−v22⁢u2+v22

  

y=u⁢vu2+v22

  

z=w

  

 

  

cartesian:  (only supported in the VectorCalculus package - this is called rectangular in the plotting library and changecoords)

  

x=u

  

y=v

  

z=w

  

 

  

casscylindrical:  (Cassinian-oval cylinder)

  

x=a⁢2⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1+ⅇu⁢cos⁡v+12

  

y=a⁢2⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1−ⅇu⁢cos⁡v−12

  

z=w

  

 

  

confocalellip:  (confocal elliptic; only supported in the plotting library and changecoords)

  

x=a2−u⁢a2−v⁢a2−wa2−b2⁢a2−c2

  

y=b2−u⁢b2−v⁢b2−w−a2+b2⁢b2−c2

  

z=c2−u⁢c2−v⁢c2−w−a2+c2⁢−b2+c2

  

 

  

confocalparab:  (confocal parabolic; only supported in the plotting library and changecoords)

  

x=a2−u⁢a2−v⁢a2−w−a2+b2

  

y=b2−u⁢b2−v⁢b2−w−a2+b2

  

z=a22+b22−u2−v2−w2

  

 

  

conical:

  

x=u⁢v⁢wa⁢b

  

y=u⁢−b2+v2⁢b2−w2a2−b2b

  

z=u⁢a2−v2⁢a2−w2a2−b2a

  

 

  

cylindrical:

  

x=u⁢cos⁡v

  

y=u⁢sin⁡v

  

z=w

  

 

  

ellcylindrical:  (elliptic cylindrical)

  

x=a⁢cosh⁡u⁢cos⁡v

  

y=a⁢sinh⁡u⁢sin⁡v

  

z = w

  

 

  

ellipsoidal:  (only supported in the plotting library and changecoords)

  

x=u⁢v⁢wa⁢b

  

y=−b2+u2⁢−b2+v2⁢b2−w2a2−b2b

  

z=−a2+u2⁢a2−v2⁢a2−w2a2−b2a

  

 

  

hypercylindrical:  (hyperbolic cylinder)

  

x=u2+v2+u

  

y=u2+v2−u

  

z=w

  

 

  

invcasscylindrical:  (inverse Cassinian-oval cylinder)

  

x=a⁢2⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1+ⅇu⁢cos⁡v+12⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1

  

y=a⁢2⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1−ⅇu⁢cos⁡v−12⁢ⅇ2⁢u+2⁢ⅇu⁢cos⁡v+1

  

z=w

  

 

  

invellcylindrical:  (inverse elliptic cylinder; only supported in the plotting library and changecoords)

  

x=a⁢cosh⁡u⁢cos⁡vcosh⁡u2−sin⁡v2

  

y=a⁢sinh⁡u⁢sin⁡vcosh⁡u2−sin⁡v2

  

z=w

  

 

  

invoblspheroidal:  (inverse oblate spheroidal; only supported in the plotting library and changecoords)

  

x=a⁢cosh⁡u⁢sin⁡v⁢cos⁡wcosh⁡u2−cos⁡v2

  

y=a⁢cosh⁡u⁢sin⁡v⁢sin⁡wcosh⁡u2−cos⁡v2

  

z=a⁢sinh⁡u⁢cos⁡vcosh⁡u2−cos⁡v2

  

 

  

invprospheroidal:  (inverse prolate spheroidal; only supported in the plotting library and changecoords)

  

x=a⁢sinh⁡u⁢sin⁡v⁢cos⁡wcosh⁡u2−sin⁡v2

  

y=a⁢sinh⁡u⁢sin⁡v⁢sin⁡wcosh⁡u2−sin⁡v2

  

z=a⁢cosh⁡u⁢cos⁡vcosh⁡u2−sin⁡v2

  

 

  

logcylindrical:  (logarithmic cylinder)

  

x=a⁢ln⁡u2+v2π

  

y=2⁢a⁢arctan⁡vuπ

  

z=w

  

 

  

logcoshcylindrical:  (ln cosh cylinder)

  

x=a⁢ln⁡cosh⁡u2−sin⁡v2π

  

y=2⁢a⁢arctan⁡tanh⁡u⁢tan⁡vπ

  

z=w

  

 

  

maxwellcylindrical:  (only supported in the plotting library and changecoords)

  

x=a⁢u+1+ⅇu⁢cos⁡vπ

  

y=a⁢v+ⅇu⁢sin⁡vπ

  

z=w

  

 

  

oblatespheroidal:

  

x=a⁢cosh⁡u⁢sin⁡v⁢cos⁡w

  

y=a⁢cosh⁡u⁢sin⁡v⁢sin⁡w

  

z=a⁢sinh⁡u⁢cos⁡v

  

 

  

paraboloidal:  (Spiegel)

  

x=u⁢v⁢cos⁡w

  

y=u⁢v⁢sin⁡w

  

z=u22−v22

  

 

  

paraboloidal2:  (Moon; only supported in the plotting library and changecoords)

  

x=2⁢u−a⁢a−v⁢a−wa−b

  

y=2⁢u−b⁢b−v⁢b−wa−b

  

z=u+v+w−a−b

  

 

  

paracylindrical:

  

x=u22−v22

  

y=u⁢v

  

z=w

  

 

  

prolatespheroidal:

  

x=a⁢sinh⁡u⁢sin⁡v⁢cos⁡w

  

y=a⁢sinh⁡u⁢sin⁡v⁢sin⁡w

  

z=a⁢cosh⁡u⁢cos⁡v

  

 

  

rectangular:  (only supported in the plotting library and changecoords - this is called cartesian in the VectorCalculus package)

  

x=u

  

y=v

  

z=w

  

 

  

rosecylindrical:

  

x=u2+v2+uu2+v2

  

y=u2+v2−uu2+v2

  

z=w

  

 

  

sixsphere:  (6-sphere)

  

x=uu2+v2+w2

  

y=vu2+v2+w2

  

z=wu2+v2+w2

  

 

  

spherical is understood as either spherical_math or spherical_physics; see note marked (**) above

  

 

  

spherical_math:

  

x=u⁢cos⁡v⁢sin⁡w

  

y=u⁢sin⁡v⁢sin⁡w

  

z=u⁢cos⁡w

  

 

  

spherical_physics:

  

x=u⁢cos⁡w⁢sin⁡v

  

y=u⁢sin⁡v⁢sin⁡w

  

z=u⁢cos⁡v

  

 

  

tangentcylindrical:

  

x=uu2+v2

  

y=vu2+v2

  

z=w

  

 

  

tangentsphere:

  

x=u⁢cos⁡wu2+v2

  

y=u⁢sin⁡wu2+v2

  

z=vu2+v2

  

 

  

toroidal:

  

x=a⁢sinh⁡v⁢cos⁡wd

  

y=a⁢sinh⁡v⁢sin⁡wd

  

z=a⁢sin⁡ud  where d=cosh⁡v−cos⁡u

• 

The a, b, and c values in the above coordinate transformations can be given in different ways depending on where they are used:

– 

The plotting library and the changecoords command accept the coordinate specification as a function, e.g., conical(a,b) or ellcylindrical(2).

– 

The VectorCalculus package uses a different mechanism using the GetCoordinateParameters and SetCoordinateParameters commands.

  

In all cases, the default values used are a = 1, b = 1/2, and c = 1/3.

References

  

Moon, P., and Spencer, D. E. Field Theory Handbook 2d ed. Berlin: Springer-Verlag, 1971.

  

Spiegel, Murray R. Mathematical Handbook Of Formulas And Tables. New York: McGraw-Hill, 1968.

See Also

addcoords

changecoords

plot3d[coords]

plot[coords]

plots[changecoords]

plots[coordplot3d]

plots[coordplot]

VectorCalculus

VectorCalculus[AddCoordinates]

VectorCalculus[GetCoordinateParameters]

VectorCalculus[GetCoordinates]

VectorCalculus[SetCoordinateParameters]

VectorCalculus[SetCoordinates]