Coordinate Systems Supported in Maple
Description
References
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 two 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:
cartesian: (only supported in the VectorCalculus package - this is called rectangular in the plotting library and changecoords)
casscylindrical: (Cassinian-oval cylinder)
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:
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)
y=−b2+u2⁢−b2+v2⁢b2−w2a2−b2b
z=−a2+u2⁢a2−v2⁢a2−w2a2−b2a
hypercylindrical: (hyperbolic cylinder)
invcasscylindrical: (inverse Cassinian-oval cylinder)
invellcylindrical: (inverse elliptic cylinder; only supported in the plotting library and changecoords)
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)
logcoshcylindrical: (ln cosh cylinder)
maxwellcylindrical: (only supported in the plotting library and changecoords)
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:
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)
rosecylindrical:
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
z=u⁢cos⁡v
tangentcylindrical:
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.
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]
Download Help Document