code: def default_360_path(center, up, dist, res=40, rad=360):
      up2 = np.array([0, 0, 1])
      axis = np.cross(up, up2)
      angle = transformations.angle_between_vectors(up, up2)
      rot = transformations.rotation_matrix(-angle, axis)
      trans = transformations.translation_matrix(center)
  
      poses = [
          pose_spherical(angle, 0, dist)
          for angle in np.linspace(-rad / 2, rad / 2, res + 1)[:-1]
      ]
      poses = [
          CameraPose.from_camera_to_world(
              trans @ rot @ p.camera_to_world
          )
          for p in poses
      ]
      return poses
  
file_path: ml-neuman/utils/render_utils.py
imports: import random
  import numpy
  import torch
  import torch.nn.functional
  from pytorch3d.structures import Meshes
  from pytorch3d.renderer import RasterizationSettings, MeshRenderer, MeshRasterizer, HardPhongShader, PointLights, TexturesVertex, PerspectiveCameras
  from PIL import Image
  from cameras.camera_pose import CameraPose
  from utils import ray_utils
  from utils.constant import DEFAULT_GEO_THRESH
  from geometry import transformations
label_desc: Use image node_id 2 for calling a global function with example usage: default_360_path(center, up, dist, res, rad) and returns: poses