code: def on_resize(self, event):
      width, height = event.physical_size
      gloo.set_viewport(0, 0, width, height)
      self.projection = perspective(
          25.0, width / float(height), 2.0, 100.0
      )
      self.program["u_projection"] = self.projection
  
file_path: vispy/examples/demo/gloo/molecular_viewer.py
imports: import numpy
  from vispy import gloo
  from vispy import app
  from vispy.util.transforms import perspective, translate, rotate
  from vispy.io import load_data_file
label_desc: Use image node_id 6 for calling the Canvas obj's underlying member method code with example usage: obj.on_resize(event) without return types