Ejemplo n.º 1
0
        /// <summary>
        /// Constructs a new FrequencyFloatGenerator object. The given elements and frequencies
        /// together describe a piecewise linear distribution.
        /// </summary>
        /// <param name="elements">Samples of elements to generate.</param>
        /// <param name="frequencies">The (relative) frequency to generate the sample at.</param>
        public FrequencyFloatGenerator(IEnumerable <float> elements, IEnumerable <float> frequencies)
        {
            var accumulutiveProbability = new List <float>();

            accumulativeSum = 0f;

            foreach (var frequency in frequencies)
            {
                accumulativeSum += frequency;
                accumulutiveProbability.Add(accumulativeSum);
            }

            responseCurve  = new ResponseCurveFloat(accumulutiveProbability, elements);
            floatGenerator = new UniformFloatGenerator();
        }
Ejemplo n.º 2
0
        public static ResponseCurveFloat GetLerp(float x0, float x1, float y0, float y1)
        {
            var input  = new List <float>();
            var output = new List <float>();

            input.Add(x0);
            input.Add(x1);

            output.Add(y0);
            output.Add(y1);

            var responseCurve = new ResponseCurveFloat(input, output);

            return(responseCurve);
        }