(p1, center, angle)
return ps
Rotate a point in 2D around center
    :param p1: point in 2D (u,v,d)
    :param center: 2D center of rotation
    :param angle: angle in deg
    :return: rotated point
Rotate a point in 2D around center
    :param p1: point in 2D (u,v,d)
    :param center: 2D center of rotation
    :param angle: angle in deg
    :return: rotated point
Rotate a point in 2D around center : param p1 : point in 2D ( u v d ) : param center : 2D center of rotation : param angle : angle in deg : return : rotated point
def rotatePoint2D(p1, center, angle):
    """
    Rotate a point in 2D around center
    :param p1: point in 2D (u,v,d)
    :param center: 2D center of rotation
    :param angle: angle in deg
    :return: rotated point
    """
    alpha = angle * numpy.pi / 180.
    pp = p1.copy()
    pp[0:2] -= center[0:2]
    pr = numpy.zeros_like(pp)
    pr[0] = pp[0]*numpy.cos(alpha) - pp[1]*numpy.sin(alpha)
    pr[1] = pp[0]*numpy.sin(alpha) + pp[1]*numpy.cos(alpha)
    pr[2] = pp[2]
    ps = pr
    ps[0:2] += center[0:2]
    return ps
def rotatePoint2D ( p1 , center , angle ) : alpha = angle * numpy . pi / 180. pp = p1 . copy ( ) pp [ 0 : 2 ] -= center [ 0 : 2 ] pr = numpy . zeros_like ( pp ) pr [ 0 ] = pp [ 0 ] * numpy . cos ( alpha ) - pp [ 1 ] * numpy . sin ( alpha ) pr [ 1 ] = pp [ 0 ] * numpy . sin ( alpha ) + pp [ 1 ] * numpy . cos ( alpha ) pr [ 2 ] = pp [ 2 ] ps = pr ps [ 0 : 2 ] += center [ 0 : 2 ] return ps