docstr: Test the Jacobian of the triangle normal function.
docstr_tok: ["Test","the","Jacobian","of","the","triangle","normal","function","."]
code: def test_area_jacobian_random(self):
      """Test the Jacobian of the triangle normal function."""
      tensor_size = np.random.randint(3)
      tensor_shape = np.random.randint(
          1, 10, size=(tensor_size)
      ).tolist()
      v0_init, v1_init, v2_init = [
          np.random.random(size=tensor_shape + [3]) for _ in range(3)
      ]
      v0_tensor, v1_tensor, v2_tensor = [
          tf.convert_to_tensor(value=v)
          for v in [v0_init, v1_init, v2_init]
      ]
  
      with self.subTest(name="v0"):
          self.assert_jacobian_is_correct_fn(
              lambda x: triangle.area(x, v1_tensor, v2_tensor),
              [v0_init],
              atol=1e-4,
              delta=1e-9,
          )
  
      with self.subTest(name="v1"):
          self.assert_jacobian_is_correct_fn(
              lambda x: triangle.area(v0_tensor, x, v2_tensor),
              [v1_init],
              atol=1e-4,
              delta=1e-9,
          )
  
      with self.subTest(name="v2"):
          self.assert_jacobian_is_correct_fn(
              lambda x: triangle.area(v0_tensor, v1_tensor, x),
              [v2_init],
              atol=1e-4,
              delta=1e-9,
          )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import numpy
  from six.moves import range
  import tensorflow
  from tensorflow_graphics.geometry.representation import triangle
  from tensorflow_graphics.math import vector
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 11 for calling the TriangleTest obj's underlying member method code with example usage: obj.test_area_jacobian_random() without return types