docstr: Tests the Jacobian of perspective_right_handed.
docstr_tok: ["Tests","the","Jacobian","of","perspective_right_handed","."]
code: def test_perspective_right_handed_cross_jacobian_random(self):
      """Tests the Jacobian of perspective_right_handed."""
      tensor_size = np.random.randint(1, 3)
      tensor_shape = np.random.randint(
          1, 5, size=(tensor_size)
      ).tolist()
      eps = np.finfo(np.float64).eps
      vertical_field_of_view_init = np.random.uniform(
          eps, math.pi - eps, size=tensor_shape + [1]
      )
      aspect_ratio_init = np.random.uniform(
          eps, 100.0, size=tensor_shape + [1]
      )
      near_init = np.random.uniform(eps, 10.0, size=tensor_shape + [1])
      far_init = np.random.uniform(
          10 + eps, 100.0, size=tensor_shape + [1]
      )
  
      self.assert_jacobian_is_correct_fn(
          perspective.right_handed,
          [
              vertical_field_of_view_init,
              aspect_ratio_init,
              near_init,
              far_init,
          ],
      )
  
imports: import math
  import sys
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_graphics.rendering.camera import perspective
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 10 for calling the PerspectiveTest obj's underlying member method code with example usage: obj.test_perspective_right_handed_cross_jacobian_random() without return types