Форумы портала PHP.SU » Объявления » Наработки по собственным проектам » dimension: Библиотека математических операций

Страниц (1): [1]
 

1. EuGen - 26 Июля, 2013 - 16:06:07 - перейти к сообщению
Приветствую, коллеги,

Решая недавнюю задачу, так сложилось, что попутно было создано много полезного кода, который можно использовать для разных целей и далее. Я решил продолжить разработку получившейся функциональности и она достигла уровня небольшой математической библиотеки.
Сейчас я разделил библиотеку на три части - геометрический функционал, алгебраический функционал и вспомогательные сущности.

Геометрия
В текущей версии содержит только планиметрические преобразования и методы. Сущности, которые сейчас существуют в библиотеке?
* Точка
* Угол
* Отрезок, он же прямая
* Окружность
* Многоугольник
* Множество отрезков
Задачи, которые решаются в этой части:
* Определение принадлежности точки объекту
* Определение точек пересечения двух объектов
* Построение одних сущностей по другим (например, конструирование прямой по отрезку и углу, нахождение многоугольников по набору отрезков и т.п.)
* Параллельный перенос/поворот декартовых координат для сущности

Алгебра
В текущей версии эта часть появилась недавно, главным образом для разрешения эллиптических преобразовании в секции геометрии. Содержит сущности:
* Алгебраический коэффициент
* Многочлен
* Уравнение
Решает задачи:
* Нахождение корней уравнения в вещественных числах
* Нахождение сумм, разностей и произведений алгебраических коэффициентов
* Нахождение сумм, разностей и произведений многочленов

Вспомогательная часть
- на удивление, почти полностью укомплектована моими же функциями, которые я в разное время публиковал на конференции. Здесь содержатся базовые операции для работы с вещественными числами и массивами.

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

- и это относительно только второй переменной
* Эллиптические преобразования на плоскости
* Стереометрия. Пока не ясен круг задач, однако, вероятно, это топологические аналоги задач на плоскости.

Сама библиотека может быть найдена по адресу github[dot]com/almadomundo/dimension - недавно сделан начальный коммит, в настоящий момент я буду вести работы по комментированию достаточно большого объёма кода (пока что комментарии существуют только для алгебраического коэффициента и многочлена).
Если появится интерес или пожелания по функциональности - пишите, пожалуйста, в эту тему.

 

Powered by ExBB FM 1.0 RC1