code: def perspective(fovy, aspect, znear, zfar):
      """Create perspective projection matrix
  
      Parameters
      ----------
      fovy : float
          The field of view along the y axis.
      aspect : float
          Aspect ratio of the view.
      znear : float
          Near coordinate of the field of view.
      zfar : float
          Far coordinate of the field of view.
  
      Returns
      -------
      M : ndarray
          Perspective projection matrix (4x4).
      """
      assert znear != zfar
      h = math.tan(fovy / 360.0 * math.pi) * znear
      w = h * aspect
      return frustum(-w, w, -h, h, znear, zfar)
  
file_path: vispy/vispy/util/transforms.py
imports: from __future__ import division
  import math
  import numpy
label_desc: Use image node_id 6 for calling a global function with example usage: perspective(fovy, aspect, znear, zfar) and returns: frustum