设计家装修网站,中国建设投资集团 网站首页,南通网站建设排名,阿里云已备案域名出售文章目录 功能实现定义的结构体定义的函数效果图gitee源码链接 功能实现
相较于上一版#xff0c;这一版添加的功能有#xff1a; 1、自适应窗口 2、扫描方式#xff08;圆周扫描、扇形扫描#xff08;指定起始角度和结束角度#xff09;#xff09; 3、扫描方向#x… 文章目录 功能实现定义的结构体定义的函数效果图gitee源码链接 功能实现
相较于上一版这一版添加的功能有 1、自适应窗口 2、扫描方式圆周扫描、扇形扫描指定起始角度和结束角度 3、扫描方向顺时针/逆时针 4、目标点的批号 5、航迹线的绘制 6、方位量程绘制 7、鼠标左键点击显示当前点相对于圆心的距离和方位 8、鼠标滚轮放大缩小。 9、封装接口。
定义的结构体
//枚举扫描方式
enum ScanModeEnum{/// 圆周扫描CircleScan 0,// 扇形扫描SectorScan
};
//枚举扫描方向
enum ScanDirectionEnum{ClockWize 0, //顺时针扫描AntiClockWize //逆时针扫描
};//目标信息
struct TargetInfo
{std::string sTargetId; //批号std::string sTOA ; //到达时间double dAzimuth ; //方位double dPitch ; //俯仰double dDistance; //距离double dFrequency ; //射频double dPulseWidth ; //脉宽double dPulseAmplitude ; //脉幅0.5-4。5double dPRI ; //脉冲重复周期double dRCS ; //目标反射面积int nAttr; //目标属性0我方;1:敌方2中立3不明};定义的函数
//----------------------------------------------------
// 函数名称Start
// 作用开启雷达扫描定时器
// 参数参数一int类型表示定时器间隔默认为500ms
//-----------------------------------------------------
void Start(int nScanPeriod 500);//----------------------------------------------------
// 函数名称Stop
// 作用关闭雷达扫描定时器
// 参数无参数
//-----------------------------------------------------
void Stop();//----------------------------------------------------
// 函数名称Init
// 作用初始化雷达扫描基本数据
// 参数参数一int类型表示最大探测距离即雷达扫描图半径默认300
// 参数二int类型表示等分数即雷达扫描图圈数默认5圈
// 参数三int类型扫描周期默认500毫秒更新一次
// 参数四int类型扫描波束宽度默认为10度
// 参数五bool类型是否显示轨迹true表示显示轨迹
//-----------------------------------------------------
void Init(int nMaxDetectionDistance 300,int nEqualParts 5,int nScanPeriod 500,int nBeamWidth 10,bool bShowTrack false);//----------------------------------------------------
// 函数名称SetShowTrack
// 作用设置是否显示航迹(一个目标的各个坐标点之间的连线成为航迹)
// 参数参数一bool类型是否显示轨迹true表示显示轨迹
//-----------------------------------------------------
void SetShowTrack(bool bShowTrack false);//----------------------------------------------------
// 函数名称SetScanPeriod
// 作用设置扫描周期停止-设置扫描周期-开始
// 参数参数一int类型默认为500ms
//-----------------------------------------------------
void SetScanPeriod(int nScanPeriod 500);//----------------------------------------------------
// 函数名称SetScanParams
// 作用设置扫描参数 停止-设置扫描参数-开始
// 参数参数一ScanDirectionEnum类型扫描方式
// 参数二ScanModeEnum类型扫描方向
// 参数三int类型扫描波束宽度默认为10度
// 参数四int类型起始角默认从0度开始
// 参数五int类型结束角默认360度结束
//-----------------------------------------------------
void SetScanParams(ScanDirectionEnum scanDirection ClockWize,ScanModeEnum scanMode CircleScan,int nBeamWidth 10,int nStartAngle 0,int nEndAngle 360);//----------------------------------------------------
// 函数名称SetData
// 作用设置单点坐标数据
// 参数参数一TargetInfo类型
//-----------------------------------------------------
void SetData(TargetInfo ti);//----------------------------------------------------
// 函数名称SetData
// 作用设置多点坐标数据
// 参数参数一std::vectorTargetInfo类型
//-----------------------------------------------------
void SetData(std::vectorTargetInfo ti);//----------------------------------------------------
// 函数名称SetColor
// 作用设置航迹线颜色
// 参数颜色的rgb数值
//-----------------------------------------------------
void SetColor(int r, int g, int b);效果图
扫描方式圆周扫描
扫描方向顺时针
显示目标航迹线目标批号
目标消失 扫描方式扇形扫描
扫描方向无(扇形扫描没有顺时针或逆时针)
扫描波束宽度10度
扫描范围0~90度 目标消失
鼠标左键点击显示当前位置相对于圆心的距离和方位 gitee源码链接
https://gitee.com/hnSVN/radar_scanning_project