(corners)
return surfaces
convert 3d box corners from corner function above
    to surfaces that normal vectors all direct to internal.

    Args:
        corners (float array, [N, 8, 3]): 3d box corners. 
    Returns:
        surfaces (float array, [N, 6, 4, 3]):
convert 3d box corners from corner function above
    to surfaces that normal vectors all direct to internal.
convert 3d box corners from corner function above to surfaces that normal vectors all direct to internal .
def corner_to_surfaces_3d(corners):
    """convert 3d box corners from corner function above
    to surfaces that normal vectors all direct to internal.

    Args:
        corners (float array, [N, 8, 3]): 3d box corners. 
    Returns:
        surfaces (float array, [N, 6, 4, 3]): 
    """
    # box_corners: [N, 8, 3], must from corner functions in this module
    surfaces = np.array([
        [corners[:, 0], corners[:, 1], corners[:, 2], corners[:, 3]],
        [corners[:, 7], corners[:, 6], corners[:, 5], corners[:, 4]],
        [corners[:, 0], corners[:, 3], corners[:, 7], corners[:, 4]],
        [corners[:, 1], corners[:, 5], corners[:, 6], corners[:, 2]],
        [corners[:, 0], corners[:, 4], corners[:, 5], corners[:, 1]],
        [corners[:, 3], corners[:, 2], corners[:, 6], corners[:, 7]],
    ]).transpose([2, 0, 1, 3])
    return surfaces
def corner_to_surfaces_3d ( corners ) : # box_corners: [N, 8, 3], must from corner functions in this module surfaces = np . array ( [ [ corners [ : , 0 ] , corners [ : , 1 ] , corners [ : , 2 ] , corners [ : , 3 ] ] , [ corners [ : , 7 ] , corners [ : , 6 ] , corners [ : , 5 ] , corners [ : , 4 ] ] , [ corners [ : , 0 ] , corners [ : , 3 ] , corners [ : , 7 ] , corners [ : , 4 ] ] , [ corners [ : , 1 ] , corners [ : , 5 ] , corners [ : , 6 ] , corners [ : , 2 ] ] , [ corners [ : , 0 ] , corners [ : , 4 ] , corners [ : , 5 ] , corners [ : , 1 ] ] , [ corners [ : , 3 ] , corners [ : , 2 ] , corners [ : , 6 ] , corners [ : , 7 ] ] , ] ) . transpose ( [ 2 , 0 , 1 , 3 ] ) return surfaces