Компоненты в С++ для рисования графиков

zrab

Я на комп установил Visual C++ Express. Какой компонент нужно добавить на форму, чтобы на ней отображались графики (значение f(x) )? В качестве аргументов x функции f(x) я собираюсь вводить значения прямо в коде, f(x) - известная функция.

salora

я в прошлом году специально для этого графика заботал Qt.

zrab

А что это за зверь?

yolki

QT - в пяти словах: библиотека для рисования графических интерфейсов.
графики нужно интерактивно?
а то вот тебе пример, как в ТеХе/метапосте можно графики любой функции рисовать:
a.dat (набор строк x f(x) ):

0.0000 0.0000
0.5000 0.4794
1.0000 0.8415
1.5000 0.9975
2.0000 0.9093
2.5000 0.5985
3.0000 0.1411
3.5000 -0.3508
4.0000 -0.7568
4.5000 -0.9775
5.0000 -0.9589
5.5000 -0.7055
6.0000 -0.2794

a.mp

input graph;

beginfig(1);
draw begingraph(10cm,10cm);
gdraw "a.dat";
endgraph;
endfig;

end

a.tex

\documentclass{article}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\usepackage{graphicx}
\usepackage{indentfirst}
\begin{document}
\includegraphics{a.1}
\end{document}

метапост входит в комплект ТеХа.
результат:

Olenenok

Ещё можешь посмотреть gnuplot, я его использовал уже во втором семестре

zrab

QT - в пяти словах: библиотека для рисования графических интерфейсов.
графики нужно интерактивно?
В документации есть про нее что-нибудь (сейчас просто не под рукой комп, за другим сижу)? А графики мне нужны с бесконечными рядами. Точнее, функция задается рядом, который содержит очень большое число членов (1000 - 1000000). Мне кажется, менее геморно будет прогу написать.

Olenenok

Считаешь, загоняешь в файл, потом читаешь про gnuplot.

Andbar

Если портабельность не волнует и устроит график в отдельном окошке, могу дать dll-ку, в которой скомпилен дельфишный TeeChart.
Умеет: создавать окошки с графиками, добавлять серии одного из основных типов (линия, область, точки, столбики, секторы круга и пузыри в каждой из которых пока можно только манипулировать с данными (очищать, добавлять а настройка вида графика может осуществляться вручную уже после отображения графика. Я это дело использовал в консольной программе, экспортируемые функции возвращают управление сразу после обработки полученных данных, а основной цикл находится в другом потоке.
К dll-ке прилагается либ-файл (хотя его можно сделать самостоятельно заголовки с краткими коментариями, что к чему, для Delphi и для фортрана (пришлось использовать этот недоязык в дипломной). Заголовков для C/C++ не делал, но ничего сложного в этом нет, там три экспортируемые функции.
Я не помню точно возможностей TeeChart, но если создавать серию типа FastLine, она должна отображаться достаточно быстро. Только перед выведением такого количества данных я бы задумался - нужно ли столько точек? Если функция гладкая, то я бы пропускал половину точек (или даже больше)

yolki

обычно в таких случаях разделяют счётную и интерфейсную части.
делают три модуля:
1) препроцессор - ГУЙ для задания всяких начальных условий
2) счётчик - собственно считалка
3) постпроцессор - ГУЙ для медитации над результатами
у такого подхода есть очень много плюсов, вот несколько:
1) гуй и счёт разделены — их можно ваять на разных языках. гуёвое на гуёвом (хоть на java с AWT счётное на счётном (фортран)
2) потоки данных станут более понятными
3) счётчик [иногда] можно распараллелить - длинно или коротко. А параллелить прогу с гуём очень напряжно.

agent007new

Qt - платная библиотека, есть ChartDirector - библиотека для рисования графиков. Она тоже платная, но есть бесплатный вариант - там просто на каждой картинке будет их логотип

Olenenok

Qt - платная библиотека
посмотрел бы хоть для приличия, что это такое...

agent007new

посмотрел бы хоть для приличия, что это такое...
Сорри, не знал, что она еще и по ГПЛ идет
Оставить комментарий
Имя или ник:
Комментарий: