2016-03-02 3 views
0

У меня есть ряд точек (x, y, z), которые я хотел бы построить как вектор в трехмерной плоскости. Something like this.Инструменты для построения данных QVector3D?

Я успешно использую QCustomPlot в другом месте, но в документации говорится, что он не может использоваться для 3D-графиков. Googling появился QwtPlot3D, но он не поддерживается с 2007 года, насколько я могу судить, и я не хочу сталкиваться с какими-либо проблемами, так как я использую Qt5. Я также смотрел на QtCharts, но не мог найти ни одного примера построения точек данных x, y, z.

Есть ли у кого-нибудь советы по включению 3D-графика в мое приложение C++/Qt? Есть ли инструмент, который лучше работает с Python с Qt, а не с C++? Или еще одна технология? Этот график будет частью большего пользовательского интерфейса.

ответ

0

Это может помочь, хотя я не использовал его:

http://doc.qt.io/QtDataVisualization/

Потратьте немного времени на поиск в OpenGL. Чтобы отобразить сцены OpenGL в Qt, вы должны использовать QGLWidget (для Qt 4.x) или QOpenGLWidget (для Qt 5.x). OpenGL позволяет писать графики, которые запускаются на графической карте, что означает, что вы можете использовать ту же мощность, что и для 3D-видеоигр. Учитывая время и наклон, вы можете создать хорошую 3D-графическую библиотеку.

https://www.opengl.org/

http://doc.qt.io/qt-5/qopenglwidget.html

Учебники Qt может помочь, но вы также хотите, чтобы читать другие OpenGL учебники. Вот некоторые учебники таргетинг старых версий Qt:

ftp://ftp.informatik.hu-berlin.de/pub1/Mirrors/ftp.troll.no/QT/pub/developerguides/qtopengltutorial/OpenGLTutorial.pdf

http://www.decom.ufop.br/sibgrapi2012/eproceedings/tutorials/t3-survey_paper.pdf

учебников как правило, начинаются с «немедленным режимом» примерами, то есть процессор постоянно участвуют с обновлением данных и записи этих данные в GPU. Как только вы поймете основы, вы захотите реализовать код «сохраненного режима», что означает (очень слабо), что графический процессор управляет данными, а потребность в ресурсах ЦП минимизируется.

Все, что сказано, попасть в OpenGL - это обязательство. Если вы хотите, чтобы пользователь мог изменять точку обзора диаграммы или увеличивать/уменьшать масштаб или наводить указатель мыши на график для проверки отдельных значений и т. Д., То для реализации потребуется некоторое время. Для стандарта, который так широко используется, странно, что документация и доступные учебники не лучше - не ожидайте найти эквивалент учебника OpenGL Kernighan & Ritchie или книгу верблюдов Perl.

Возможно, существует какой-то проект графического проекта Qt 3D, который обладает активной разработкой, и, возможно, какой-нибудь другой пользователь SO будет знать об одном.

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