Java - Równania i wzory matematyczne

0

Witam. Potrzebuję sposób na zaimplementowanie w Javie jakiegoś skryptu, który pozwoli mi na czytelne wykorzystanie notacji matematycznej do zapisania wzorów i równań. Czy jest taka możliwość? Jeżeli tak, proszę o kod źródłowy najprostszego programu wyświetlającego okno z jakimś tam wzorem oraz wszystkie uwagi, jak to zrobić. Jest w ogóle możliwość?

0

Nie wiem co znaczy zwrot "zaimplementować w Javie skrypt". Wzory matematyczne w programach Javy można wpisać na dwa conajmniej sposoby (ja tyle znam).

  1. Jeśli wzór jest prosty (indeksy dolne, wykładniki, itp.) to wystarczy użyć HTML
JLabel l=new JLabel("<html>f(x) =  <sub>2</sub><sup>3</sup></html>",JLabel.CENTER);
  1. Jeśli zestaw używanych symboli matematycznych jest duży, to pozostaje Unicode
String str=min+" \u2264 f(x) \u2264 "+maks;

pozdrawiam

0

Nie chodzi mi o JavaScript tylko o zwykłą Javę SE. Już tłumaczę: Chodzi mi o dość skomplikowane wzory, nawiasy, ułamki itd. Znaczniki HTML i Unicode nawet razem mi nic nie dadzą. Najlepiej nadałby się LaTeX lub MathML. Czy da się tego używać w Javie?

0

Co chcesz z tymi wzorami robić ? Wyświetlać gotowe czy edytować.
pozdrawiam

0

Chodzi mi o mechanizm pozwalający wyświetlać wzory zdefiniowane w kodzie programu, również z wykorzystaniem wyników obliczeń (np. najpierw wyświetlić wzór na wyróżnik równania kwadratowego, następnie podstawić do niego parametry i ponownie wyświetlić itd.)
Wzory są i mniej i bardziej skomplikowane. Dokładnie chodzi mi o wyświetlanie wzorów w programie EqualMath dostępnym na stronie http://www.xprogs.freeweb7.com/. Z góry dziękuję za rady i pozdrawam.

0

Program zainstalowałem i uruchomiłem. Żadnych skomplikowanych wzorów nie widziałem, z tego co napisałeś wnioskuję że problem może być z długą kreską ułamkową. Standardowa Java ma jeszcze jedną możliwość (prócz HTML i Unicodu): RTF - nie wiem co RTF potrafi w sprawie wzorów.
Z innej beczki, napisłem swego czasu klasę do wyświetlania pomocy w formacie HTML, gdybyś był zainteresowany, to mogę podesłać.
pozdrawiam

0

No - jak dotąd najbardziej skomplikowane wzory w tym programie to te na równanie sześcienne. Ale nie wiem, czy RTF coś zdziała. Poszukam czegoś w necie. Najlepszym rozwiązaniem byłby LaTeX lub MathML, tylko czy to można wykorzystać w Javie?

P.S. Co do twojej klasy - owszem, możesz podesłać, chętnie przerobię pomoc na HTML. Dzięki.

EDIT: No i coś tam się dowiedziałem :) Wygląda na to, że RTF mógłby załatwić sprawę. Nie widzę jednak nigdzie instrukcji, jak tego użyć w Javie. Mógłbyś może dać mi parę porad, jak wykorzystać RTF w moim programie?

0

http://web.mat.bham.ac.uk/C.J.Sangwin/dragmath/ <- edytor MathML w javie może się przydać

0

Kod źródłowy strasznie porozbijany i trudno się do niego dokopać. Mi po prostu chodzi o sposób na wyrenderowanie wzoru w programie przy użyciu LaTeXa lub MathML. Edytor również się przyda, lecz najpierw muszę mieć sposób implementacji. Masz jakiś pomysł?

0

Nie rozumiem... chodzi ci o odnalezienie jakiegoś ludzkiego sposobu zapisywania tych wzorów przez użytkownika? Czy też na generowaniu wzorów z gotowych dokumentów LaTeXa / MathMLa?

0

Chodzi mi o to, żeby wygenerować wzory, ale nie gotowych dokumentów, tylko z kodu programu. Coś w takim stylu (to tylko przykład, nie koniecznie dokładnie tak), jak wstawia się HTML do JLabel. Gdyby w taki sposób można wstawić LaTeXa, MathML-a lub cokolwiek innego z wzorem do nieedytowalnego komponentu tekstowego to mój problem będzie rozwiązany.

0
  1. A nie możesz po prostu wstawić obrazka ? Piszesz w LaTexu (lub OpenOffice) , zapisujesz a formacie PDF,
    wycinasz kawałek obrazka i wstawiasz. (Z RTF się wycofuje).
  2. Klasę do wyświetlania helpu zaraz wyślę.
    pozdrawiam
0

Nie, ponieważ wyrażenie musi być generowane na podstawie zmiennych wprowadzonych przez użytkownika. Musi być generowane z poziomu kodu programu, nie ma innego wyjścia.

0

Dlaczego nie ma? Bierzesz gotowca do wyświetlania MathMLa lub TeXa w komponencie Javy. Piszesz sobie szablon Velocity, który jako parametry będzie przyjmował dane wprowadzone przez użytkownika. Następnie z szablonu generujesz dokument MathML/TeX, który następnie wczytujesz jako gotowy dokument.
Co do generowania obrazka to lepszym podejściem jest LaTeX->postscript->png. Po prostu jest ładniej i nie trzeba nic na siłę kroić.

0

Cóż... nie jestem profesjonalistą w zakresie Javy. Uczę się dopiero, więc nie bardzo wiem, jakiego gotowca masz na myśli. Mam prośbę: Mógłbyś może wstawić na forum fragment kodu programu oraz pliku a także wyjaśnić i opisać "Velocity"?

0

Gotowce dałem ci wcześniej. Trzeba je tylko wykorzystać. Co do Velocity:
http://velocity.apache.org/
Jest to prosty język szablonów pozwalający na generowanie różnych plików na podstawie parametrów.

0

Nic z tego nie rozumiem. Znalazłem już w internecie jakąś klasę do renderowania z MathML (JMathComponent). Sprawdzę, czy zadziała.

EDIT: No i działa bezproblemowo. Jeżeli ktoś będzie miał taki sam problem to klasa JMathComponent, z której skorzystałem, zawarta jest w bibliotekach projektu http://jeuclid.sourceforge.net.

0

mógłbyś podpowiedzieć jak to pobrać a także użyć (nie wymóżdżyłem sam nic ostatecznie :( ) ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1