Source code for pyspedas.cotrans_tools.sphere_to_cart

'''
Convert spherical coordinates (r, theta, phi) to Cartesian coordinates (x, y, z).

This function is similar to sphere_to_cart.pro in IDL SPEDAS.
'''
import numpy as np


[docs] def sphere_to_cart(r, theta, phi): """ Convert spherical coordinates in degrees (r, theta, phi) to Cartesian coordinates (x, y, z). Parameters: ----------- r : float Radial distance from the origin. theta : float Altitude angle (not co-latitude!) It ranges from -90 to 90 degrees phi : float Azimuthal angle (angle in the xy-plane from the positive x-axis to the point) in degrees. It ranges from [0, 360]. Returns: -------- x : float X coordinate in Cartesian system. y : float Y coordinate in Cartesian system. z : float Z coordinate in Cartesian system. Notes: ------ - Uses the following equations for conversion: x = r*cos(theta)*cos(phi) y = r*cos(theta)*sin(phi) z = r*sin(theta) """ r, theta, phi = np.array(r), np.deg2rad(theta), np.deg2rad(phi) c = np.cos(theta) x = r * c * np.cos(phi) y = r * c * np.sin(phi) z = r * np.sin(theta) return x, y, z