2011-11-04 3 views
0

Да, я хочу построить функцию, но проблема в том, как это сделать правильно? Существует ли какой-либо метод? У меня математический анализатор для заданных строковых функций, так что здесь есть не проблема ... Я хочу знать, как это сделать:Как правильно построить функцию?

  1. Plotting
  2. Zoom-в Отдалиться
  3. Перемещение с помощью клавиш (я знаю, как управлять клавиатурой)

Как вы можете видеть, я знаю программирования, но проблема является лучшим методом ...

Любая книга? Есть идеи?

Спасибо!

PS: Функции 2D.

+2

вопрос слишком расплывчатый. Какова ваша экология? Язык программирования? – Simon

+0

Object Pascal - Python - C/C++, это не против, потому что я знаю программирование, но я не знаю, какой лучший способ построить функцию ... Если вы хотите дать мне графические библиотеки, я немного знаю 'bout it ... – mrdaandy

ответ

2

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

SciPy/matplotlib 
gnuplot 
Matlab 
Mathematica 

это означает, как минимум дополнительный код должен быть написан!

+0

Я никогда не использовал библиотеку внешней программы ... У вас есть пример для ее использования? – mrdaandy

+1

Вы можете открыть трубу (например, с помощью 'popen', по крайней мере, в системах Posix) с помощью команды' gnuplot'. –

+0

+1 для matplotlib. Тут же неплохо. http://matplotlib.sourceforge.net/users/pyplot_tutorial.html – Simon

0

Иногда вы можете использовать внешнюю программу для построения функции, например, через GNUplot. Но не каждая функция может быть красиво построена (потому что, например, она может быть непрерывной, но не выводимой, или потому, что ее производная функция не ограничена ... например, x*sin(1/x) ...)

В основном вы выполняете функцию, используя рисунок, например. полигональная линия между точками (x_i, f (x_i))

Возможно, ваш вопрос заключается в том, как рисовать графику на экране. Вы можете использовать графические пользовательские интерфейсы (например, Qt и его Graphics View Framework и т. Д.)

+0

Нет Я знаю, что горячо рисовать графику на экране ... Я знаю алгоритм: x = Значение, y = Object.Evaluate_Function (x), graph (x , y) ... Но у меня проблемы с методами масштабирования - уменьшения масштаба ... – mrdaandy

+0

Я не понимаю, как вы увеличиваете масштаб - уменьшите масштаб. Масштабирование - это просто аффинное изменение координат (за которым следует прямоугольное обрезание). И ссылки Qt, которые я дал, очень удобны для этого. –

+0

Да! Вот проблема ... Как правильно выполнить изменение координат и прямоугольную обрезку ... – mrdaandy

Смежные вопросы