Skip to content

qnbhd/qn-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QNGraph

Logo

GitHub license

Описание

QNGraph - приложение для построения графиков различных математических функций. Написано на C++ с использованием библиотеки SDL2.

Запуск

Достаточно установить все библиотеки SDL2 и собрать под вашу операционную систему (С++17). Проверено на XUbuntu.

Сведения

  • Для графической составляющей используется графическая библиотека SDL2.
  • Запускается на стандарте C++17
  • Для виджетов реализованы отдельные классы QnButton, QnEdit, QnViewport
  • Все настройки проекта прописаны в отдельном файле QNSETTING.hpp там можно задать настройки темы, шрифты и многое другое.
  • За работу с системой координат отвечает класс QnDekart. Легко реализовать другие системы координат.
  • За инициализацию всех библиотек отвечает класс QNInit
  • Приложение построено по шаблону проектирования Singletone. Главный класс - QNApplication
  • Для работы с линейной алгеброй были реализованы:
    • Класс матриц Matrix
    • Класс для многочленов Poly
    • Класс для систем линейных уравнений и их решения (метод Гаусса) SLE
    • Класс для интерполяции методом Лагранжа Interpolation (устарел)
    • Класс для аппроксимации методом наименьших квадратов Approximation
  • Для построения графиков были реализованы:
    • Алгоритм Ву WuAlgorithm (устарел)
  • Для работы с математическими выражениями были реализованы:
    • Лексический анализатор Lexer
    • Синтаксический анализатор Parser
      • Синтаксический анализатор распознаёт основные математические операции +, -, *, /, а также операцию ^ для возведения в степень а также следующие математические функции: sin, cos, tg(tan), ctg(cot), exp, ln, sgn(sign), abs, sqrt, cbrt, asin, acos, atan, arctg, acot, sinh, cosh, tanh, coth
    • Основной класс для расчета и основных операций MathParser

Превью

About

SDL2-based graph plotter

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published