class_docstr: Class to handle camera geometry.
class_docstr_tok: ["Class","to","handle","camera","geometry","."]
docstr: Scales the camera.
docstr_tok: ["Scales","the","camera","."]
code: def scale(self, scale: float):
      """Scales the camera."""
      if scale <= 0:
          raise ValueError("scale needs to be positive.")
  
      new_camera = Camera(
          orientation=self.orientation.copy(),
          position=self.position.copy(),
          focal_length=self.focal_length * scale,
          principal_point=self.principal_point.copy() * scale,
          skew=self.skew,
          pixel_aspect_ratio=self.pixel_aspect_ratio,
          radial_distortion=self.radial_distortion.copy(),
          tangential_distortion=self.tangential_distortion.copy(),
          image_size=np.array(
              (
                  int(round(self.image_size[0] * scale)),
                  int(round(self.image_size[1] * scale)),
              )
          ),
      )
      return new_camera
  
imports: import copy
  import json
  from typing import Tuple, Union, Optional
  import numpy
  from nerfies import gpath
  from nerfies import types
label_desc: Use image node_id 22 for calling the Camera obj's underlying member method code with example usage: obj.scale(scale) and returns: new_camera