我有一系列的点(x,y,z),我想将它们绘制为3D平面中的向量。Something like this.
我在其他地方成功地使用了QCustomPlot,但文档中说它不能用于3D绘图。谷歌发现了QwtPlot3D,但据我所知,它自2007年以来就没有维护过,自从我使用Qt5以来,我不想遇到任何问题。我也在查看QtCharts,但似乎找不到任何绘制x,y,z数据点的示例。
有谁有在我的C++/Qt应用程序中包含3D图形的提示吗?有没有比C++更适合用Qt的Python的工具呢?或者完全是另一种技术?此图形将成为更大的UI的一部分。
发布于 2016-03-03 13:04:05
这可能会有帮助,尽管我还没有用过它:
http://doc.qt.io/QtDataVisualization/
花点时间研究一下OpenGL。要在Qt中显示OpenGL场景,可以使用QGLWidget (对于Qt 4.x)或QOpenGLWidget (对于Qt 5.x)。OpenGL允许你编写在GPU卡上运行的图形,这意味着你可以利用3D视频游戏的相同能力。给定时间和倾斜度,您可以构建一个很好的3D图形库。
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
教程倾向于从“立即模式”示例开始,这意味着CPU不断地更新数据并将该数据写入GPU。一旦掌握了基础知识,你就会想要实现“保留模式”代码,这意味着(非常松散地) GPU管理数据,对CPU资源的需求被最小化。
话虽如此,进入OpenGL是一种承诺。如果您希望用户能够更改图表的视点,或放大/缩小,或将鼠标悬停在绘图上以检查单个值等,则需要一些时间才能实现。对于一个使用如此广泛的标准来说,文档和可用的教科书并没有更好,这是很奇怪的--不要指望能找到与Kernighan & Ritchie或Perl camel书等同的OpenGL教科书。
可能会有一些Qt 3D图形项目在某个地方得到了积极的开发,如果幸运的话,可能会有其他一些项目,这样用户就会知道其中一个项目。
https://stackoverflow.com/questions/35758555
复制相似问题