Название: Построение графиков Отправлено: daimon от Март 29, 2010, 21:43 Имеет ли смысл сортировать вектор координат (математических) для построения графика?
Или тогда теряется смысл графика? Название: Re: Построение графиков Отправлено: Karl-Philipp от Март 29, 2010, 23:47 Имеет ли смысл сортировать вектор координат (математических) для построения графика? Если график только для отрисовки, то смысл его сортировать?Или тогда теряется смысл графика? В принципе отсортировать можно, если не будет соединительных линий между точками :-) Есть Доступ к элементам структуры с помощью итератора:struct tabl { double x,y; } /// QVector<tabl> table QVector<tabl>::iterator it; Как получить значения из итератора it? (*it).x Название: Re: Построение графиков Отправлено: daimon от Март 29, 2010, 23:54 Как перебрать все стандартные цвета в Qt:: с помощью rand() % x?
всего цветов 18 Какой x? Для цветов мне нужно только число типа int. Как вызвать по числу типа int чёрный цвет? QColor(Qt::black), а по числу как Название: Re: Построение графиков Отправлено: JayFOX от Март 30, 2010, 00:12 Код: QStringList QColor::colorNames () [static] Код: QStringList list = QColor::colorNames(); Название: Re: Построение графиков Отправлено: daimon от Март 30, 2010, 00:18 Код: QStringList QColor::colorNames () [static] Код: QStringList list = QColor::colorNames(); Название: Re: Построение графиков Отправлено: JayFOX от Март 30, 2010, 00:23 А зачем Qt::..
list.at(7) вернет имя цвета тогда QColor(list.at(7)) Название: Re: Построение графиков Отправлено: daimon от Март 30, 2010, 00:31 А зачем Qt::.. Зачем использовать список-лишняя память.list.at(7) вернет имя цвета тогда QColor(list.at(7)) Название: Re: Построение графиков Отправлено: lit-uriy от Март 30, 2010, 00:31 >>Или тогда теряется смысл графика?
Смотря что в векторе, если номеру позиции в векторе соответсвует координата Х, а значению в этой позиции - координата Y. То конечно ты испортишь график Название: Re: Построение графиков Отправлено: daimon от Март 30, 2010, 00:36 >>Или тогда теряется смысл графика? Сортиррую я строками вектора по хСмотря что в векторе, если номеру позиции в векторе соответсвует координата Х, а значению в этой позиции - координата Y. То конечно ты испортишь график Название: Re: Построение графиков Отправлено: daimon от Март 30, 2010, 00:39 graph_line.setColor(QColor(int(rand()%256),int(rand()%256),int(rand()%256))); а если так
Название: Re: Построение графиков Отправлено: daimon от Март 30, 2010, 01:16 Как отобрать только 12-13 цветов (без оттенков)?
Название: Re: Построение графиков Отправлено: voronElf от Март 30, 2010, 05:32 Видимо, инициализировать список цветов нужными(понравившимися) цветами и выбирать из него
Название: Re: Построение графиков Отправлено: daimon от Март 30, 2010, 23:14 QColor(Qt::red) - красный цвет, значение 7, а как записать, чтобы отправлять в QColor число 7 и была иниционализация красным цветом.
Название: Re: Построение графиков Отправлено: ieroglif от Март 31, 2010, 00:51 прочитайте любую книгу из серии "С++ за 21 день" или "С++ для чайников" - это вам, Даймон, будет 100крат полезнее, и на многие другие вопросы вы тоже получите ответы автоматически ;)
Название: Re: Построение графиков Отправлено: daimon от Апрель 03, 2010, 14:16 есть
Код ////////////////////////////////////////////////////////////////////////////// Вопрос при вызове add добавляются кривая, graph-объект класса SettingsGraph Код
Проблема- при удалении крывой из вектора curves класса SettingsGraph происходит прикол например, есть 2 точки (-1000,2) (3,100) вызову 2 раза подряд add(-1000,2) add(3,100) в итоге в curves будет 2 элемента - curves [2] - + table [1]({x_tabl=-1000.0000000000000 y_tabl=2.0000000000000000 x_widget=0.00000000000000000 ...}) QVector<tabl> maxX_graph_one -1000.0000000000000 double minX_graph_one -1000.0000000000000 double minY_graph_one 2.0000000000000000 double maxY_graph_one 2.0000000000000000 double - [1] + table [1]({x_tabl=3.0000000000000000 y_tabl=100.00000000000000 x_widget=0.00000000000000000 ...}) QVector<tabl> maxX_graph_one 3.0000000000000000 double minX_graph_one 3.0000000000000000 double minY_graph_one 100.00000000000000 double maxY_graph_one 100.00000000000000 double //////////////////////////////////////////// вызвав функцию graph.delete_curves_one(0); получаю - curves [1] - maxX_graph_one -1000.0000000000000 double minX_graph_one -1000.0000000000000 double minY_graph_one 2.0000000000000000 double maxY_graph_one 2.0000000000000000 double Как решить прикол с вектором curves - удаление элементов происходит неправильно?? Название: Re: Построение графиков Отправлено: ieroglif от Апрель 03, 2010, 15:55 извини, ломает разбираться с твоим кодом.
Код: void MyDrawWidget::paintEvent(QPaintEvent *) { Название: Re: Построение графиков Отправлено: daimon от Апрель 03, 2010, 16:06 Я решил - в перегрузку = Data добавил всё для мин макс
Название: Re: Построение графиков Отправлено: daimon от Апрель 03, 2010, 16:08 QMap больше памяти жрёт чем вектор
Название: Re: Построение графиков Отправлено: ieroglif от Апрель 03, 2010, 16:27 ты меня извини, конечно, но напиши для начала что-то работающее, а потом уже разбирайся с быстродействием/памятью ;)
Название: Re: Построение графиков Отправлено: daimon от Апрель 03, 2010, 18:37 vector<int> лучше, чем QMap<int,int>
Название: Re: Построение графиков Отправлено: daimon от Апрель 05, 2010, 22:12 Что лучше каждый раз перерисовывать pixmap и его рисовать или нарисовать один pixmap и его трансформировать (сохраняя пропорции)? img=pixmap.scaled(size().width(),size().height(),Qt::KeepAspectRatio,Qt::SmoothTransformation);
Можна как-то уменьшить уровень сглаживания? Проблема- трансформируя средствами Qt - или слишком топорно или слишком сглажено, почему нельзя получить такой pixmap, который изначально рисует painter По моему мнению трансформацией можна оптимизировать отрисовку максимально - 10000 точек - без тормозов при изменении размера окна, что не скажешь про постоянную отрисовку QPainter (все оси, кривые, подписи) Название: Re: Построение графиков Отправлено: daimon от Апрель 06, 2010, 21:20 Есть ли возможность залить QPixmap прозрачным фоном
Название: Re: Построение графиков Отправлено: dnc2rt от Апрель 07, 2010, 07:33 Прочитай QPixmap в нем про alpha канал рассказано.
Название: Re: Построение графиков Отправлено: ieroglif от Апрель 07, 2010, 10:27 daimon, ты уже написал что-то работающее? если ещё нет - в хелпе есть абсолютно всё, что тебе надо - прекрати напрягать вопросами, ответы на которые нормальный программист пойдёт читать в хелп. если уже да и размышляешь над архитектурой приложения, быстродействием и оптимизацией - то велкам. расскажи что у тебя есть сейчас и что тебя в этом не устраивает (и где тормозной момент - его то мы тоже не телепаты угадывать).
Название: Re: Построение графиков Отправлено: daimon от Апрель 07, 2010, 20:56 Тормозной момент только один - перерисовка всего QPixmap при изменении размера окна - при любом коде(при 10 точках летает, 10000-тормоза). Так вопрос у меня один - что-то есть толковое для такого (алгоритм)
Название: Re: Построение графиков Отправлено: ieroglif от Апрель 08, 2010, 17:21 а зачем перерисовывать всё? перерисовывай только то, что попадает в отображаемый регион
ну и вообще - 10к точек всегда будут отрисовываться медленнее 10и. |