Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как выводить математические формулы


кирилл щедловский

Вопрос

Здравствуйте дорогие форумчане

задача такая. как можно отрисовывать формулы. допустим мне нужно решить систему уравнений пользователь ввел коэффициенты через таблицу, как отрисовать теперь систему уравнений?

На делфи для этого я использовал модуль ExprDraw он разбирает строку и выдает изображение с формулой которое потом можно вывести к примеру через TImage.

вопрос, нет ли компонента, или модуля которой мог бы рисовать формулы

в дополнение пример программы VLC 

Метод Крамера.rar

Изменено пользователем кирилл щедловский
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
2 часа назад, кирилл щедловский сказал:

Здравствуйте дорогие форумчане

задача такая. как можно отрисовывать формулы. допустим мне нужно решить систему уравнений пользователь ввел коэффициенты через таблицу, как отрисовать теперь систему уравнений?

На делфи для этого я использовал модуль ExprDraw он разбирает строку и выдает изображение с формулой которое потом можно вывести к примеру через TImage.

вопрос, нет ли компонента, или модуля которой мог бы рисовать формулы

в дополнение пример программы VLC 

Метод Крамера.rar

Насколько я помню, он только под vcl. А этот форум только для fmx, так что не по адресу вопрос;)

Ссылка на комментарий
  • 0

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

 

Ссылка на комментарий
  • 0

Размышлял над подобной идеей.

Получилось два метода:

1. Самому рисовать на канве image

2. Использовать TPath,  и самому из готовых примитивов формировать изображения.

На практике не опробовал

Ссылка на комментарий
  • 0

Посмотрите вот ЭТУ ссылку. Там, на официальном сайте предлагают набор различных разработок для FMX, мне кажется что то я там видел подобное. Тема не моя, не ручаюсь. Пройдите по каждой и оцените их сайты.

Ссылка на комментарий
  • 0
Только что, Alexander сказал:

Размышлял над подобной идеей.

Получилось два метода:

1. Самому рисовать на канве image

2. Использовать TPath,  и самому из готовых примитивов формировать изображения.

На практике не опробовал

Рисовать самому на канве это тот же вариант что прописан в ExprDraw но для VLC, нужно будет по сути создать свой собственный модуль, а это очень долго

Ссылка на комментарий
  • 0
8 часов назад, Alexander сказал:

2. Использовать TPath,  и самому из готовых примитивов формировать изображения.

А интересная же идея. Вставлять готовый код для отображения символа в TPath.Data и размещать их один за другим, а еще лучше, если научится в один TPath все пихать.

Ссылка на комментарий
  • 0

т.е. вы предлагаете с помощью TPath по сути заново переписать модуль ExprDraw?

идея конечно интересная, но все нужно делать заново, на это нужен не один месяц. Нет ли чего по проще?

Ссылка на комментарий
  • 0

Если задача сводится к отображению только системы линейных уравнений, то, мне кажется, через отрисовку на канве будет наиболее просто.
1. Создать с помощью TPath векторный шаблон для фигурной скобки слева (если ее вообще нужно отрисовывать). Что-то типа: стандартные размеры для концов и центра + растягиваемые прямые линии, длина которых зависит от количества уравнений и размера шрифта.
2. Отображение самих уравнений. Верхний ряд напротив верхнего конца фигурной скобки, нижний - нижнего, промежуточные - с равным интервалом между ними.

Если возьметесь и сделаете, то потом будет значительно проще и у вас будет собственный инструмент, который сможете корректировать в случае чего - например, добавлять степени, дробь, корни и т.д.

P.S. У меня был когда-то вопрос об отображении степеней. В итоге сделал через канву.

Изменено пользователем Alex7wrt
Ссылка на комментарий
  • 0
5 часов назад, Alex7wrt сказал:

Если задача сводится к отображению только системы линейных уравнений, то, мне кажется, через отрисовку на канве будет наиболее просто.
1. Создать с помощью TPath векторный шаблон для фигурной скобки слева (если ее вообще нужно отрисовывать). Что-то типа: стандартные размеры для концов и центра + растягиваемые прямые линии, длина которых зависит от количества уравнений и размера шрифта.
2. Отображение самих уравнений. Верхний ряд напротив верхнего конца фигурной скобки, нижний - нижнего, промежуточные - с равным интервалом между ними.

Если возьметесь и сделаете, то потом будет значительно проще и у вас будет собственный инструмент, который сможете корректировать в случае чего - например, добавлять степени, дробь, корни и т.д.

P.S. У меня был когда-то вопрос об отображении степеней. В итоге сделал через канву.

Мне нужны не только системы, вообщем весь проект состоит в том что бы решать разные школьные задачки и показывать ход решения, в случае VCL я этот проект сделал, теперь задача №2 портировать на мобильные устройства, используя все тот же Delphi

Ссылка на комментарий
  • 0

да не так уж и сложно нарисовать формулу. Вы дольше проищете

и фигурная скобка это два вызова PolyBezier

сложно рисовать там знаки корня, интегралы, сигмы всякие. но тут я думаю, этого и нет

выделите, что минимально вам надо.   Скобки, степень, нижний индекс, арифметика. Вот и все

Ссылка на комментарий
  • 0
5 часов назад, krapotkin сказал:

да не так уж и сложно нарисовать формулу. Вы дольше проищете

и фигурная скобка это два вызова PolyBezier

сложно рисовать там знаки корня, интегралы, сигмы всякие. но тут я думаю, этого и нет

выделите, что минимально вам надо.   Скобки, степень, нижний индекс, арифметика. Вот и все

Скобки, степень, нижний индекс, интегралы, пределы, логарифмы, вообщем вся школьная математика. Человеку который не работал даже с простой графикой очень сложно подобное осуществить

Ссылка на комментарий
  • 0
В 29.09.2016 в 08:44, Дмитрий Ш. сказал:

Для VCL есть пример с исходниками на странице http://aleksandr-pro.ru/project2.php

для VLC эту проблему я решил уже три месяца назад, но вот для FMX это проблема

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...