CoordinateTransform[t,pt]
performs the coordinate transformation t on the point pt.
CoordinateTransform[t,{pt1,pt2,…}]
transforms several points.
CoordinateTransform
CoordinateTransform[t,pt]
performs the coordinate transformation t on the point pt.
CoordinateTransform[t,{pt1,pt2,…}]
transforms several points.
Details
- Transformations can be entered in the form oldchart->newchart, where oldchart and newchart are valid chart specifications available from CoordinateChartData.
- Transformations can additionally be given as CoordinateTransformData standard names {oldsys->newsys,metric,dim}, where {oldsys,metric,dim} and {newsys,metric,dim} are valid charts available from CoordinateChartData. The short form in which dimension is omitted may be used.
- CoordinateTransform[t,pt] is effectively equivalent to CoordinateTransformData[t,"Mapping",pt].
- CoordinateTransform automatically threads over arrays of coordinate lists.
Examples
open all close allBasic Examples (2)
Scope (5)
Give the {x,y,z} values for a point expressed in spherical coordinates:
CoordinateTransform["Spherical" -> "Cartesian", {1, π / 4, π / 2}]Change a point in prolate spheroidal to spherical coordinates, specifying a parameter for prolate spheroidal coordinates:
CoordinateTransform[{{"ProlateSpheroidal", 1}} -> "Spherical", {1, 1, 1}]The same transformation, expressed more verbosely:
CoordinateTransform[{{"ProlateSpheroidal", 1} -> "Spherical", "Euclidean", 3}, {1, 1, 1} ]Transform coordinates on the sphere of radius r to corresponding values in the stereographic projection:
CoordinateTransformData[{"Standard" -> "Stereographic", {"Sphere", r}}, "Mapping", {θ, φ}]Transform several points at once from cylindrical to Cartesian coordinates:
CoordinateTransform["Cylindrical" -> "Cartesian", {{r, θ, z}, {1, 0, 2}, {2, π, 1}, {1, π / 2, 0}}]Transform a matrix of points from Cartesian to spherical coordinates:
CoordinateTransform["Cartesian" -> "Spherical", {{{x, y, z}, {1, 0, 1}}, {{2, 3.5, -1.5}, {1, 1, 0}}}]Applications (1)
Convert a curve in non-Cartesian coordinates to a corresponding Cartesian expression for purposes of visualization:
cSpherical[t_] := {t, Pi((1 + Sin[16t + 4t ^ 2]/2)), 1 + 2t + 3t ^ 2}cCartesian[t_] = CoordinateTransform["Spherical" -> "Cartesian", cSpherical[t]]Show[Graphics3D[{Opacity[.25], Sphere[]}], ParametricPlot3D[cCartesian[t], {t, 0, 1}, ColorFunction -> (Hue[.8#4]&)]]This curve is approximately 11.2 radii in length:
ArcLength[cCartesian[t], {t, 0., 1}]Properties & Relations (8)
CoordinateTransformData[ent,"Mapping",pt] is effectively CoordinateTransform[ent,pt]:
CoordinateTransform["Bipolar" -> "Cartesian", {1, 0}] === CoordinateTransformData["Bipolar" -> "Cartesian", "Mapping", {1, 0}]CoordinateTransform checks that inputs obey the coordinate range assumptions of charts:
CoordinateTransform["Spherical" -> "Cartesian", {1, 0, 0}]This point violates the coordinate range assumption on the polar angle
:
CoordinateChartData["Spherical", "CoordinateRangeAssumptions", {r, θ, φ}]Extract the symbolic transform from CoordinateTransformData to apply it to singular points:
transform = CoordinateTransformData["Spherical" -> {"Cartesian", 3}, "Mapping"];
transform[{1, 0, 0}]The reverse mapping is not well-defined at this point:
CoordinateTransformData[{"Cartesian", 3} -> "Spherical", "Mapping"][{0, 0, 1}]CoordinateTransform preserves the shape of arrays:
CoordinateTransform["Cartesian" -> "Polar", {{{1, -1}}}]CoordinateTransform["Spherical" -> "Toroidal", {{} , {}}]CoordinateTransform changes the coordinate values of points:
CoordinateTransform["Cartesian" -> "Polar", {x, y}]TransformedField changes the coordinate expressions for fields:
TransformedField["Cartesian" -> "Polar", {x, y}, {x, y} -> {r, θ}]//SimplifyFromPolarCoordinates is a special case of CoordinateTransform:
CoordinateTransform["Polar" -> "Cartesian", {r, θ}] == FromPolarCoordinates[{r, θ}]CoordinateTransform["Hyperspherical" -> "Cartesian", {r, θ, φ}] == FromPolarCoordinates[{r, θ, φ}]ToPolarCoordinates is a special case of CoordinateTransform:
CoordinateTransform["Cartesian" -> "Polar", {x, y}] == ToPolarCoordinates[{x, y}]CoordinateTransform["Cartesian" -> "Hyperspherical", {x, y, z}] == ToPolarCoordinates[{x, y, z}]FromSphericalCoordinates is a special case of CoordinateTransform:
CoordinateTransform["Spherical" -> "Cartesian", {r, θ, φ}] == FromSphericalCoordinates[{r, θ, φ}]ToSphericalCoordinates is a special case of CoordinateTransform:
CoordinateTransform["Cartesian" -> "Spherical", {x, y, z}] == ToSphericalCoordinates[{x, y, z}]Tech Notes
Related Guides
Text
Wolfram Research (2012), CoordinateTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/CoordinateTransform.html (updated 2015).
CMS
Wolfram Language. 2012. "CoordinateTransform." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/CoordinateTransform.html.
APA
Wolfram Language. (2012). CoordinateTransform. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CoordinateTransform.html
BibTeX
@misc{reference.wolfram_2026_coordinatetransform, author="Wolfram Research", title="{CoordinateTransform}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/CoordinateTransform.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_coordinatetransform, organization={Wolfram Research}, title={CoordinateTransform}, year={2015}, url={https://reference.wolfram.com/language/ref/CoordinateTransform.html}, note=[Accessed: 13-June-2026]}