Ejemplo n.º 1
0
        private Dictionary <int, int> GetDistribution(RandomGeneratorInterface generator)
        {
            var buckets = new Dictionary <int, int>();

            for (var i = 0; i < graphIterations; i++)
            {
                var bucket = Mathf.FloorToInt(generator.Get() / graphPrecision);

                if (!buckets.ContainsKey(bucket))
                {
                    buckets[bucket] = 0;
                }

                buckets[bucket]++;
            }

            return(buckets);
        }
Ejemplo n.º 2
0
        private void DrawDistribution(RandomGeneratorInterface generator, LineRenderer lineRenderer)
        {
            var buckets    = GetDistribution(generator);
            var positions  = new List <Vector3>();
            var numBuckets = buckets.Count;
            var minX       = buckets.Keys.Min() + 1;
            var maxX       = buckets.Keys.Max() - 1;
            var maxY       = (float)buckets.Values.Max();

            for (var i = minX; i < maxX; i++)
            {
                var y = buckets.ContainsKey(i) ? buckets[i] : 0f;

                positions.Add(new Vector3(i * graphPrecision, 10 * y / maxY, 0));
            }

            lineRenderer.positionCount = positions.Count;
            lineRenderer.SetPositions(positions.ToArray());
        }