private Scalies CreateScales(float[] centers)
        {
            Scalies scalies = new Scalies();

            //centers.ForEach(c => scalies.ScaleList.Add(new Scale()
            //{
            //    A = new Point(c - 50, 0),
            //    B = new Point(c, 1),
            //    C = new Point(c + 50, 0)
            //}));

            //_pointsX.ForEach(p => scalies.Add(p));

            foreach (var center in centers)
            {
                scalies.ScaleList.Add(new Scale()
                {
                    A = new Point(center - 50, 0),
                    B = new Point(center, 1),
                    C = new Point(center + 50, 0)
                });
            }

            foreach (var i in _pointsX)
            {
                scalies.Add(i);
            }

            return(scalies);
        }
        public FuzzyTimeSeriesWindow(TimeSeries series, Scalies scales)
        {
            _series = series;
            _scales = scales;

            InitializeComponent();

            DrawGraphic();
        }
 private void DrawNextIteration()
 {
     try
     {
         float[] centers = GetNextCenters();
         Scalies scales  = CreateScales(centers);
         DrawScale(scales);
     }
     catch (IndexOutOfRangeException)
     {
         MessageBox.Show("Последняя итерация");
     }
 }
        private void DrawScale(Scalies scales)
        {
            Canvas.Children.Clear();
            foreach (var scale in scales.ScaleList)
            {
                Fuzzy_logic.DrawScale.Draw(scale, Canvas);
            }

            foreach (var box in _textBoxes)
            {
                Canvas.Children.Add(box);
            }
        }
 public void OnGetScales(Scalies scales)
 {
     GetScalesEventHandler?.Invoke(this, scales);
 }
 private void GetScalesEventHandler(object sender, Scalies scales)
 {
     _scales = scales;
 }
 public MainWindow()
 {
     _scales     = new Scalies();
     _timeSeries = new TimeSeries();
     InitializeComponent();
 }