Source code for hop.hexabundle_allocation.general_operations.trigonometry
from math import pi, cos, sin
import numpy as np
# function for rotational matrix required for rotating at the specified rotation angle
[docs]def rotational_matrix(rotation_angle):
return [[cos(rotation_angle), - sin(rotation_angle)],
[sin(rotation_angle), cos(rotation_angle)]]
# function for converting degrees to radians
[docs]def convert_degrees_to_radians(angle_degrees):
return angle_degrees * np.pi/180
# function for converting radians to degrees
[docs]def convert_radians_to_degrees(angle_radians):
return angle_radians * 180/np.pi
# function to keep angle in range of 0 to 2pi
[docs]def convert_modulus_angle(angle):
# piX2 = 2 * np.pi
# # if angle > 2 * np.pi:
# # raise ValueError("Angle is bigger than 2pi!")
# if angle > piX2:
# angle = angle - piX2
# if angle < 0:
# angle = piX2 - abs(angle)
return angle % (2 * np.pi)