code: def homotrans(M, p):
      p = np.asarray(p)
      if p.shape[-1] == M.shape[1] - 1:
          p = np.append(p, np.ones_like(p[..., :1]), -1)
      p = np.dot(p, M.T)
      return p[..., :-1] / p[..., -1:]
  
file_path: lucid/lucid/misc/gl/meshutil.py
imports: from builtins import str
  from collections import OrderedDict
  import numpy
label_desc: Use image node_id 7 for calling a global function with example usage: homotrans(M, p) and returns: unknown