Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: merke от Декабрь 12, 2009, 14:36



Название: Рисование математической формулы
Отправлено: merke от Декабрь 12, 2009, 14:36
Всем привет!
Писал синтаксический калькулятор, написал, теперь нужно чтобы введённая формула выводилась в нормальном графическом виде.
Т.е. ввожу sqrt(x) а прога рисует знак коря и под ним x.
Програмлю на qt, но с графикой ни когда не работал.
Пожалуйста, подскажите в какую сторону рыть. Или может кто подскажет где найти такие исходники.

Буду очень благодарен!

С уважением, Александр!


Название: Re: Рисование математической формулы
Отправлено: Igors от Декабрь 12, 2009, 14:42
Писал синтаксический калькулятор, написал, теперь нужно чтобы введённая формула выводилась в нормальном графическом виде.
Т.е. ввожу sqrt(x) а прога рисует знак коря и под ним x.
Програмлю на qt, но с графикой ни когда не работал.
Пожалуйста, подскажите в какую сторону рыть. Или может кто подскажет где найти такие исходники.
Обычно это решается шрифтом в котором есть знак корня, знак числа пи и.т.п. (т.е Вам не нужно рисовать знаки графикой)


Название: Re: Рисование математической формулы
Отправлено: m_ax от Декабрь 12, 2009, 14:56
Цитировать
Обычно это решается шрифтом в котором есть знак корня, знак числа пи и.т.п. (т.е Вам не нужно рисовать знаки графикой)

Обычно всё проще  :) Можно воспользоваться html для этого дела.. Да, это конечно не LaTeX, но если формулы достаточно плюшевые, то вполне можно юзать

К примеру:
Код
HTML
2&radic;<i>x</i> sin<i>(&omega; x)</t>
попробуйте вставить это, ну скажем так, в QLabel и у вас получится примерно следующее: (см скриншот)


  


Название: Re: Рисование математической формулы
Отправлено: m_ax от Декабрь 12, 2009, 15:03
Да, кстати, вот ссылка на различные символы: http://physics-animations.com/symbol.html (http://physics-animations.com/symbol.html)

Бог в помощь  ;)


Название: Re: Рисование математической формулы
Отправлено: lit-uriy от Декабрь 12, 2009, 15:08
вроде на Qt-Apps была примочка для рисования формул, на основе Теха


Название: Re: Рисование математической формулы
Отправлено: m_ax от Декабрь 12, 2009, 15:17
Цитировать
вроде на Qt-Apps была примочка для рисования формул, на основе Теха

Серьёзно? Надо будет глянуть, а то была у меня как-то мысля написать подобный класс, но потом как то забылось..  :(


Название: Re: Рисование математической формулы
Отправлено: Igors от Декабрь 12, 2009, 15:18
Обычно всё проще  :) Можно воспользоваться html для этого дела.. Да, это конечно не LaTeX, но если формулы достаточно плюшевые, то вполне можно юзать
Не знал что так можно, а мне это тоже может пригодиться. Спасибо за инфу :)


Название: Re: Рисование математической формулы
Отправлено: merke от Декабрь 12, 2009, 17:53
Большое спасибо, помогли!!!


Название: Re: Рисование математической формулы
Отправлено: AleUri от Декабрь 12, 2009, 18:59
The QtMmlWidget component renders mathematical formulas written in MathML 2.0.
(http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Widgets/integral.png)
http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Widgets/qtmmlwidget
Open Source Edition (LGPL)


Название: Re: Рисование математической формулы
Отправлено: m_ax от Декабрь 12, 2009, 19:34
Цитировать
The QtMmlWidget component renders mathematical formulas written in MathML 2.0.

Не, надо свой класс писать  :( Это далеко от идеала того чего хотелось бы получить.. Хотя надо раскуривать исходники...

Да. реально нужно написать что нить вроде мастайпа  или того, что использует опенофис...
Но вот со временем как то напряжно :(

В идеале хотелось бы иметь следующее:

Имеется класс, который имеет метод:
1. void setText(const QString &text); сюда впихиваем стоку в формате LaTeX
2. должен быть метод или сигнал который который говорит валидна ли строка
3. должен быть метод setPixmap(const QPixmap *pixmap) который возвращает пиксмап с нарисованной формулой
4. Размер шрифта и возможно различные пропорции между символами в формуле (как в мастайпе)

Ну эт пока всё что на ум приходит... Если интересно можно заняться этим делом  ;)


 


Название: Re: Рисование математической формулы
Отправлено: m_ax от Декабрь 12, 2009, 20:36
Хотя, нет, вру... Сорри  :)

Привожу скриншоты как выглядит аналогичные формулы в опенофисе, латехе и MML Widget:

1. MML Widget
2. OpenOffice
3. LaTeX



Название: Re: Рисование математической формулы
Отправлено: amateur.cpp от Август 31, 2013, 17:28
Поднимем темку потому что у меня возникли вопросы, а по поиску нашел только эту. Так как сейчас обстоят дела с отображением математических формул в Qt 5.0? Есть что-нибудь надежненькое и готовенькое? Спасибо!


Название: Re: Рисование математической формулы
Отправлено: kambala от Август 31, 2013, 18:46
вряд ли такой класс кто-то будет добавлять в дистрибутив


Название: Re: Рисование математической формулы
Отправлено: amateur.cpp от Август 31, 2013, 19:13
вряд ли такой класс кто-то будет добавлять в дистрибутив

А что-то из библиотек добрых саморитян? ;)


Название: Re: Рисование математической формулы
Отправлено: kambala от Август 31, 2013, 20:05
вроде лучшими вариантами являются использование вышеуказанного виджета либо вебкит с библиотекой рендеринга (mathjax например)


Название: Re: Рисование математической формулы
Отправлено: amateur.cpp от Август 31, 2013, 21:40
вроде лучшими вариантами являются использование вышеуказанного виджета либо вебкит с библиотекой рендеринга (mathjax например)

QtMmlWidget как я понял нет уже вообще в Qt и он уже в составе QWT? Если с ним не разберусь, буду пробовать юзать webkit. У кого нибудь есть опыт использования для рендеринга математических формул QWT?


Название: Re: Рисование математической формулы
Отправлено: Александр185 от Декабрь 02, 2016, 08:54
Т.к. эта тема в поиске google одна из первых, выложу тут архив с модулями ExprDraw и ExprMake разработанные Григорьевым Антоном, которые я переписал для себя на Qt. С их помощью можно отобразить формулы практически любой сложностью.

https://yadi.sk/d/tz1wKuD7zxtF5


Название: Re: Рисование математической формулы
Отправлено: panAlexey от Декабрь 02, 2016, 12:35
вроде на Qt-Apps была примочка для рисования формул, на основе Теха
Помер Qt-Apps. Стал https://www.linux-apps.com.
Сволочи!!!!


Название: Re: Рисование математической формулы
Отправлено: lit-uriy от Декабрь 02, 2016, 23:24
мало того, превратился в какую-то помойку


Название: Re: Рисование математической формулы
Отправлено: Александр185 от Июнь 22, 2022, 11:39
Всем привет!
Писал синтаксический калькулятор, написал, теперь нужно чтобы введённая формула выводилась в нормальном графическом виде.
Т.е. ввожу sqrt(x) а прога рисует знак коря и под ним x.
Програмлю на qt, но с графикой ни когда не работал.
Пожалуйста, подскажите в какую сторону рыть. Или может кто подскажет где найти такие исходники.

Буду очень благодарен!

С уважением, Александр!

MathExpressions (https://github.com/Aleksandr185/MathExpressions)