2010-07-10 9 views
9

mi chiedevo quali fossero disponibili per generare .png in base al tipo di input uno opzioni alimenta una calcolatrice grafica .. cosìla generazione di file png equazione matematica in base all'input

(y^2 + 5x + 3)/((3x + 3) + 5y + 18)

sarebbe tornato

alt text

l'unica cosa che ho trovato finora è texvc in MediaWiki, ma sembra eccessivo per ottenere l'intera MediaWiki per uno dei suoi moduli.

+0

Ho la netta sensazione che questa domanda sia duplice ... –

+1

0-800-CALL-KNUTH –

risposta

9

Il Google Chart API ha questa funzione, richiede TeX input e crea un'immagine di output.

http://chart.apis.google.com/chart?cht=tx&chl=%5Cfrac%7By%5E2%2B5x%2B3%7D%7B(3x%2B3)%2B5y%2B18%7D

Un'altra opzione è jsMath.

+0

cool! grazie per la pubblicazione –

2

C'è il dvipng fornito con TeX. Ha un sacco di parametri per il gioco. Va bene se vuoi un tale controllo, ma male se vuoi qualcosa di più semplice da usare.

2

Un'opzione utilizzando Mathematica è:

Export["etc.png", 
Rasterize[TraditionalForm[HoldForm[(y^2 + 5 x + 3)/((3 x + 3) + 5 y + 18)]]]] 

che produce questo file immagine:

alt text http://i32.tinypic.com/2qtbekz.png

+1

Sono abbastanza sicuro che l'OP vuole che la generazione di PNG avvenga automaticamente, preferibilmente lato server, su una pagina web. –

+0

Non riesco a vedere come dare il manuale sulla strada per farlo in un costoso software commerciale aiuta l'implementazione del problema all'interno di un linguaggio di programmazione. – jsbueno

+3

Bene, l'OP ha taggato accidentalmente questa domanda "Mathematica", quindi non possiamo incolpare Andrew Morgan. È molto comune che le persone taggano inconsapevolmente la loro domanda "Mathematica" (credendo che il tag sia "Matematica"). –

1

Come molte persone citate, TeX potrebbe essere la soluzione più diretta a prendere lì - Ricerca per Python tex offre alcune possibilità, una delle più semplici potrebbe essere: http://pypi.python.org/pypi/tex/1.5

È solo un wrapper per chiamare Tex come sottoprocesso e avere un file "dvi" - devi comunque eseguire dvipng (che come @JohnCook mette, viene fornito con TeX) per ottenere il tuo file png.

Lo svantaggio è che è necessario impostare la catena di strumenti TeX completa (non è un problema nella maggior parte delle distribuzioni Linux).

Un altro modo sarebbe quello di ottenere le librerie di rendering MathMl, ma poi, dovresti assemblare il codice MathML per la tua equazione. Thre è un promettente MathML Python per SVGmodule qui: http://sourceforge.net/projects/svgmath/ Questo dovrebbe avere meno dipendenze librarie e, a seconda dei propri scopi, SVG potrebbe essere più adatto di .PNG per le equazioni. Altrimenti, chiedere nuovamente stackoverflow per passare da .svg a .png in Python :-)

2

Matplotlib mathtext engine può trasformare un sottoinsieme di TeX in immagini. Vedere in particolare MathtextBackendBitmap per una soluzione che non richiede altri back-end matplotlib.

Se ciò non aiuta, matplotlib ha anche il codice che chiama TeX e dvipng.

Sage potrebbe anche includere qualche codice utile.

0

C'è un sito EquationSheet.com che consente di accedere a LaTeX e recuperare l'URL di un'immagine generata. Forse il tuo sito potrebbe usarlo.