import torch


def vox2world(vol_origin: torch.Tensor, vox_coords: torch.Tensor, vox_size) -> torch.Tensor:
    """
    Converts voxel grid coordinates to world coordinates

    :param vol_origin: Origin of the volume in world coordinates, (3,1).
    :parma vol_coords: List of all grid coordinates in the volume, (N,3).
    :param vol_size: Size of volume.
    :retrun: Grid points under world coordinates. Tensor with shape (N, 3)
    """

    cam_pts = torch.empty_like(vox_coords, dtype=torch.float32)
    cam_pts = vol_origin + (vox_size * vox_coords)

    return cam_pts