cedalion.geometry.utils

Utility functions for geometric calculations.

Functions

cart2sph(x, y, z)

Convert 3D cartesian into spherical coordinates.

m_rot(angles)

Calculate the affine transformation matrix for a 3D rotation.

m_scale1(s)

Calculate the affine transformation matrix for scaling s.

m_scale3(s)

Calculate the affine transformation matrix for scaling s.

m_trans(t)

Calculate the affine transformation matrix for a tranlation t.

pol2cart(theta, rho)

Convert 2D polar into 2D cartesian coordinates.

cedalion.geometry.utils.m_trans(t: ndarray) ndarray[source]

Calculate the affine transformation matrix for a tranlation t.

cedalion.geometry.utils.m_scale3(s: ndarray) ndarray[source]

Calculate the affine transformation matrix for scaling s.

Apply different scaling factors for each dimension.

cedalion.geometry.utils.m_scale1(s: ndarray) ndarray[source]

Calculate the affine transformation matrix for scaling s.

Apply one scaling factor for all dimensions.

cedalion.geometry.utils.m_rot(angles: ndarray) ndarray[source]

Calculate the affine transformation matrix for a 3D rotation.

R = Rz(alpha)Ry(beta)Rx(gamma)

https://en.wikipedia.org/wiki/Rotation_matrix#General_rotations

cedalion.geometry.utils.cart2sph(
x: ndarray,
y: ndarray,
z: ndarray,
) tuple[ndarray, ndarray, ndarray][source]

Convert 3D cartesian into spherical coordinates.

Parameters:
  • x – cartesian x coordinates

  • y – cartesian y coordinates

  • z – cartesian z coordinates

Returns:

The spherical coordinates azimuth, elevation and radius as np.ndarrays.

cedalion.geometry.utils.pol2cart(
theta: ndarray,
rho: ndarray,
) tuple[ndarray, ndarray][source]

Convert 2D polar into 2D cartesian coordinates.

Parameters:
  • theta – polar theta/angle coordinates

  • rho – polar rho/radius coordinates

Returns:

The cartesian coordinates x and y as np.ndarrays.