code: def compute_box_3d(size, center, rotmat):
      """Compute corners of a single box from rotation matrix
      Args:
          size: list of float [dx, dy, dz]
          center: np.array [x, y, z]
          rotmat: np.array (3, 3)
      Returns:
          corners: (8, 3)
      """
      l, h, w = [i / 2 for i in size]
      center = np.reshape(center, (-1, 3))
      center = center.reshape(3)
      x_corners = [l, l, -l, -l, l, l, -l, -l]
      y_corners = [h, -h, -h, h, h, -h, -h, h]
      z_corners = [w, w, w, w, -w, -w, -w, -w]
      corners_3d = np.dot(
          np.transpose(rotmat),
          np.vstack([x_corners, y_corners, z_corners]),
      )
      corners_3d[0, :] += center[0]
      corners_3d[1, :] += center[1]
      corners_3d[2, :] += center[2]
      return np.transpose(corners_3d)
  
file_path: ARKitScenes/threedod/benchmark_scripts/utils/box_utils.py
imports: import numpy
  import scipy.spatial
  from .rotation import rotate_points_along_z
label_desc: Use image node_id 3 for calling a global function with example usage: compute_box_3d(size, center, rotmat) and returns: np