Example #1
0
    public SimplexNoise(int largestFeature, double persistence, int seed)
    {
        // Receives a number (eg 128) and calculates what power of 2 it is (eg 2^7)
        int numberOfOctaves = (int)Math.Ceiling(Math.Log10(largestFeature) / Math.Log10(2));

        octaves    = new SimplexNoiseOctave[numberOfOctaves];
        frequencys = new double[numberOfOctaves];
        amplitudes = new double[numberOfOctaves];

        Random rand = new(seed);

        for (int i = 0; i < numberOfOctaves; i++)
        {
            octaves[i] = new SimplexNoiseOctave(rand.Next());

            frequencys[i] = Math.Pow(2, i);
            amplitudes[i] = Math.Pow(persistence, octaves.Length - i);
        }
    }
        public SimplexNoise(int largest, double persistence, int seed)
        {
            this.largestFeature = largest;
            this.persistence    = persistence;
            this.seed           = seed;

            int numOctaves = (int)Math.Ceiling(Math.Log10(largest) / Math.Log10(2));

            octaves     = new SimplexNoiseOctave[numOctaves];
            frequencies = new double[numOctaves];
            amplitudes  = new double[numOctaves];

            Random r = new Random(seed);

            for (int i = 0; i < numOctaves; ++i)
            {
                octaves[i]     = new SimplexNoiseOctave(r.Next());
                frequencies[i] = Math.Pow(2, i);
                amplitudes[i]  = Math.Pow(persistence, numOctaves - i);
            }
        }