Computational_Mathematics — это инструментальная библиотека и набор скриптов для численных методов, реализованных на Lua.
Проект ориентирован на демонстрацию и исследование алгоритмов вычислительной математики — интерполяции, интегрирования, решения нелинейных уравнений, систем и ОДУ.
Lua-реализация сопровождается Java-модулем для консольных расчётов и построения графиков.
- Приближение функций (несколько реализаций);
- Численное интегрирование (трапеций, Симпсона);
- Решение нелинейных уравнений и систем;
- Решение обыкновенных дифференциальных уравнений (ОДУ);
- Визуализация вычислительных процессов через Roblox Runtime (Lua API);
- Возможность переноса в чистый Lua 5.3+.
- Методы интерполяции: Лагранж, Ньютон (прямые/обратные разности), Гаусс (вперёд/назад), Стерлинг, Бессель;
- Таблицы конечных разностей, вычисление значения функции в точке;
- Источники данных: консоль, файл, аналитическая функция;
- Встроенное построение графиков и сравнение методов.
Computational_Mathematics/
├── README.md
├── lua_vers/ (roblox_vers) # Основная реализация на Lua
│ ├── function_approximation.lua
│ ├── function_approximation_2.lua
│ ├── integration_methods.lua
│ ├── linear_system_solver.lua
│ ├── nonlinear_equation.lua
│ ├── nonlinear_system.lua
│ ├── ode_solver.lua
│ └── assets/
│ └── game.rbxl # Сцена для визуального запуска
└── java_vers/ # Дополнительная реализация на Java
└── src/
├── Main.java
├── io/
│ ├── ConsoleDataProvider.java
│ ├── DataProvider.java
│ ├── DataSet.java
│ ├── FileDataProvider.java
│ └── FunctionDataProvider.java
├── methods/
│ ├── LagrangeMethod.java
│ ├── NewtonForwardMethod.java
│ ├── NewtonBackwardMethod.java
│ ├── GaussForwardMethod.java
│ ├── GaussBackwardMethod.java
│ ├── StirlingMethod.java
│ └── BesselMethod.java
└── plot/
└── GraphPlotter.java
- Lua — ядро и визуальные реализации методов (Roblox Runtime API).
- Java — консольный модуль для точных расчётов и визуализации.
- Установите Roblox Studio (используется как Lua runtime);
- Откройте сцену:
lua_vers/assets/game.rbxl; - Запустите Play и активируйте нужный скрипт из набора (
function_approximation.lua,integration_methods.luaи др.).
Вся вычислительная логика реализована на Lua, Roblox используется только как визуальный движок. Перенос в чистый Lua возможен (для терминальной или графической визуализации).
Доступна онлайн на Roblox: Перейти к Computational Mathematics на Roblox
- JDK 17+ (подходит и 11+);
- Любая ОС с
javac/javaв PATH.
cd java_vers/src
javac $(find . -name "*.java")cd java_vers/src
java MainПриложение интерактивное: можно выбрать метод, источник данных и точку интерполяции.
Результаты отображаются в консоли и на графиках.
- Единый интерфейс запуска Lua-сцен (UI для переключения методов внутри одной сцены);
- Экспорт численных результатов в CSV/PNG;
- Расширение Java-модуля методами сплайновой интерполяции;