def slice_cube(cube):
slices = np.zeros((cube.shape[0], cube.shape[0], 9), dtype=np.float32)
# axis-aligned
slices[:,:,0] = cube[np.floor(cube.shape[0] / 2).astype(int), :, :]
slices[:,:,1] = cube[:, np.floor(cube.shape[0] / 2).astype(int), :]
slices[:,:,2] = cube[:, :, np.floor(cube.shape[0] / 2).astype(int)]
# diagonals
slices[:,:,3] = cube.diagonal(axis1=0, axis2=1)
slices[:,:,4] = cube.diagonal(axis1=0, axis2=2)
slices[:,:,5] = cube.diagonal(axis1=1, axis2=2)
slices[:,:,6] = np.flip(cube, 0).diagonal(axis1=0, axis2=1)
slices[:,:,7] = np.flip(cube, 0).diagonal(axis1=0, axis2=2)
slices[:,:,8] = np.flip(cube, 1).diagonal(axis1=1, axis2=2)
return slices
评论列表
文章目录