code: def _ico(radius, subdivisions):
      # golden ratio
      t = (1.0 + np.sqrt(5.0)) / 2.0
  
      # vertices of a icosahedron
      verts = [
          (-1, t, 0),
          (1, t, 0),
          (-1, -t, 0),
          (1, -t, 0),
          (0, -1, t),
          (0, 1, t),
          (0, -1, -t),
          (0, 1, -t),
          (t, 0, -1),
          (t, 0, 1),
          (-t, 0, -1),
          (-t, 0, 1),
      ]
  
      # faces of the icosahedron
      faces = [
          (0, 11, 5),
          (0, 5, 1),
          (0, 1, 7),
          (0, 7, 10),
          (0, 10, 11),
          (1, 5, 9),
          (5, 11, 4),
          (11, 10, 2),
          (10, 7, 6),
          (7, 1, 8),
          (3, 9, 4),
          (3, 4, 2),
          (3, 2, 6),
          (3, 6, 8),
          (3, 8, 9),
          (4, 9, 5),
          (2, 4, 11),
          (6, 2, 10),
          (8, 6, 7),
          (9, 8, 1),
      ]
  
      def midpoint(v1, v2):
          return (
              (v1[0] + v2[0]) / 2,
              (v1[1] + v2[1]) / 2,
              (v1[2] + v2[2]) / 2,
          )
  
      # subdivision
      for _ in range(subdivisions):
          for idx in range(len(faces)):
              i, j, k = faces[idx]
              a, b, c = verts[i], verts[j], verts[k]
              ab, bc, ca = (
                  midpoint(a, b),
                  midpoint(b, c),
                  midpoint(c, a),
              )
              verts += [ab, bc, ca]
              ij, jk, ki = (
                  len(verts) - 3,
                  len(verts) - 2,
                  len(verts) - 1,
              )
              faces.append([i, ij, ki])
              faces.append([ij, j, jk])
              faces.append([ki, jk, k])
              faces[idx] = [jk, ki, ij]
      verts = np.array(verts, dtype=np.float32)
      faces = np.array(faces, dtype=np.uint32)
  
      # make each vertex to lie on the sphere
      lengths = np.sqrt((verts * verts).sum(axis=1))
      verts /= lengths[:, np.newaxis] / radius
      return MeshData(vertices=verts, faces=faces)
  
file_path: vispy/vispy/geometry/generation.py
imports: from __future__ import division
  import numpy
  from .meshdata import MeshData
label_desc: Use image node_id 5 for calling a global function with example usage: _ico(radius, subdivisions) and returns: MeshData, unknown,  unknown,  unknown