(p1, center, angle_x, angle_y, angle_z)
return ps
Rotate a point in 3D around center
    :param p1: point in 3D (x,y,z)
    :param center: 3D center of rotation
    :param angle_x: angle around x-axis in deg
    :param angle_y: angle around y-axis in deg
    :param angle_z: angle around z-axis in deg
    :return: rotated point
Rotate a point in 3D around center
    :param p1: point in 3D (x,y,z)
    :param center: 3D center of rotation
    :param angle_x: angle around x-axis in deg
    :param angle_y: angle around y-axis in deg
    :param angle_z: angle around z-axis in deg
    :return: rotated point
Rotate a point in 3D around center : param p1 : point in 3D ( x y z ) : param center : 3D center of rotation : param angle_x : angle around x - axis in deg : param angle_y : angle around y - axis in deg : param angle_z : angle around z - axis in deg : return : rotated point
def rotatePoint3D(p1, center, angle_x, angle_y, angle_z):
    """
    Rotate a point in 3D around center
    :param p1: point in 3D (x,y,z)
    :param center: 3D center of rotation
    :param angle_x: angle around x-axis in deg
    :param angle_y: angle around y-axis in deg
    :param angle_z: angle around z-axis in deg
    :return: rotated point
    """
    pp = p1.copy()
    pp -= center
    R = getRotationMatrix(angle_x, angle_y, angle_z)
    pr = numpy.array([pp[0], pp[1], pp[2], 1])
    ps = numpy.dot(R, pr)
    ps = ps[0:3] / ps[3]
    ps += center
    return ps
def rotatePoint3D ( p1 , center , angle_x , angle_y , angle_z ) : pp = p1 . copy ( ) pp -= center R = getRotationMatrix ( angle_x , angle_y , angle_z ) pr = numpy . array ( [ pp [ 0 ] , pp [ 1 ] , pp [ 2 ] , 1 ] ) ps = numpy . dot ( R , pr ) ps = ps [ 0 : 3 ] / ps [ 3 ] ps += center return ps