思路:通过运算公式求出在雷达图上的位置在用定位的方式展示出来
计算公式:
X=雷达图半径+雷达探测到的距离*cos雷达探测到的角度*雷达范围半径大小和雷达图半径大小的比例
Y=雷达图半径-雷达探测到的距离*sin雷达探测到的角度*雷达范围半径大小和雷达图半径大小的比例
具体实现代码:
export function positionRadar(data){
let arrayp = []
let ldradius = Math.floor(this.searchRadar.radius)*0.8 //雷达真实范围取整后按照一定比例缩小(比例可按实际情况调整)可以更准确的体现到雷达图上
let imgradius = 75 //雷达图半径
let scale = imgradius/ldradius // 雷达实际范围和雷达图半径比例
//雷达探测到的所有物体
data.forEach(element => {
let costheta = Math.cos(element.theta*Math.PI/180) //探测到物体的角度cos值
let sintheta = Math.sin(element.theta*Math.PI/180) //探测到物体的角度sin值
let positionx = 72 + element.distance*costheta*scale
let positiony = 72 - element.distance*sintheta*scale
let obj = {
positionx: positionx,
positiony: positiony
}
arrayp.push(obj) //所有物体在雷达图上的定位值
}
}