'Returns the angle in degrees between this vector and the vector a.'

def angle(self, a):

    n1 = self.length()
    n2 = a.length()
    if ((n1 == 0.0) or (n2 == 0.0)):
        return None
    ang = np.arccos(clip((self.dot(a) / (n1 * n2)), (-1.0), 1.0))
    c = self.cross(a)
    if (c > 0):
        ang *= (-1.0)
    return ((ang * 180.0) / np.pi)
