hamid18 Ответов: 1

Прямоугольная волна или последовательность импульсов в WPF


как мы можем нарисовать прямоугольную волну или последовательность импульсов в WPF? Я читал в интернете .. но не смог найти никакого решения.. единственное решение, которое я нашел, которое было близко, - это использование функции синуса.. это было использование частоты... Но у меня нет никакой частоты... у меня есть массив целых чисел.. и я хочу нарисовать квадратную волну из этих целых чисел.. Поскольку эти целые числа представляют переходное состояние волны...

Что я уже пробовал:

На ImageShack - ранг: GR1.ПНГ[^]

Line redLine = new Line();

            redLine.X1 = 100;

            redLine.Y1 = 0;

            redLine.X2 = 200;

            redLine.Y2 = 0;
            SolidColorBrush redBrush = new SolidColorBrush();

            redBrush.Color = Colors.Red;
            redLine.StrokeThickness = 4;

            redLine.Stroke = redBrush;
            myCanvas.Children.Add(redLine);


            Line Line = new Line();

            Line.X1 = 200;

            Line.Y1 = 0;

           Line.X2 = 200;

            Line.Y2 = 150;
            SolidColorBrush Brush = new SolidColorBrush();

          Brush.Color = Colors.Black;
         Line.StrokeThickness = 4;

            Line.Stroke = Brush;
            myCanvas.Children.Add(Line);

            Line line = new Line();

            line.X1 = 200;

            line.Y1 = 150;

            line.X2 = 400;

            line.Y2 = 150;
            SolidColorBrush brush = new SolidColorBrush();

            brush.Color = Colors.Orange;
            line.StrokeThickness = 4;

            line.Stroke = Brush;
            myCanvas.Children.Add(line);

            Line line4 = new Line();

            line4.X1 = 400;

            line4.Y1 = 150;

            line4.X2 = 400;

            line4.Y2 = 500;
            SolidColorBrush brush4 = new SolidColorBrush();

            brush4.Color = Colors.Blue;
            line4.StrokeThickness = 4;

            line4.Stroke = Brush;
            myCanvas.Children.Add(line4);

Richard MacCutchan

Значения частоты-это просто числа, такие же, как и целые числа. Рисование волны-это всего лишь вопрос построения значений на графике. Создайте свои оси, а затем вычислите позиции x и y на основе ваших данных.

1 Ответов

Рейтинг:
11

Clifford Nelson

Единственное решение - использовать холст. Возможно, вы могли бы создать пользовательский холст, который включал бы способ создания такого графика. Много примеров в интернете, и, очевидно, вы уже посмотрели. Вот один из них:
ТП://csharphelper.ком/блог/2014/09/ничья-график в WPF-с/[^Если бы я это сделал, то, вероятно, создал бы пользовательский элемент управления, наследуемый от холста, и имел бы свойства зависимостей для Max, Min, increment и для функции.