РЕФЕРАТ 2
ВВЕДЕНИЕ 4
1. БИБЛИОТЕКИ ПОСТРОЕНИЯ ГРАФИКОВ 6
1.1. БИБЛИОТЕКА QWT 6
1.2. БИБЛИОТЕКА PLOT GRAPHIC LIBRARY 10
1.3. БИБЛИОТЕКА MATHGL 13
2. ИСПОЛЬЗУЕМЫЕ СРЕДСТВА 16
2.1. ПРИНЦИПЫ РАБОТЫ С ГРАФИКОЙ В WINDOWS 16
2.2. ВЫВОД И АЛГОРИТМЫ ПОСТРОЕНИЯ ОСЕЙ КООРДИНАТ И
ГРАФИКОВ ФУНКЦИЙ 17
2.3. ИСПОЛЬЗУЕМЫЕ БИБЛИОТЕКИ (КРАТКОЕ ОПИСАНИЕ) 29
2.4. ИНТЕРПОЛЯЦИЯ МЕТОДОМ КУБИЧЕСКОГО СПЛАЙНА 32
2.5. ОПИСАНИЕ РАБОТЫ АЛГОРИТМА 1 ПОСТРОЕНИЯ КРАСИВОЙ
ШКАЛЫ МЕТОК 36
2.6. ОПИСАНИЕ РАБОТЫ АЛГОРИТМА 2 ПОСТРОЕНИЯ КРАСИВОЙ
ФУНКЦИОНАЛЬНОЙ ШКАЛЫ МЕТОК 37
3. УСТРОЙСТВО БИБЛИОТЕКИ 41
3.1. ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ И ИХ ОПИСАНИЕ 41
3.2. СПИСОК ФУНКЦИЙ И ИХ ОПИСАНИЕ 42
3.3. АРХИТЕКТУРА БИБЛИОТЕКИ И СВЯЗЬ ФУНКЦИЙ В НЕЙ 47
4. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 50
4.1. АЛГОРИТМ РАБОТЫ С БИБЛИОТЕКОЙ 50
4.2. ПРИМЕРЫ РАБОТЫ 51
ЗАКЛЮЧЕНИЕ 56
СПИСОК ЛИТЕРАТУРЫ 57
В настоящее время MS Visual Studio является одной из самых популярных сред разработки на языке C++. Также стоит отметить особую значимость данной среды разработки для студентов, так как в большинстве случаев именно Visual Studio является наиболее распространённой средой для обучения программированию и написания лабораторных работ.
В среде MS Visual Studio существуют средства для работы с графикой, но работа осуществляется посредством взаимодействия с окнами в Windows с помощью средств WinAPI. В этом интерфейсе нет методов для работы с графиками функций и их отображения на экране. И если возникнет необходимость вывести график функции вместе с осями координат на экран, потребуется ориентироваться в структуре WinAPI и функциях вывода изображений на экран.
В связи с этим, в качестве используемого API был выбран WinAPI, а в качестве среды разработки - MS Visual Studio 2017.
Несмотря на существование готовых средств построения графиков и работы с ними, в том числе и с возможностью использования c C++, возможно их дополнение или создание аналогов на базе новых алгоритмов и специфики поставленных задач.
Основные проблемы большинства из них это:
- необходимость использования в проектах MFC, которые предназначены в большей степени для работы с готовыми шаблонами форм. Оболочка MFC не является обязательным компонентом в VS и не доступна в версиях Express;
- давно не поддерживаются и не актуализируются;
- изначально писались для других платформ или инструментов разработки и требуют навыков работы с ними (например Qt);
- сложные механизм подключения и использования;
- приходится самому заботиться о выводе консоли для вывода числовой или текстовой информации;
Также ни в одной из библиотек не поддерживается удобный механизм построения функциональных шкал, полезных на практике для наглядного отображения погрешностей вычисления. Реализация же алгоритма работы с функциональными шкалами будет затруднительна в готовых комплексах для работы с графиками.
В связи с этим было принято решение посвятить выпускную квалификационную работу реализации алгоритма построения красивых функциональных шкал, а также созданию библиотеки функций для работы с графиками, использующую данный алгоритм и ориентированную на простоту использования и работу в консольном режиме для большего удобства при работе с вычислениями в среде разработки Visual Studio и с использованием языка C++.
Целями работы являются: создание библиотеки для работы с графиками, которая могла бы легко работать в консольных приложениях windows без необходимости задавать большое количество аргументов или подключать дополнительные библиотеки; реализация алгоритмов построения красивых функциональных шкал по осям Х или Y для более наглядного отображения данных на графике.
В связи с этим были поставлены следующие задачи:
Реализовать:
- класс создания окна в консольном приложении;
- алгоритмы построения красивых функциональных шкал;
- алгоритмы вывода осей координат;
- алгоритм отрисовки графиков функций;
- визуальное оформление графиков и вывод легенды;
- построение сплайна для наглядного отображения данных.
Таким образом, данная библиотека позволяет отображать графики функций с линейными и функциональными масштабами и автоматическим вычислением количества делений и шага между ними на основе введённых функций. Это, а также вывод нескольких графиков, легенды и сплайна функций обеспечивает удобную работу с визуализацией графиков и наглядное отображение их на экране.