class_docstr: Base class for 3D cameras supporting orthographic and
  perspective projections.
  
  Parameters
  ----------
  fov : float
      Field of view. Default 60.0.
  scale_factor : scalar
      A measure for the scale/range of the scene that the camera
      should show. The exact meaning differs per camera type.
  **kwargs : dict
      Keyword arguments to pass to `BaseCamera`.
code: def _update_projection_transform(self, fx, fy):
      d = self.depth_value
      fov = max(0.01, self._fov)
      dist = fy / (2 * math.tan(math.radians(fov) / 2))
      val = math.sqrt(d)
      self._projection.set_perspective(
          fov, fx / fy, dist / val, dist * val
      )
  
imports: from __future__ import division
  import math
  import numpy
  from .base_camera import BaseCamera
  from ...util import keys, transforms
  from ...visuals.transforms import MatrixTransform
label_desc: Use image node_id 9 for calling the PerspectiveCamera obj's underlying member method code with example usage: obj._update_projection_transform(fx, fy) without return types