Ejemplo n.º 1
0
        private void ModifyEdges(double temperature)
        {
            var maxOffset = 2 * (Width + Height) - 4;

            foreach (var sink in SinkPositions.Keys)
            {
                var newPos = IndexToBound(BoundToIndex(SinkPositions[sink]) + (int)((2 * _random.NextDouble() - 1) * maxOffset * temperature));
                SinkPositions = SinkPositions.SetItem(sink, newPos);
            }

            foreach (var source in SourcePositions.Keys)
            {
                var newPos = IndexToBound(BoundToIndex(SourcePositions[source]) + (int)((2 * _random.NextDouble() - 1) * maxOffset * temperature));
                SourcePositions = SourcePositions.SetItem(source, newPos);
            }
        }