(self, entity_positions)
return engine.Pose(
        lookat=centroid,
        distance=camera_distance,
        azimuth=self._azimuth,
        elevation=self._elevation,
    )
Returns the pose that the camera should be pulled toward.

    Args:
      entity_positions: list of numpy arrays representing current positions of
        the entities to be tracked.
    Returns: mujoco.engine.Pose representing the target camera pose.
Returns the pose that the camera should be pulled toward.
Returns the pose that the camera should be pulled toward .
def _get_target_camera_pose(self, entity_positions):
    """Returns the pose that the camera should be pulled toward.

    Args:
      entity_positions: list of numpy arrays representing current positions of
        the entities to be tracked.
    Returns: mujoco.engine.Pose representing the target camera pose.
    """
    stacked_positions = np.stack(entity_positions)
    centroid = np.mean(stacked_positions, axis=0)
    radii = np.linalg.norm(stacked_positions - centroid, axis=1)
    assert len(radii) == len(entity_positions)
    camera_distance = self._min_distance + self._distance_factor * np.max(radii)
    return engine.Pose(
        lookat=centroid,
        distance=camera_distance,
        azimuth=self._azimuth,
        elevation=self._elevation,
    )
def _get_target_camera_pose ( self , entity_positions ) : stacked_positions = np . stack ( entity_positions ) centroid = np . mean ( stacked_positions , axis = 0 ) radii = np . linalg . norm ( stacked_positions - centroid , axis = 1 ) assert len ( radii ) == len ( entity_positions ) camera_distance = self . _min_distance + self . _distance_factor * np . max ( radii ) return engine . Pose ( lookat = centroid , distance = camera_distance , azimuth = self . _azimuth , elevation = self . _elevation , )