parameters: (batch_data)
return_statement: return np.dot(batch_data, rotation_matrix)
docstring: Randomly rotate the point clouds to augument the dataset
          rotation is per shape based along up direction
          Input:
            BxNx3 array, original batch of point clouds
          Return:
            BxNx3 array, rotated batch of point clouds
docstring_summary: Randomly rotate the point clouds to augument the dataset
          rotation is per shape based along up direction
          Input:
            BxNx3 array, original batch of point clouds
          Return:
            BxNx3 array, rotated batch of point clouds
docstring_tokens: Randomly rotate the point clouds to augument the dataset rotation is per shape based along up direction Input : BxNx3 array original batch of point clouds Return : BxNx3 array rotated batch of point clouds
function: def rotate_point_cloud_z(batch_data):
      """ Randomly rotate the point clouds to augument the dataset
          rotation is per shape based along up direction
          Input:
            BxNx3 array, original batch of point clouds
          Return:
            BxNx3 array, rotated batch of point clouds
      """
      rotation_angle = np.random.uniform() * 2 * np.pi
      cosval = np.cos(rotation_angle)
      sinval = np.sin(rotation_angle)
      rotation_matrix = np.array([[cosval, sinval, 0],
                                  [-sinval, cosval, 0],
                                  [0, 0, 1],])
      return np.dot(batch_data, rotation_matrix)
function_tokens: def rotate_point_cloud_z ( batch_data ) : rotation_angle = np . random . uniform ( ) * 2 * np . pi cosval = np . cos ( rotation_angle ) sinval = np . sin ( rotation_angle ) rotation_matrix = np . array ( [ [ cosval , sinval , 0 ] , [ - sinval , cosval , 0 ] , [ 0 , 0 , 1 ] , ] ) return np . dot ( batch_data , rotation_matrix )