docstr: Test the Jacobian of the triangle area function.
  
  Args:
    *vertices: List of 3 tuples of shape [3] denoting 3 vertex coordinates.
  Note: 'almost' degenerate triangles are tested instead of completely
    degenrate triangles, as the gradient of tf.Norm is NaN at 0.
docstr_tok: ["Test","the","Jacobian","of","the","triangle","area","function",".","Args",":","*","vertices",":","List","of","3","tuples","of","shape","[","3","]","denoting","3","vertex","coordinates",".","Note",":","'almost","'","degenerate","triangles","are","tested","instead","of","completely","degenrate","triangles",",","as","the","gradient","of","tf.Norm","is","NaN","at","0","."]
code: def test_area_jacobian_preset(self, *vertices):
      """Test the Jacobian of the triangle area function.
  
      Args:
        *vertices: List of 3 tuples of shape [3] denoting 3 vertex coordinates.
      Note: 'almost' degenerate triangles are tested instead of completely
        degenrate triangles, as the gradient of tf.Norm is NaN at 0.
      """
      v0_init, v1_init, v2_init = [np.array(v) for v in vertices]
      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],
          )
  
      with self.subTest(name="v1"):
          self.assert_jacobian_is_correct_fn(
              lambda x: triangle.area(v0_tensor, x, v2_tensor),
              [v1_init],
          )
  
      with self.subTest(name="v2"):
          self.assert_jacobian_is_correct_fn(
              lambda x: triangle.area(v0_tensor, v1_tensor, x),
              [v2_init],
          )
  
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 10 for calling the TriangleTest obj's underlying member method code with example usage: obj.test_area_jacobian_preset() without return types