A python-package to help with solid angles.
pip install solid_angle_utils
Inspired by numpy
rad2deg
and deg2rad
.
import solid_angle_utils
a_sr = solid_angle_utils.squaredeg2sr(10)
print(a)
0.0030461741978670856
a_sqdeg = solid_angle_utils.sr2squaredeg(a_sr)
print(a_sqdeg)
10.0
Convert solid angle to half angle, and the other way around.
import solid_angle_utils
cone_sa = solid_angle_utils.cone.solid_angle(half_angle_rad=0.1)
0.031389755322205774
cone_ha = solid_angle_utils.cone.half_angle(solid_angle_sr=cone_sa)
0.0999999
solid_angle_utils.cone.half_angle_space(0, 0.1, 3)
array([0. , 0.07069594, 0.1 ])
Estimate the solid angle of a spherical triangle.
import solid_angle_utils
import numpy as np
x, y, z = np.eye(3)
full_sphere_solid_angle = 4 * np.pi
triangle_solid_angle = solid_angle_utils.triangle.solid_angle(
v0=x, v1=y, v2=z
)
print("Expect 1/8: ", triangle_solid_angle/full_sphere_solid_angle)