class_docstr: Galaxy simulation using the density wave theory 
code: def reset(
      self, rad, radCore, deltaAng, ex1, ex2, sigma, velInner, velOuter
  ):
      # Initialize parameters
      # ---------------------
      self._inner_eccentricity = ex1
      self._outer_eccentricity = ex2
      self._inner_velocity = velInner
      self._outer_velocity = velOuter
      self._angular_offset = deltaAng
      self._core_radius = radCore
      self._galaxy_radius = rad
      self._distant_radius = self._galaxy_radius * 2
      self.m_sigma = sigma
  
      # Initialize stars
      # ----------------
      stars = self._stars
      R = np.random.normal(0, sigma, len(stars)) * self._galaxy_radius
      stars["m_a"] = R
      stars["angle"] = 90 - R * self._angular_offset
      stars["theta"] = np.random.uniform(0, 360, len(stars))
      stars["temperature"] = np.random.uniform(3000, 9000, len(stars))
      stars["brightness"] = np.random.uniform(0.05, 0.25, len(stars))
      stars["velocity"] = 0.000005
  
      for i in range(len(stars)):
          stars["m_b"][i] = R[i] * self.eccentricity(R[i])
  
      # Initialize dust
      # ---------------
      dust = self._dust
      X = np.random.uniform(0, 2 * self._galaxy_radius, len(dust))
      Y = np.random.uniform(
          -self._galaxy_radius, self._galaxy_radius, len(dust)
      )
      R = np.sqrt(X * X + Y * Y)
      dust["m_a"] = R
      dust["angle"] = R * self._angular_offset
      dust["theta"] = np.random.uniform(0, 360, len(dust))
      dust["velocity"] = 0.000005
      dust["temperature"] = 6000 + R / 4
      dust["brightness"] = np.random.uniform(0.01, 0.02)
      for i in range(len(dust)):
          dust["m_b"][i] = R[i] * self.eccentricity(R[i])
  
      # Initialise H-II
      # ---------------
      h2a, h2b = self._h2a, self._h2b
      X = np.random.uniform(
          -self._galaxy_radius, self._galaxy_radius, len(h2a)
      )
      Y = np.random.uniform(
          -self._galaxy_radius, self._galaxy_radius, len(h2a)
      )
      R = np.sqrt(X * X + Y * Y)
  
      h2a["m_a"] = R
      h2b["m_a"] = R + 1000
  
      h2a["angle"] = R * self._angular_offset
      h2b["angle"] = h2a["angle"]
  
      h2a["theta"] = np.random.uniform(0, 360, len(h2a))
      h2b["theta"] = h2a["theta"]
  
      h2a["velocity"] = 0.000005
      h2b["velocity"] = 0.000005
  
      h2a["temperature"] = np.random.uniform(3000, 9000, len(h2a))
      h2b["temperature"] = h2a["temperature"]
  
      h2a["brightness"] = np.random.uniform(0.005, 0.010, len(h2a))
      h2b["brightness"] = h2a["brightness"]
  
      for i in range(len(h2a)):
          h2a["m_b"][i] = R[i] * self.eccentricity(R[i])
      h2b["m_b"] = h2a["m_b"]
  
file_path: vispy/examples/demo/gloo/galaxy/galaxy_simulation.py
imports: import math
  import numpy
label_desc: Use image node_id 4 for calling the Galaxy obj's underlying member method code with example usage: obj.reset(rad, radCore, deltaAng, ex1, ex2, sigma, velInner, velOuter) without return types