code: def _classify_point_to_plane(point, plane, normal, axis):
      """Classify position of a point w.r.t the given plane.
  
      See Real-Time Collision Detection, by Christer Ericson, page 364.
  
      Args:
          point: 3x1 vector indicating the point
          plane: 3x1 vector indicating a point on the plane
          normal: scalar (+1, or -1) indicating the normal to the vector
          axis: scalar (0, 1, or 2) indicating the xyz axis
  
      Returns:
          which side of the plane the point is located
      """
      signed_distance = normal * (point[axis] - plane[axis])
      if signed_distance > _PLANE_THICKNESS_EPSILON:
          return _POINT_IN_FRONT_OF_PLANE
  
      if signed_distance < -_PLANE_THICKNESS_EPSILON:
          return _POINT_BEHIND_PLANE
  
      return _POINT_ON_PLANE
  
imports: import itertools
  import logging
  import warnings
  import numpy
  import scipy.spatial
  import eta.core.numutils
  import fiftyone.core.fields
  import fiftyone.core.labels
  import fiftyone.core.media
  from fiftyone.core.sample import Sample
  import fiftyone.core.utils
  import fiftyone.core.validation
  from fiftyone.core.odm import DynamicEmbeddedDocument
  import fiftyone.utils.image
label_desc: Use image node_id 3 for calling a global function with example usage: _classify_point_to_plane(point, plane, normal, axis) and returns: _POINT_ON_PLANE, _POINT_IN_FRONT_OF_PLANE, _POINT_BEHIND_PLANE