Вопрос

Существует ли фабрикальная библиотека C ++, которая может отображать визуальные графики (такие как гиперболас и параболы и линейные уравнения) на основе уравнения, которое приведено, и это кроссплатформенная платформа? Или я просто прошу слишком много ...

Это было полезно?

Решение

Давайте возьмем свой вопрос шаг за шагом.

  1. «На основании уравнения [что] дано« это потребует от вас, чтобы написать парсер выражения; C ++ не может интерпретировать уравнения «на лету», не написав процедуру, чтобы сделать это. Для этого я рекомендую смотреть на Бизон (Перейдите прямо к примеру RPN Calc, чтобы получить идею).

  2. Для библиотек вы можете получить любой инструментарий GUI для C ++; Есть десятки; Рекомендация для QT, вероятно, является самой честной. Проверьте также Википедия. Отказ Тебе нужно Любые Toolkit, который предоставит вам холст где ты можешь краска или оказывать линии или сплайны. Это не тривиально, но и не сложно.

Ваша программа, вероятно, будет работать следующим образом:

  1. Получите математическое выражение (или параметры для известной функции; как оси и центр эллипса).
  2. Генерировать набор точек (это делается с петлей в C ++)
  3. Упаковать те очки и отправили их в краска или оказывать Способ вашего инструментария (с соответствующим масштабированием / нормализацией

Опять же, это не тривиально, но не сложно.

Вы воспитываете колесо, но я высоко оцениваю вас за это.

Ваше здоровье,

J.

Другие советы

Матч Иметь анализатор экспрессии и может построить функцию, указанную текстовой формулой (с множеством специальной функции включена). Также вы можете создавать набор данных, заполнить его по формуле и сюжету косвенные функции (например, эллипс, A * X ^ 2 + B * x ^ 2 = 1).

Посмотри на Qt.. Отказ Возможно, у него могут быть некоторые графические возможности. И есть Gnuplot.. Отказ Это очень обширно, так что это может быть слишком сложным для ваших потребностей, хотя. Это кроссплатформенная и есть API C ++.

Если все, что вас интересуют, это окончательный выход, а не на стороне программирования вещей; Возможно, вы захотите попробовать взаимодействие с чем-то вроде gnuplot ( http://www.gnuplot.info/ ).

Если вы заинтересованы в большем, я бы порекомендовал смотреть на страницу «ссылки». Это предлагает кучу интерфейсных библиотек и повторных реализаций (в основном для языков unce_, из того, что я могу видеть).

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top