code: def example_noisy():
      x1 = [0.6, 0.48, 0.64]
      x2 = [-0.8, 0.48, 0.36]
      x3 = [0.48, 0.64, -0.6]
      x = np.random.randn(200, 3) * 0.1
      x[:30] += x1
      x[40:150] += x2
      x[150:] += x3
      x = (x.T / np.sqrt(np.sum(x**2, 1))).T
  
      precision = 100.0
      vmm = select_vmm(list(range(2, 7)), precision, True, x)
      vmm.show(x)
  
      # check that it sums to 1
      s, area = sphere_density(100)
      print((vmm.mixture_density(s) * area).sum())
  
imports: from warnings import warn
  import numpy
label_desc: Use image node_id 5 for calling a global function with example usage: example_noisy() without return types