Git Product home page Git Product logo

qn-graph's Introduction

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

Превью

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.