2009-11-23 9 views
26

Ho fatto qualche ricerca per un progetto matematico relativo ad Android che mi piacerebbe intraprendere e sono incappato per la prima volta sul MathML.MathML e Java

Qualcuno sa di alcune librerie Java che possono fare qualsiasi (preferibilmente tutte) delle seguenti cose?

  1. Parse MathML
  2. uscita MathML analizzando notazione matematica standard
  3. Render MathML (particolarmente importante)
  4. fare tutte le altre cose fredda matematica-ey (come ri-organizzare le equazioni in termini di cose diverse)

Il numero 3 è probabilmente il più importante e il numero 4 il minimo.

Grazie in anticipo.

risposta

29

ho usato JEuclid per il rendering MathML nel mio progetto Symja (sistema di matematica simbolica Java - punto 4 della vostra lista). Forse, che JEuclid deve rallentare (specialmente all'avvio) per il rendering del MathML su un telefono cellulare?

Altre alternative per il rendering espressioni matematiche con TeX:

e per equazioni ri-organizzare o come generali librerie matematiche Java:

progetti Calculator per Android:

+0

Molto utile - grazie mille –

+1

JEuclid dipende da java.awt.image.BufferedImage e non funzionerà in Android – Ozzy

+0

JMathTex dipende da javax.swing.Icon e non funzionerà in Android. – hasanghaforian

0

Dipende dall'avere un browser che renderà il MathML, ovviamente.

Un'alternativa sarebbe provare jsMath, una libreria JavaScript che utilizza TeX per il rendering delle equazioni.

2

Ho usato questo per il vostro punto di cui sopra # 3 (rendering): http://jeuclid.sourceforge.net/

Fa un lavoro piuttosto carino prendendo MathML e la creazione di un file JPG, PNG, ecc Sarà anche visualizzare le equazioni in una GUI (e sto cercando di indovinare si può guardare il codice della GUI e incorporare che nel proprio progetto)

+0

Eccellente! Grazie mille. –

3

JScience (jscience.org) sembra avere qualche supporto sperimentale per MathML in fase di introduzione.

vorrei dire che sono molto impressionato con le caratteristiche l'autore JScience ha scelti e collaudati in grado di sostenere con la sua potente libreria Java.

È un pezzo di artigianato davvero sorprendente. Se stai facendo una quantità significativa di matematica sofisticata nei tuoi programmi Java, o se vuoi solo creare un'utilità con cui scommettere, dovresti dare un'occhiata a questa libreria. Potrebbe anche darti delle idee per cose che non avresti mai pensato di fare prima perché erano "troppo difficili".

C'è un progetto open source denominato MathEclipse che potrebbe interessarti anche tu.