clean up transformations
@fgoth @ythurn Sollten wir diese beiden Funktion nicht besser allgemein als Array-Funktionen fassen, anstatt sie auf das Hyperpolygon zu beziehen?
@NumbaChecker("(int64, complex128, complex128[:])")
def morigin(p, z0, verticesP):
"""
Apply Moebius transform to an array of length (p+1) of vertices.
Arguments:
-----------
p : int
Number of outer vertices.
z0 : complex128
Vertex that we transform around.
verticesP : Hyperpolygon
Array of vertices + the center that make up the polygon.
"""
for i in range(p + 1):
z = trans.moeb_origin_trafo(z0, verticesP[i])
verticesP[i] = z
@NumbaChecker("(int64, float64, complex128[:])")
def mrotate(p, phi, verticesP):
"""
Rotate an array of length (p + 1) of complex vertices.
Arguments:
-----------
p : int
Number of outer vertices.
phi : float
Angle of rotation
verticesP : complex[]
Array of vertices + the center that make up the polygon.
"""
for i in range(p + 1):
# FIXME: I do not like the - in front of phi as it makes the behaviour more hidden
z = trans.moeb_rotate_trafo(-phi, verticesP[i])
verticesP[i] = z