code: def lookAt(eye, target, up=[0, 0, 1]):
      """Computes matrix to put eye looking at target point."""
      eye = np.asarray(eye).astype(np.float32)
      target = np.asarray(target).astype(np.float32)
      up = np.asarray(up).astype(np.float32)
  
      vforward = eye - target
      vforward /= np.linalg.norm(vforward)
      vright = np.cross(up, vforward)
      vright /= np.linalg.norm(vright)
      vup = np.cross(vforward, vright)
  
      view = np.r_[
          vright,
          -np.dot(vright, eye),
          vup,
          -np.dot(vup, eye),
          vforward,
          -np.dot(vforward, eye),
          [0, 0, 0, 1],
      ].reshape(4, 4, order="F")
  
      return view
  
file_path: vispy/examples/demo/gloo/skybox.py
imports: import numpy
  from math import cos, sin, pi
  from vispy import app, gloo
  from vispy.gloo import gl
  from vispy.io import read_png, load_data_file
  from vispy.util.transforms import perspective
label_desc: Use image node_id 1 for calling a global function with example usage: lookAt(eye, target, up) and returns: view