![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
TiiL |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
рисую график состоящий из точек(кружков):
Раскрывающийся текст
Всё хорошо рисует, но рисуется толстенная линия по оси X цвета того же что и drawEllips, где я задаю её рисовать? всё перепробовал(
Эскизы прикрепленных изображений
|
|
|
wiz29 |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
приведи весь код процедуры рисования пожалуйста.
|
|
|
TiiL |
![]()
Сообщение
#3
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Вот:
![]() Сообщение отредактировал TiiL - 7.2.2012, 7:36 |
|
|
wiz29 |
![]()
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
Привет, посмотрел твой код. Тебе нужно сделать следующее. Разделить вычисление данных графиков и представления. По коду можно разобрать что в конечно итоге тебе хочется построить, но подход в корне неверный.
1. Непонятно зачем держать не инициализированные изначально переменные
2. у тебя нет четко представления о связи математических координат с координатами представления (куда ты рисуешь) (если ты посмотришь на циклы, то там мягко говоря неимоверное кол-во ненужных итераций) Чтоб не тратить время опиши задачу, которую ты хочешь решить. Из функции рисования видно, что нужно построить графики на некоторой области, напиши математическую постановку задачи и тогда будет проще подсказать тебе как делать более правильно. |
|
|
TiiL |
![]()
Сообщение
#5
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо за отклик,wiz29.
1-ое хотелось бы просто научиться рисовать оси и на нём графики, дальше научиться рисовать логарифмические оси. 2-ое рисовать графики с данными значениями х и у, 3-ие чтобы оси и графики были связанны, а не так что оси показывают свои какие то числа, а график рисуется по своим числам. а дальше уже украшение этого всего скролами по осям, различными зумами, выделение точек координат например кружочками или како-нить другой бижютерией. |
|
|
wiz29 |
![]()
Сообщение
#6
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
А почему не хочешь использовать Qwt?
1-ое хотелось бы просто научиться рисовать оси и на нём графики, дальше научиться рисовать логарифмические оси. Для этого тебе нужно иметь математическое представление о том, что попадает на viewport, т.е. каким образом математическое описание пространства будет проецироваться на порт просмотра. Например, я хочу видеть видеть на экране порта просмотра (viewport'a) пространство с началом координат размещенном в центре окна, и интервалами по Х [-5;5] по Y[-10, 10] исходя из размера viewport я могу произвести нужные мне вычисления для отрисовки осей и сеток координат. Либо могу задать другое описание: например матрицей трансформации для преобразования реальных координат точек в координаты порта просмотра. Таких описаний можно много придумать. 2й способ наиболее близок к жизни. 2-ое рисовать графики с данными значениями х и у, Имея мат. представление о пространстве и определенных характеристиках порта просмотра мы можем вычислять значения (с нужным шагом) функций, которые используем для построения графиков. Шаг можно выбирать в зависимости от задач детализации или от информации о поведении функции, тут подходы могут быть различными. Например нет смысла вычислять точки чаще чем 1px на экране, если график задан аналитически и мы знаем функцию вычисления значений. 3-ие чтобы оси и графики были связанны, а не так что оси показывают свои какие то числа, а график рисуется по своим числам. а дальше уже украшение этого всего скролами по осям, различными зумами, выделение точек координат например кружочками или како-нить другой бижютерией. Ну бижутерия уже определяется специализацией софта как правило. |
|
|
TiiL |
![]()
Сообщение
#7
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
мне кажется я с qwt еще больше закапаюсь и увязну(
всё что ты описал прокоментирую так: "Куда же я полез, я же даже читать не умею" Сообщение отредактировал TiiL - 7.2.2012, 10:55 |
|
|
wiz29 |
![]()
Сообщение
#8
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
ну к Qwt зря так относишься, неплохой framework для рисования графиков, задача рисования осей и меток к ним совсем не тривиальная как может показаться на первый взгляд. Советую использовать готовые решения, там где это можно, если они удовлетворяют требованиям.
|
|
|
TiiL |
![]()
Сообщение
#9
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ну вот нашел такой примерчик, ну вот проблема в дизайнере видны виджеты qwt, а в креаторе нет, а можно будет ли в дизайнере создать формочку но присоеденить к моему проекту чтобы я мог ссылаться на него?
вот так подключаю FORMS += qwtplot.ui .h:
.сср:
а выдаёт вот такое mainwindow.cpp: In constructor 'MainWindow::MainWindow(QWidget*)': mainwindow.cpp:5: error: invalid use of incomplete type 'struct Ui::qwtplot' mainwindow.h:13: error: forward declaration of 'struct Ui::qwtplot' mainwindow.cpp:7: error: invalid use of incomplete type 'struct Ui::qwtplot' mainwindow.h:13: error: forward declaration of 'struct Ui::qwtplot' вопрос снялся... буду изучать(ковырятсья) с qwt Сообщение отредактировал TiiL - 7.2.2012, 13:06 |
|
|
TiiL |
![]()
Сообщение
#10
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо, wiz29. Начал я играться с QWTвозникли конструктивные вопросы:
рисую кривые вот так так:
а вот curv2 (например) хочется рисовать не линиями а вот только кружочками, тоесть только координаты точек. как это реализовать? и второй вопрос: хотелось бы "нулевые" линии сетки графика выделить как-нить, как это сделать? |
|
|
Sokoloff |
![]()
Сообщение
#11
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
Ну и еще вдогонку. Классика жанра
http://lib.rus.ec/b/180308/read глава Двойная буферизация. |
|
|
TiiL |
![]()
Сообщение
#12
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ребята помогите с задачкой: Перересовка графика если checkBox-е поставили галочку.
|
|
|
AD |
![]()
Сообщение
#13
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
ребята помогите с задачкой: Перересовка графика если checkBox-е поставили галочку. Я на этом форуме приводил решение отрисовки графиков без использования Qwt. Поищите! По-моему, называлось как-то аналогично словам "графики", "рисование графиков". Для отрисовки был изначально использован пример из книжки Бланшетт и Саммерфилда, а потом слегка доработан. Так что можно и его использовать! Порылся поиском. Нашел. Сообщение от 27 сентября 2009 года - http://www.forum.crossplatform.ru/index.ph...=2307&st=30 Не говорю, что идеальное решение, но в принципе, довольно простое по своей сути. Комментарии отображаются плохо, но если посмотреть тему с самого начала, то можно разобраться! |
|
|
TiiL |
![]()
Сообщение
#14
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ПРошу тему переименовать в "вопросы по QWT графика". заранее спасибо
Хочу узнать как в QWT шкалы подписывать не только 1 , 2 , 3 и так далее, а и промежуточные 1.25 , 1.5 , 1,75 (например), и тоже самое хотелось бы реализовать с логарифмическими осями. и Второй вопрос подписи осей например Х и Y хотелось бы чтобы рисовалась в конце координатной оси, и вопрос по подписям по Y почему она подписывается по горизонтали( всмысле как будто лежит на левом боку) как это исправить? |
|
|
TiiL |
![]()
Сообщение
#15
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
НУжна функция в qwtPlot которая просто добавляет кривую, не перерисовывая то что нарисованно до этого момента. Если такое вообще?
|
|
|
zuze |
![]()
Сообщение
#16
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
У меня маленький вопросик и не хотел для этих целей создавать отдельную тему, а эта тема по названию вроде общая по графике.
Я рисую картинку в paintEvent с помощью двух циклов (циклы большие), после этого выводится линия которая передвигается на определённое расстояние. Но при выводе этой картинки из двух циклов, скорость передвижения линии падает, а если не выводить картинку, то линия выводится и передвигается как обычно. Как я понял из-за того, что paintEvent выполняется многократно у меня замедляется передвижение линии. Может кто знает, как правильно в таких случаях выводить? |
|
|
mezmay |
![]()
Сообщение
#17
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: ![]() ![]() ![]() |
в циклах вызвается update() или циклы внутри paintEvent?
|
|
|
zuze |
![]()
Сообщение
#18
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Алексей1153 |
![]()
Сообщение
#19
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
zuze, обсчитывай и рендерь картинку в отдельном потоке , а на виджет бацай по сигналу окончания рендера. Тормозить в крайнем случае будет только счётчик FPS
![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 11.6.2025, 19:52 |