Загрузка данных


Практическое задание №1.58: "Графики функций"
Справочная информация
WPF — https://metanit.com/sharp/wpf/ 
OxyPlot — https://oxyplot.github.io/
Графики функций — важный инструмент визуализации данных и математических зависимостей. В WPF построение графиков можно реализовать как вручную (через Canvas), так и с использованием библиотек визуализации (например, OxyPlot).
В рамках задания студент изучает:
•	работу с одномерными массивами;
•	построение графиков по вычисленным значениям;
•	взаимодействие пользовательского интерфейса с математической логикой;
•	отображение нескольких функций одновременно;
•	обработку ошибок и некорректного ввода.
Формулы для работы координат с Canvas (необходимы для правильного расположения графика)
•	canvasX = (xMath - xStart) / (xEnd - xStart)
•	canvas = canvasHeight / 2 – yMath * 50
Задание
Создать WPF приложение «FunctionGrapherPro», демонстрирующее построение графиков нескольких математических функций на одном поле.
Приложение должно позволять:
•	вводить диапазон значений X (начало, конец, шаг);
•	выбирать одну или несколько функций для построения;
•	вычислять значения функций и отображать их на графике;
•	выводить таблицу значений;
•	очищать график;
Функции для построения:
1.	y=sin(x)
2.	y=cos(x)
3.	y=x2
4.	y=ex
Базовые объекты
Класс FunctionDataUnit
Поля:
•	XValues — массив значений X;
•	YValues — массив значений Y;
•	FunctionName — название функции;
Методы:
•	ToString() — выводит информацию о функции и количестве точек.
Класс FunctionCalculatorUnit
Методы:
•	CalculateSin() — вычисляет массив значений sin(x);
•	CalculateCos() — вычисляет массив значений cos(x);
•	CalculateSquare() — вычисляет массив значений x^2;
•	CalculateExp() — вычисляет массив значений e^x;
•	методы должны возвращать объект FunctionDataUnit.
Интерфейс окна FunctionGrapherWindow
Элементы:
•	TextBox — ввод начала диапазона X;
•	TextBox — ввод конца диапазона X;
•	TextBox — ввод шага;
•	CheckBox — выбор функций (sin, cos, x², eˣ);
•	Button — построить график;
•	Button — очистить график;
•	PlotView или Canvas — область графика;
•	ListView — таблица значений X и Y;
•	TextBlock — вывод информации о количестве точек.
Логика работы программы
1.	Пользователь вводит диапазон X и шаг.
2.	Программа преобразует ввод в массив значений X.
3.	Пользователь выбирает функции для построения.
4.	Программа вычисляет значения Y для каждой выбранной функции.
5.	На графике отображаются кривые разных цветов.
6.	В таблицу выводятся значения X и Y для последней построенной функции.
7.	При нажатии «Очистить» график и таблица очищаются.
Результат
Программа должна демонстрировать:
•	работу с одномерными массивами;
•	вычисление значений математических функций;
•	построение графиков в WPF;
•	отображение таблицы значений;
•	взаимодействие интерфейса и вычислительной логики.
Пользователь должен иметь возможность:
•	вводить диапазон X;
•	выбирать функции;
•	строить графики;
•	просматривать таблицу значений;
•	очищать график.