// Use this for initialization
    void Start ()
    {
        if (goldenRatio)
            seedAngle = Mathf.PI * (3 - Mathf.Sqrt(5));
        if (sqrt2)
            seedAngle = Mathf.Sqrt(2);
        if (sqrt3)
            seedAngle = Mathf.Sqrt(3);
        if (pi)
            seedAngle = Mathf.PI;
        if (sqrt7)
            seedAngle = Mathf.Sqrt(7);
        if (e)
            seedAngle = Mathf.Exp(1);
        if (other)
            seedAngle = otherNum;
        if (flange)
            seedAngle = Mathf.Sin(2 * Mathf.PI * Time.time * flangeAmount);

        waveGen = this.gameObject.GetComponent<waveGenerator>();
        sqrtNumOfSpheres = Mathf.Sqrt(numberOfSpheres);

        ys = libSVM.Numpy.LinSpace(1 - 1 / numberOfSpheres, 1 / numberOfSpheres - 1, numberOfSpheres).ToList<double>().ConvertAll(x => (float)x);

        for (int i = 0; i < numberOfSpheres; i++)
        {
            theta = i * seedAngle;
            r = Mathf.Sqrt(i) / sqrtNumOfSpheres;
            
            radius = Mathf.Sqrt(1 - ys[i] * ys[i]);
            positions[i] = new Vector3(radius*Mathf.Cos(theta),ys[i],radius*Mathf.Sin(theta));

            GameObject temp = GameObject.Instantiate(spiralSphere, positions[i], Quaternion.identity) as GameObject;
            temp.transform.SetParent(transform, false);
            temp.transform.position = transform.TransformPoint(temp.transform.position);
            spheres.Add(temp);
        }
        //Debug.Log(ys.Count);
        StartCoroutine("timedUpdate");
    }
	// Use this for initialization
	void Start ()
    {
        waveGen = gameObject.GetComponent<waveGenerator>();
    }