MathML и Java
Я делал некоторые исследования для математического проекта, связанного с Android, который я хотел бы начать, и впервые наткнулся на MathML.
Кто-нибудь знает какие-либо Java-библиотеки, которые могут делать (желательно все) следующие вещи?
- Parse MathML
- Вывод MathML путем анализа стандартных математических обозначений
- Render MathML (особенно важно)
- Делайте любые другие интересные математические вещи (например, перестраивайте уравнения в терминах разных вещей)
Число 3, вероятно, самое важное, а число 4 меньше.
Спасибо заранее.
Ответы
Ответ 1
Я использовал JEuclid для рендеринга MathML в Symja (Java символическая математическая система - пункт 4 вашего списка).
Может быть, JEuclid должен замедлиться (особенно при запуске) для рендеринга MathML на мобильном телефоне?
Другие альтернативы для отображения математических выражений с помощью TeX:
и для переопределения уравнений или как общие математические библиотеки Java:
Калькулятор проектов для Android:
Ответ 2
Страница W3C MathML Implementations (http://www.w3.org/Math/Software/mathml_software_cat_editors.html) содержит несколько, которые упоминают инструменты на основе Java... это может быть хорошим место для начала поиска.
Удачи.
Ответ 3
JScience (jscience.org) выглядит так, будто у него есть экспериментальная поддержка для ввода MathML.
Я хотел бы сказать, что я очень впечатлен тем, что автор JScience выбрал и доказал, что может поддерживать его мощную библиотеку Java.
Это довольно удивительный кусочек мастерства. Если вы делаете какое-либо значительное количество сложной математики в своих программах на Java или просто хотите создать полезную утилиту, то вам следует взглянуть на эту библиотеку. Это может даже дать вам некоторые идеи для вещей, о которых вы никогда не думали делать раньше, потому что они были "слишком тяжелыми".
Существует проект с открытым исходным кодом с именем MathEclipse, который может вас заинтересовать.
Ответ 4
Я использовал это для вашей точки № 3 выше (рендеринг): http://jeuclid.sourceforge.net/
Он выполняет довольно красивую работу с использованием MathML и создания JPG, PNG и т.д. Он также отображает уравнения в графическом интерфейсе (и я предполагаю, что вы можете посмотреть код GUI и включить его в свой собственный проект)
Ответ 5
Это зависит от наличия браузера, который будет отображать MathML, конечно.
Альтернативой было бы попробовать jsMath, библиотеку JavaScript, которая использует TeX для рендеринга уравнений.