code: def coplanar_tri_faces(
      tri1: torch.Tensor, tri2: torch.Tensor, eps: float = DOT_EPS
  ):
      """
      Determines whether two triangle faces in 3D are coplanar
      Args:
          tri1: tensor of shape (3, 3) of the vertices of the 1st triangle
          tri2: tensor of shape (3, 3) of the vertices of the 2nd triangle
      Returns:
          is_coplanar: bool
      """
      tri1_ctr, tri1_n = get_tri_center_normal(tri1)
      tri2_ctr, tri2_n = get_tri_center_normal(tri2)
  
      check1 = tri1_n.dot(tri2_n).abs() > 1 - eps  # checks if parallel
  
      dist12 = torch.norm(tri1.unsqueeze(1) - tri2.unsqueeze(0), dim=-1)
      dist12_argmax = dist12.argmax()
      i1 = dist12_argmax // 3
      i2 = dist12_argmax % 3
      assert dist12[i1, i2] == dist12.max()
  
      check2 = (
          F.normalize(tri1[i1] - tri2[i2], dim=0).dot(tri1_n).abs()
          < eps
      ) or F.normalize(tri1[i1] - tri2[i2], dim=0).dot(
          tri2_n
      ).abs() < eps
  
      return check1 and check2
  
imports: import pickle
  import random
  import unittest
  from typing import List, Tuple, Union
  import torch
  import torch.nn.functional
  from pytorch3d.io import save_obj
  from pytorch3d.ops.iou_box3d import _box_planes, _box_triangles, box3d_overlap
  from pytorch3d.transforms.rotation_conversions import random_rotation
  from .common_testing import get_random_cuda_device, get_tests_dir, TestCaseMixin
label_desc: Use image node_id 8 for calling a global function with example usage: coplanar_tri_faces(tri1, tri2, eps) and returns: unknown