Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Qt

Войти
Регистрация
Восстановить пароль
 
LeviSkay
0 / 0 / 1
Регистрация: 10.01.2017
Сообщений: 5
#1

Рисование точек на графике в качестве неких объектов - C++ Qt

11.01.2017, 04:40. Просмотров 169. Ответов 1
Метки нет (Все метки)

Снова доброй ночи, уважаемый форум. Задача стоит следующая: существует массив типа complex<double>[1024] хранящий в себе координаты точек на комплексной плоскости. Некий цикл бегает по этому массиву, считывает старое значения complex<double>[i], стирает точку с данными координатами, заносит в i-тый элемент массива новую точку, рисует ее.
На данный момент код построен с помощью QGraphicView и QScene
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
std::complex<double> array[1024];//глобальный массив
/////////
QGraphicsScene *scene = new QGraphicsScene(ui->graphic);
    scene->setSceneRect(-250,-250,500,500);
    scene->addLine(-250,0,250,0,QPen(Qt::green));//x ось
    scene->addLine(0,-200,0,200,QPen(Qt::green));//y ось
    ui->graphic->setScene(scene);
 
    //run = 1;
    QPen pen(Qt::red,3);
    QPen clear(Qt::white,3);
 
 
    for (int i = 0; i < 1024; i++)
    {
 
        scene->addLine(array[i].real(), array[i].imag(), array[i].real(), array[i].imag(), clear);
        //очистка
        array[i] = input.put_sample();
        //новые координаты
        array[i].imag() *= 150;
        array[i].real() *= 150;
        //калибровка для наглядного отображения
        scene->addLine(array[i].real(),array[i].imag(),array[i].real(),array[i].imag(),pen);
        //отрисовка новых координат
        if (i == 1023);
            i = -1;
        //организация бесконечного цикла
    }
Хотелось бы, чтобы точки были в качестве некоторых объектов, которые можно было бы добавлять на какой-либо график и так же удалять. Ибо такое точечное рисование приводит как минимум к стиранию части соседних, впритык расположенных точек. Что можете посоветовать? Будет ли такая реализация эффективнее? Есть ли другие варианты по организации бесконечного цикла? Конечно же этот цикл не будет работать вечно, над всем этим будет некая управляющая конструкция, которая отключит дальнейшее отображение кнопкой Стоп.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2017, 04:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рисование точек на графике в качестве неких объектов (C++ Qt):

Отображение значения точек на графике - C++ Qt
Собственно строю график функции с помощью QGraphicsScene и необходимо отображать координаты под мышкой, проблема собственно в том что я не...

Qt рисование и столкновение объектов - C++ Qt
Здравствуйте, у меня вопрос, у меня имеется задача. Нарисовать шарик, отскакивающих от своих границ. Какие функции посоветуете использовать?

Рисование точек по координатам - C++ Qt
Доброго времени суток. Хочу сделать некий виджет, как локатор....т.е начерчены окружности, посылаешь координаты и рисуются точки(их...

Рисование множества точек при получении пакета с сети - C++ Qt
Здравствуйте! Такая проблема - приходят данные по сети с широковещательного сообщения. При получении пакета, нужно нарисовать точку, причем...

Как нарисовать много точек, если в классе Graphics рисование точек не предусмотрено вообще? - C#
Делаю свой граф. редактор. В нем нужно линии строить так, чтобы они состояли из точек. DrawPoint в классе Graphics нет, как быть? если...

Рисование Рисование точек по координатам - C#
Доброе время суток. Помогите мне наглядным примером. У меня есть массив координат a х у 1 2 3 4 1 3 кпримеру, мне нужно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Горбаг
111 / 111 / 37
Регистрация: 25.09.2014
Сообщений: 566
Завершенные тесты: 2
17.01.2017, 13:37 #2
Точки делать через QGraphicsEllipseItem, не? И вместо затирания/нового рисования просто смещать координату объекта. Сцена за тебя сделает все остальное.
Еще можешь посмотреть в сторону QCustomPlot. Ибо я не знаю твоей первоначальной цели. Но мало ли.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2017, 13:37
Привет! Вот еще темы с ответами:

Рисование 2х гистограмм Google Charts на 1 графике - JavaScript
Доброго времени суток! Столкнулся с такой проблемой: нужно нарисовать 2 гистограммы (там график выполнения показателя за текущий месяц...

Построение точек на графике - Delphi
Проводиться серия опытов из которых мы получаем точки X и Y. Точек может быть разное каличество, потому я использую SpinEdit1 чтобы...

Подпись точек на графике - Maple
Добрый вечер! В вобщем такая вот проблема,Error, (in plots:-display) expecting plot structures but received: Несколько дней роюсь в...

Соединение точек на графике - Pascal
Помогите соединить точки на графике экспотенциальной/логарифмической функцией в этой программе program lr12; Uses crt,graph; Const...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru