Помогите с jEuclid в Java - PullRequest
       10

Помогите с jEuclid в Java

1 голос
/ 06 мая 2011

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

(Р + Р * SQRT (D)) / Q

В настоящее время я использую jTextArea, и вывод в основном

P: число, R: число, D: число, Q: число

Как можно представить эту фракцию с помощью jEuclid? В латексе я бы сделал

\frac{...}{...}

а как это сделать с помощью jEuclid?

Заранее большое спасибо!

Ответы [ 2 ]

2 голосов
/ 30 мая 2017

Вот Java-программа для преобразования MathML в изображение:

import java.io.File;
import java.io.IOException;

import net.sourceforge.jeuclid.MutableLayoutContext;
import net.sourceforge.jeuclid.context.LayoutContextImpl;
import net.sourceforge.jeuclid.context.Parameter;
import net.sourceforge.jeuclid.converter.Converter;

public class MathMLToImage{
    public static void main(String[] args) throws IOException {
        Converter converter = Converter.getInstance();
        File inputFile = new File("D:\\TEMP\\mathml.xml");
        File outputFile = new File("D:\\TEMP\\image.jpg"); 
        //params to mention the size of image
        MutableLayoutContext params = new LayoutContextImpl(
                LayoutContextImpl.getDefaultLayoutContext());
        params.setParameter(Parameter.MATHSIZE, 50f);

        converter.convert(inputFile, outputFile , "image/jpeg", params);
    }

}

Вы можете использовать этот вывод изображения для отображения в вашем приложении.

1 голос
/ 15 мая 2011

Как я понял (из чтения веб-сайта), JEuclid - это программа, которая преобразует презентационный MathML в графику. Таким образом, вам нужно будет записать свой ввод в MathML , либо в текстовой форме, либо с помощью некоторого XML API, а затем передать его в JEuclid.

Для вашего примера это будет выглядеть так (адаптировано из примера в Википедии):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mrow>
    <mi>x</mi>
    <mo>=</mo>
    <mfrac>
      <mrow>
        <mi>P</mi>
        <mo>+</mo>
        <mn>R</mn>
        <mo>⁢<!-- &InvisibleTimes; --></mo>
        <msqrt>
          <mi>Q</mi>
        </msqrt>
      </mrow>
      <mrow>
        <mn>Q</mn>
      </mrow>
    </mfrac>
  </mrow>
</math>

Вот скриншот этого документа MathML в JEuclids MathViewer:

screenshot

...