code: def convert_to_trihedron(point, space=None):
      """Transform a rigid point into a trihedron.
  
      Transform a rigid point into a trihedron such that:
  
      - the trihedron's base point is the translation of the origin
        of R^3 by the translation part of point,
      - the trihedron's orientation is the rotation of the canonical basis
        of R^3 by the rotation part of point.
      """
      point = gs.to_ndarray(point, to_ndim=2)
      n_points, _ = point.shape
  
      dim_rotations = SO3_GROUP.dim
  
      if space == "SE3_GROUP":
          rot_vec = point[:, :dim_rotations]
          translation = point[:, dim_rotations:]
      elif space == "SO3_GROUP":
          rot_vec = point
          translation = gs.zeros((n_points, 3))
      else:
          raise NotImplementedError(
              "Trihedrons are only implemented for SO(3) and SE(3)."
          )
  
      rot_mat = SO3_GROUP.matrix_from_rotation_vector(rot_vec)
      rot_mat = SO3_GROUP.projection(rot_mat)
      basis_vec_1 = gs.array([1.0, 0.0, 0.0])
      basis_vec_2 = gs.array([0.0, 1.0, 0.0])
      basis_vec_3 = gs.array([0.0, 0.0, 1.0])
  
      trihedrons = []
      for i in range(n_points):
          trihedron_vec_1 = gs.dot(rot_mat[i], basis_vec_1)
          trihedron_vec_2 = gs.dot(rot_mat[i], basis_vec_2)
          trihedron_vec_3 = gs.dot(rot_mat[i], basis_vec_3)
          trihedron = Trihedron(
              translation[i],
              trihedron_vec_1,
              trihedron_vec_2,
              trihedron_vec_3,
          )
          trihedrons.append(trihedron)
      return trihedrons
  
file_path: geomstats/geomstats/visualization/special_orthogonal.py
imports: import matplotlib.pyplot
  from mpl_toolkits.mplot3d import Axes3D
  import geomstats.backend
  from geomstats.geometry.special_orthogonal import SpecialOrthogonal
label_desc: Use image node_id 1 for calling a global function with example usage: convert_to_trihedron(point, space) and returns: trihedrons