Module qfly.utils

Expand source code
import math


def sqrt(x):
    """
    Calculate sqrt while avoiding rounding errors with slightly negative x.

    Parameters
    ----------
    x : float
        Number to calculate square root of.
    """
    if x < 0.0:
        return 0.0
    return math.sqrt(x)


def pol2cart(r, phi):
    """
    Convert from polar (rho, phi)
    to cartesian (x, y) coordinates.

    Parameters
    ----------
    r : float
        Radial distance to origin.
        (Unit: m)
    phi : float
        Azimuthal angle.
        (Unit: degrees)
    """
    x = r * math.cos(math.radians(phi))
    y = r * math.sin(math.radians(phi))
    return(x, y)


def sph2cart(r, theta, phi):
    """
    Convert from spherical (rho, theta, phi)
    to cartesian (x, y, z) coordinates.

    Parameters
    ----------
    r : float
        Radial distance to origin.
        (Unit: m)
    theta : float
        Polar angle.
        (Unit: degrees)
    phi : float
        Azimuthal angle.
        (Unit: degrees)
    """
    x = r * math.sin(math.radians(theta)) * math.cos(math.radians(phi))
    y = r * math.sin(math.radians(theta)) * math.sin(math.radians(phi))
    z = r * math.cos(math.radians(theta))
    return(x, y, z)

Functions

def pol2cart(r, phi)

Convert from polar (rho, phi) to cartesian (x, y) coordinates.

Parameters

r : float
Radial distance to origin. (Unit: m)
phi : float
Azimuthal angle. (Unit: degrees)
Expand source code
def pol2cart(r, phi):
    """
    Convert from polar (rho, phi)
    to cartesian (x, y) coordinates.

    Parameters
    ----------
    r : float
        Radial distance to origin.
        (Unit: m)
    phi : float
        Azimuthal angle.
        (Unit: degrees)
    """
    x = r * math.cos(math.radians(phi))
    y = r * math.sin(math.radians(phi))
    return(x, y)
def sph2cart(r, theta, phi)

Convert from spherical (rho, theta, phi) to cartesian (x, y, z) coordinates.

Parameters

r : float
Radial distance to origin. (Unit: m)
theta : float
Polar angle. (Unit: degrees)
phi : float
Azimuthal angle. (Unit: degrees)
Expand source code
def sph2cart(r, theta, phi):
    """
    Convert from spherical (rho, theta, phi)
    to cartesian (x, y, z) coordinates.

    Parameters
    ----------
    r : float
        Radial distance to origin.
        (Unit: m)
    theta : float
        Polar angle.
        (Unit: degrees)
    phi : float
        Azimuthal angle.
        (Unit: degrees)
    """
    x = r * math.sin(math.radians(theta)) * math.cos(math.radians(phi))
    y = r * math.sin(math.radians(theta)) * math.sin(math.radians(phi))
    z = r * math.cos(math.radians(theta))
    return(x, y, z)
def sqrt(x)

Calculate sqrt while avoiding rounding errors with slightly negative x.

Parameters

x : float
Number to calculate square root of.
Expand source code
def sqrt(x):
    """
    Calculate sqrt while avoiding rounding errors with slightly negative x.

    Parameters
    ----------
    x : float
        Number to calculate square root of.
    """
    if x < 0.0:
        return 0.0
    return math.sqrt(x)