基于qwt3D 的3D航迹图的实现

前言

使用qt实现三维空间直角坐标系中的航迹实时绘制网上很难查到资料。在qt下实现3D绘图通常实现方式有OpenGL,VTK,qwt3d,QtDataVisualization等,Qcharts,QCustomPlot只支持2D绘图。
这里给出笔者基于QcustomPlot封装的实时曲线图和二维航迹图。

对于3D实时航迹的绘制,在QtDataVisualization下并没有找到类似的例子,而使用OpenGL和VTK实现则太复杂,坐标轴,网格,图例等都要自己画。qwt3d是一个比较老的库,很早就不更新了,但是可以实现3D坐标系的绘制和参数曲面的绘制。因此打算修改qwt3d库源码,使其可以绘制曲线。经过调研,已经有人这么做了,参考博客。在该文博主帮助下,终于实现了3D航迹图的绘制。
实现效果:

可以看到本文实现可同时显示多条航迹,具有实时增加和删除航迹,修改航迹颜色等功能。

代码实现:

修改qwt3d源码

首先按照博客 修改qwt3d源码,然后编译出lib和dll。

绘图类定义

定义一个继承自Qwt3D::Surfac

你可能感兴趣的:(qt)