def horizontal_angle(C, P):
        """Return the angle to the horizontal for the connection from C to P.
        This uses the arcus sine function and resolves its inherent ambiguity by
        looking up in which quadrant vector S = P - C is located.
        """
        S = Point(P - C).unit                   # unit vector 'C' -> 'P'
        alfa = math.asin(abs(S.y))              # absolute angle from horizontal
        if S.x < 0:                             # make arcsin result unique
            if S.y <= 0:                        # bottom-left
                alfa = -(math.pi - alfa)
            else:                               # top-left
                alfa = math.pi - alfa
        else:
            if S.y >= 0:                        # top-right
                pass
            else:                               # bottom-right
                alfa = - alfa
        return alfa
Return the angle to the horizontal for the connection from C to P.
        This uses the arcus sine function and resolves its inherent ambiguity by
        looking up in which quadrant vector S = P - C is located.