diff --git a/spatz/simulations/astos/transforms.py b/spatz/simulations/astos/transforms.py new file mode 100644 index 0000000..0a765a1 --- /dev/null +++ b/spatz/simulations/astos/transforms.py @@ -0,0 +1,36 @@ +import math + +import numpy as np + + +DEG_TO_RADS = math.pi / 180 + + +def T1(angle, degrees=False): + angle = angle * DEG_TO_RADS if degrees else angle + + return np.array([ + [1, 0, 0], + [0, math.cos(angle), math.sin(angle)], + [0, -math.sin(angle), math.cos(angle)], + ]) + + +def T2(angle, degrees=False): + angle = angle * DEG_TO_RADS if degrees else angle + + return np.array([ + [math.cos(angle), 0, -math.sin(angle)], + [0, 1, 0], + [math.sin(angle), 0, math.cos(angle)] + ]) + + +def T3(angle, degrees=False): + angle = angle * DEG_TO_RADS if degrees else angle + + return np.array([ + [math.cos(angle), math.sin(angle), 0], + [-math.sin(angle), math.cos(angle), 0], + [0, 0, 1] + ]) \ No newline at end of file