Решая недавнюю задачу, так сложилось, что попутно было создано много полезного кода, который можно использовать для разных целей и далее. Я решил продолжить разработку получившейся функциональности и она достигла уровня небольшой математической библиотеки.
Сейчас я разделил библиотеку на три части - геометрический функционал, алгебраический функционал и вспомогательные сущности.
Геометрия
В текущей версии содержит только планиметрические преобразования и методы. Сущности, которые сейчас существуют в библиотеке?
* Точка
* Угол
* Отрезок, он же прямая
* Окружность
* Многоугольник
* Множество отрезков
Задачи, которые решаются в этой части:
* Определение принадлежности точки объекту
* Определение точек пересечения двух объектов
* Построение одних сущностей по другим (например, конструирование прямой по отрезку и углу, нахождение многоугольников по набору отрезков и т.п.)
* Параллельный перенос/поворот декартовых координат для сущности
Алгебра
В текущей версии эта часть появилась недавно, главным образом для разрешения эллиптических преобразовании в секции геометрии. Содержит сущности:
* Алгебраический коэффициент
* Многочлен
* Уравнение
Решает задачи:
* Нахождение корней уравнения в вещественных числах
* Нахождение сумм, разностей и произведений алгебраических коэффициентов
* Нахождение сумм, разностей и произведений многочленов
Вспомогательная часть
- на удивление, почти полностью укомплектована моими же функциями, которые я в разное время публиковал на конференции. Здесь содержатся базовые операции для работы с вещественными числами и массивами.
Предполагается, что в дальнейшем появится функционал:
* Решение системы линейных уравнений
* Решение системы квадратных уравнений: под вопросом, так как даже для двух уравнений получается крайне громоздким. Например, результирующее уравнение для коэффициентов A,B,C,D,E,F/P,Q,R,S,T,U общего вида получается как:
Спойлер (Отобразить)