SphericalCoordinateSystem#

class pisces.geometry.coordinates.coordinate_systems.SphericalCoordinateSystem(**parameters)[source]#

Spherical coordinate system in three dimensions.

Coordinates#

  • \(r\): Radial distance from the origin.

  • \(\theta\): Polar angle (radians) from the positive z-axis.

  • \(\phi\): Azimuthal angle (radians) from the positive x-axis.

Conversion to Cartesian#

\[\begin{split}x = r \sin\theta \cos\phi \\ y = r \sin\theta \sin\phi \\ z = r \cos\theta\end{split}\]

Conversion from Cartesian#

\[\begin{split}r = \sqrt{x^2 + y^2 + z^2} \\ \theta = \arccos\left(\frac{z}{r}\right) \\ \phi = \arctan2(y, x)\end{split}\]

Notes

This system is used for problems with spherical symmetry. All angles are expressed in radians.

Methods

__init__(**parameters)

Initialize the coordinate system with validated parameters.

convert_coords_from(other, *coordinates)

Convert coordinates from another coordinate system into this system.

convert_coords_to(other, *coordinates)

Convert coordinates from this system into another coordinate system.

convert_from_cartesian(x, y, z)

Convert coordinates from Cartesian to this system.

convert_to_cartesian(r, theta, phi)

Convert coordinates from this system to Cartesian.

copy()

Return a shallow copy of the coordinate system.

default_parameters()

Return a copy of the default parameters for this coordinate system.

from_dict(data)

Deserialize a coordinate system from a dictionary.

from_json_string(json_string)

Deserialize a coordinate system from a JSON string.

to_dict()

Return a dictionary representation of the coordinate system, including its class name and parameters.

to_json_string()

Serialize the coordinate system to a JSON string.

Attributes

axes

Return the names of the axes in this coordinate system.

ndim

Return the number of dimensions of this coordinate system.

parameters

Return a copy of the coordinate system's parameters.