boinor.core.util

Functions

rotation_matrix(angle, axis)

alinspace(start[, stop, num, endpoint])

Return increasing, evenly spaced angular values over a specified interval.

spherical_to_cartesian(v)

Compute cartesian coordinates from spherical coordinates (norm, colat, long). This function is vectorized.

cartesian_to_spherical(v)

Compute spherical coordinates (norm, colat, long) from cartesian coordinates (x,y,z).

planetocentric_to_AltAz(theta, phi)

Defines transformation matrix to convert from Planetocentric coordinate system

Module Contents

boinor.core.util.rotation_matrix(angle, axis)
boinor.core.util.alinspace(start, stop=None, num=50, endpoint=True)

Return increasing, evenly spaced angular values over a specified interval.

boinor.core.util.spherical_to_cartesian(v)

Compute cartesian coordinates from spherical coordinates (norm, colat, long). This function is vectorized.

\[\begin{split}v = norm \cdot \begin{bmatrix} \sin(colat)\cos(long)\\ \sin(colat)\sin(long)\\ \cos(colat)\\ \end{bmatrix}\end{split}\]
Parameters:

v (numpy.ndarray) – Spherical coordinates in 3D (norm, colat, long). Angles must be in radians.

Returns:

v – Cartesian coordinates (x,y,z)

Return type:

numpy.ndarray

boinor.core.util.cartesian_to_spherical(v)

Compute spherical coordinates (norm, colat, long) from cartesian coordinates (x,y,z). This function is vectorized. The coordinates are also called (radius, inclination, azimuth).

\[ \begin{align}\begin{aligned}norm = \sqrt{x^2 + y^2 + z^2}\\colat = \arccos{\frac{z}{norm}}\\lon = \arctan2(y,x) \mod 2 \pi\end{aligned}\end{align} \]
Parameters:

v (np.array) – Cartesian coordinates in 3D (x, y, z).

Returns:

v – Spherical coordinates in 3D (norm, colat, long) where norm in [0, inf), colat in [0, pi] and long in [0, 2pi).

Return type:

np.array

boinor.core.util.planetocentric_to_AltAz(theta, phi)

Defines transformation matrix to convert from Planetocentric coordinate system to the Altitude-Azimuth system.

\[\begin{split}t\_matrix = \begin{bmatrix} -\sin(theta) & \cos(theta) & 0\\ -\sin(phi)\cdot\cos(theta) & -\sin(phi)\cdot\sin(theta) & \cos(phi)\\ \cos(phi)\cdot\cos(theta) & \cos(phi)\cdot\sin(theta) & \sin(phi) \end{bmatrix}\end{split}\]
Parameters:
  • theta (float) – Local sidereal time

  • phi (float) – Planetodetic latitude

Returns:

t_matrix – Transformation matrix

Return type:

numpy.ndarray