MathML и Java

Я занимаюсь некоторыми исследованиями для математического проекта, связанного с Android, который я бы хотел приступить, и впервые наткнулся на MathML.

Кто-нибудь знает о каких-либо Java-библиотеках, которые могут делать (желательно все) следующие вещи?

  1. Parse MathML
  2. Вывод MathML путем анализа стандартной математической нотации
  3. Render MathML (особенно важно)
  4. Делайте любые другие интересные математические вещи (например, перестраивайте уравнения с точки зрения разных вещей)

Число 3, вероятно, самое важное, а число 4 – наименее.

Заранее спасибо.

Solutions Collecting From Web of "MathML и Java"

Я использовал JEuclid для рендеринга MathML в моем проекте Symja (Java символическая математическая система – пункт 4 вашего списка). Может быть, JEuclid должен замедлиться (особенно при запуске) для рендеринга MathML на мобильном телефоне?

Другие альтернативы для отображения математических выражений с помощью TeX:

  • JMathTex
  • SnuggleTeX
  • JLaTeXMath

И для переустановки уравнений или как общих математических библиотек Java:

  • Mathrider (Yacas для Java)
  • Jasymca – символический калькулятор для мобильных устройств
  • Система алгебры Java
  • Библиотека математики Apache Commons

Калькулятор проектов для Android:

  • Научный калькулятор для Android (лицензия Apache)
  • Jasymca для Android (публичная лицензия GNU)
  • Калькулятор Arity для Android (лицензия Apache)

На странице W3C MathML Implementations ( http://www.w3.org/Math/Software/mathml_software_cat_editors.html ) есть несколько, в которых упоминаются инструменты на основе Java … это может быть хорошим местом для начала поиска.

Удачи.

JScience ( jscience.org ) выглядит так, что у него есть экспериментальная поддержка для внедрения MathML.

  • JScience MathML иерархия классов Java
  • JAcience MathML классы Java-пакетов

Я хотел бы сказать, что я очень впечатлен тем, что автор JScience выбрал и доказал свою способность поддерживать свою мощную библиотеку Java.

Это довольно удивительный кусочек мастерства. Если вы делаете какое-либо значительное количество сложной математики в своих программах на Java или просто хотите создать полезную утилиту, то вы должны взглянуть на эту библиотеку. Это может даже дать вам некоторые идеи для вещей, о которых вы никогда не думали делать раньше, потому что они были «слишком тяжелыми».

Существует проект с открытым исходным кодом под названием MathEclipse, который может вас заинтересовать.

Я использовал это для вашего пункта № 3 выше (рендеринг): http://jeuclid.sourceforge.net/

Он выполняет довольно красивую работу с использованием MathML и создания JPG, PNG и т. Д. Он также отображает уравнения в графическом интерфейсе (и я предполагаю, что вы можете посмотреть код GUI и включить его в свой собственный проект)

Это зависит от наличия браузера, который будет отображать MathML, конечно.

Альтернативой было бы попробовать jsMath , библиотеку JavaScript, которая использует TeX для рендеринга уравнений.