请问如何根据角度数据做出一个指南针图形界面?

2019-07-17 07:53发布

已用串口读取程序将传感器的YAW角度数据读出,如何根据角度数据来写一个2D的指南针图形界面?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
caolidong
1楼-- · 2019-07-17 13:07
我想到两种办法,(1)用opencv绘制:根据yaw角和指南针半径,实时计算表针的三角形的三个点,再用drawContours来填充三角形。
(2)使用QT:
QwtCompass *compass = new QwtCompass(this);   //新建一个compass

    compass->setLineWidth(4);                  
    compass->setScaleComponents(
            QwtAbstractScaleDraw::Ticks | QwtAbstractScaleDraw::Labels );
            compass->setScaleTicks(0, 0, 3);  //设置表盘的分度符
            compass->setNeedle(new QwtCompassMagnetNeedle(
            QwtCompassMagnetNeedle::TriangleStyle, Qt::white, Qt::red));  //这句实现箭头效果
            compass->setValue(41.0);   //41表示指南针转过41度,效果如上图。
在头文件中需包含qwt-6.0.1的一些头文件,否则编译会出错。
#include <qwt_compass.h>
#include <qwt_compass_rose.h>
#include <qwt_dial_needle.h>
20130512201618577.gif 20130512201659795.gif

woshisu
2楼-- · 2019-07-17 15:21
 精彩回答 2  元偷偷看……
527160730
3楼-- · 2019-07-17 15:29
已解决,可以用旋钮类显示控件完成功能

一周热门 更多>